一种网络优化方法和装置与流程

文档序号:23552892发布日期:2021-01-05 21:12阅读:145来源:国知局
一种网络优化方法和装置与流程

本发明实施例涉及但不限于移动通信领域,尤指一种网络优化方法和装置。



背景技术:

目前长期演进(lte,longtermevolution)中自组织网络(son,self-orgnizingnetwork)实际应用的自优化方法,大多是基于人为设定的专家规则的。当网络中小区的性能指标符合某一条件时,则自动进行某调整动作,修改小区的参数,达到网络自优化的目的。

目前已有的无线网络自优化算法可以分为两类,分别是传统的网络自优化算法和基于人工智能的网络自优化算法。

其中,传统的网络自优化算法主要是依靠人工制定的规则表进行网络自优化,即在开启自优化时,查询各种网络状态,根据专家制定的规则表应作出何种调整。这种自优化方法将同一套规则用于所有参与自由化的设备,而实际上各个基站所处的环境、基站性能等条件都可能存在很大区别,这导致不同设备上的自优化效果良莠不齐。例如,专利号为cn106714239a的专利中公开的负载均衡算法中,使用固定的门限、规则和阈值,对于性能、所处环境不同的小区无法做到个性化的调整,导致所处环境比较特殊或设备性能不足的小区或基站的自优化调整效果不佳。

基于人工智能的网络自优化算法将人工智能算法引入到网络自优化领域,但是目前大多仅限于实验室环境,无法对现网负载环境进行有效的建模,或无法解决现网庞大的设备数量导致的多智能体收敛问题,只能使用单智能体模型,这导致所有设备共用同一个智能体,无法做到个性化调整。例如,名称为“fuzzyrule-basedreinforcementlearningforloadbalancingtechniquesinenterpriseltefemtocells”的论文提出的使用强化学习进行负载均衡的自优化方法,在模拟环境的3层建筑中6个微小区上达到了算法收敛,并取得了呼阻率(cdr,calldroppingratio)下降的收益。但其仅限于完全排除了干扰、设备性能完全相同的实验室场景,而且该论文仅使用单智能体的模型,所有参与自优化的设备共用单智能体模型,无法进行个性化的训练和调整。



技术实现要素:

本发明实施例提供了一种网络优化方法和装置,能够对不同的设备进行个性化的训练和/或自优化调整,从而提高自优化效果。

本发明实施例提供了一种网络优化方法,包括:

对第一区域中的小区的存在的问题进行建模得到n个智能体、建模方法和训练方法;其中,所述第一区域包括的小区中存在的问题属于相同的问题种类的小区所占的比例大于或等于预设阈值,且包含的小区的地理位置连续,且第一区域的轮廓为外凸图形,n为大于或等于1的整数;

对于每一个智能体,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练;或者,根据智能体的训练后的模型对智能体对应的小区进行网络优化;或者,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练,根据智能体的训练后的模型对智能体对应的小区进行网络优化。

本发明实施例提供了一种网络优化装置,包括处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述任一种网络优化方法。

本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供了网络优化方法的步骤。

本发明实施例提供了一种网络优化装置,包括:

建模模块,用于对第一区域中的小区的存在的问题进行建模得到n个智能体、建模方法和训练方法;其中,所述第一区域包括的小区中存在的问题属于相同的问题种类的小区所占的比例大于或等于预设阈值,且包含的小区的地理位置连续,且第一区域的轮廓为外凸图形,n为大于或等于1的整数;

训练优化模块,用于对于每一个智能体,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练;或者,根据智能体的训练后的模型对智能体对应的小区进行网络优化;或者,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练,根据智能体的训练后的模型对智能体对应的小区进行网络优化。

本发明实施例包括:对第一区域中的小区的存在的问题进行建模得到n个智能体、建模方法和训练方法;其中,所述第一区域包括的小区中存在的问题属于相同的问题种类的小区所占的比例大于或等于预设阈值,且包含的小区的地理位置连续,且第一区域的轮廓为外凸图形,n为大于或等于1的整数;对于每一个智能体,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练;或者,根据智能体的训练后的模型对智能体对应的小区进行网络优化;或者,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练,根据智能体的训练后的模型对智能体对应的小区进行网络优化。本发明实施例通过建模得到n个智能体,对不同智能体分别进行不同的训练和/或网络优化,采用多智能体实现了不同小区(也即不同设备)的训练和/或网络优化,使得每个智能体在各种情况下都能做出最符合自身实际情况的自优化调整,从而提高了整体的自优化效果。

本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明实施例技术方案的进一步理解,并且构成说明书的一部分,与本发明实施例的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明实施例技术方案的限制。

图1为本发明一个实施例提出的网络优化方法的流程图;

图2(a)为本发明实施例将第一区域中的小区作为智能体的示意图;

图2(b)为本发明实施例将第一区域中的小区对作为智能体的示意图;

图3为本发明实施例相邻智能体的示意图;

图4为本发明实施例奖励分配示意图;

图5(a)为本发明实施例将问题小区中存在的问题所属的问题种类相同的小区划分为同一个第二区域的示意图;

图5(b)为本发明实施例根据图2(a)中的第二区域确定的第一区域的示意图;

图6为本发明另一个实施例提出的网络优化方法的流程图;

图7为本发明另一个实施例提出的网络优化方法的流程图;

图8为本发明实施例使用深度q学习(dqn,deepq-learning)算法进行模型训练的流程示意图;

图9为本发明实施例的网络优化装置的部署结构示意图;

图10为本发明另一个实施例提出的网络优化装置的结构组成示意图;

图11为本发明实施例提出的网络优化装置的一个示例性实例的结构组成示意图;

图12为本发明实施例多智能体强化学习场景中一轮迭代的示意图;

图13为本发明实施例单个智能体在多智能体环境中一轮迭代的示意图;

图14为本发明实施例采用dqn实现的强化学习模块的子模块的结构组成示意图。

具体实施方式

下文中将结合附图对本发明实施例进行详细说明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

参见图1,本发明一个实施例提出了一种网络优化方法,包括:

步骤100、对第一区域中的小区的存在的问题进行建模得到n个智能体、建模方法和训练方法;其中,所述第一区域包括的小区中存在的问题属于相同的问题种类的小区所占的比例大于或等于预设阈值,且包含的小区的地理位置连续,且第一区域的轮廓为外凸图形,n为大于或等于1的整数。

在本发明实施例中,对第一区域中的小区进行建模而不是对整个网络中的小区进行建模的原因是,整个网络中的小区数量非常庞大,对所有小区进行所有的模型训练和/或网络优化会导致计算开销非常大,而且也是没有必要的。

在一个示例性实例中,可以采用以下方式进行建模:

预先设置问题种类、建模方法和训练方法之间的对应关系;

在对应关系中查找第一区域中包括的小区存在的问题所属的问题种类对应的建模方法和训练方法,查找到的建模方法和训练方法用于建模和对模型进行强化学习训练;其中,所述建模方法包括:所述智能体的生成方法、所述智能体的状态的定义方法、所述智能体的动作的定义方法、所述智能体的奖励函数的定义方法和所述智能体的用于选择动作的初始策略的定义方法;所述训练方法包括:使用强化学习方法调整用于选择动作的初始策略的方法;

根据所述智能体的生成方法生成n个所述智能体。

在本发明实施例中,根据智能体的生成方法生成n个所述智能体包括以下任意一个或多个:

当所述第一区域中的小区存在的问题不涉及多个小区之间的协同工作(例如,覆盖问题)时,将所述第一区域中的一个所述小区作为一个所述智能体,不同所述小区对应不同的所述智能体;也就是说,n就是第一区域中包括的小区的数量,n个智能体即为第一区域中包括的n个小区,如图2(a)所示,假设第一区域包括小区1、小区2、小区3、小区4、小区5、小区6,那么,每一个小区作为一个独立的智能体,不同智能体之间没有重叠;

当所述第一区域中的小区存在的问题涉及多个小区之间的协同工作(例如,容量问题,负载均衡问题)时,将所述第一区域中的一个具有邻接关系的小区对作为一个所述智能体,不同具有邻接关系的小区对对应不同所述智能体。

在一个示例性实例中,根据第一区域中小区的地理位置信息、小区之间的切换频率和小区的配置参数确定两个小区之间是否具有邻接关系。例如,当一个小区的配置参数中的主要邻区包括另一个小区,且两个小区的地理位置相邻,且两个小区之间的切换频率最高时,确定两个小区之间具有邻接关系;当两个小区的地理位置不相邻,或两个小区之间的切换频率不是最高时,确定两个小区之间不具有邻接关系。

例如,如图2(b)所示,假设第一区域包括小区1、小区2、小区3、小区4、小区5、小区6,小区之间的地理位置关系如图2(b)所示,此时可以将小区对1-3、小区对1-2、小区对1-5等分别作为智能体,不同智能体之间会有部分重叠。

小区的地理位置信息、小区之前的切换频率和小区的配置参数均可以从网管获得,也可以直接从基站获得。

步骤101、对于每一个智能体,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练。

在本发明实施例中,智能体的性能数据即是指智能体对应的小区的性能数据,小区的性能数据可以从网管中获取,也可以从基站中直接获取,本发明实施例对小区的性能数据的具体获取方式不作限定。

在本发明实施例中,根据所述智能体的用于选择动作的初始策略的定义方法确定所述智能体的用于选择动作的初始策略,将所述智能体的用于选择动作的初始策略作为所述智能体的初始模型。

在本发明实施例中,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练包括:

在第i轮迭代中,当不满足收敛条件时,

在第一概率下选择随机动作,下发随机动作,使得随机动作在智能体对应的小区中生效;通过探索强化学习方法中没有做过的动作来优化强化学习方法,该随机动作用于探索新的最优解,从而提高训练精度;

在第二概率下根据所述智能体的第i轮迭代对应的性能数据和所述智能体的状态的定义方法确定所述智能体的第i轮迭代对应的状态,根据所述智能体的第(i-1)轮迭代对应的状态、第i轮迭代对应的状态和所述训练方法调整所述智能体的在第(i-1)轮迭中调整后的策略,根据所述智能体的第i轮迭代对应的状态、所述智能体的第一数据和所述智能体的动作的定义方法计算智能体的第i轮迭代对应的最优动作,下发智能体的第i轮迭代对应的最优动作,使得智能体的第i轮迭代对应的最优动作在智能体对应的中生效;

其中,第一概率和第二概率之和为1,i为大于或等于1的整数;

其中,所述智能体的第一数据包括:

所述智能体的在第i轮迭代中调整后的策略;

或者,所述智能体的在第i轮迭代中调整后的策略和相邻智能体的平均动作。

需要说明的是,在第1轮迭代中,根据智能体的第1轮迭代对应的状态和训练方法调整智能体的初始策略。

在一个示例性实例中,根据第(i-1)轮迭代对应的状态、第i轮迭代对应的状态和训练方法调整智能体的策略包括:

根据第(i-1)轮迭代对应的状态、第i轮迭代对应的状态和所述智能体的奖励函数值的定义方法计算第(i-1)轮迭代对应的奖励函数值,根据第(i-1)轮迭代对应的奖励函数值调整所述智能体的在第(i-1)轮迭中调整后的策略。

在一个示例性实例中,当以小区作为智能体时,例如,对于覆盖问题,智能体的第(i-1)轮迭代对应的奖励函数值可以根据智能体的第(i-1)轮迭代对应的覆盖情况计算得到;覆盖情况越好,奖励函数值越高;对于其他问题,奖励函数值的计算方法则根据问题种类的不同而不同;

当以小区对作为智能体时,由于智能体中小区的状态的变化并非全部由智能体的动作导致,还会受到相邻智能体的动作的影响,因此,可以基于相邻智能体的数量、相邻智能体的平均动作幅度以及智能体自身的动作幅度计算奖励函数值,即第(i-1)轮迭代对应的奖励函数值可以根据智能体对应的所有小区的状态变化由智能体的第(i-1)轮迭代对应的动作导致的比例来计算得到。

例如,当进行负载均衡自优化时,动作为调节小区之间的切换参数,以小区对为智能体,在某一轮迭代中小区对1-2和相邻智能体的动作方向以及幅度如图4所示,图4中,箭头表示切换方向,箭头上方的文字表示切换参数调整的幅度,小区1的用户被分流到其他小区,而小区2则接收邻区分流来的用户,则小区1的状态变化中由小区对1-2的动作导致的比例为r1-2/1,其计算方式如下:

即小区1的状态变化有0.25的比例是由小区对1-2的动作导致的,同理计算小区2的状态变化中由小区对1-2的动作导致的比例,进而可以计算小区对1-2动作导致的奖励函数值,即为小区1的状态变化中由小区对1-2的动作导致的比例和小区2的状态变化中由小区对1-2的动作导致的比例之和。

在一个示例性实例中,对于将小区作为智能体的情况,相邻智能体是指对应的小区在地里位置上相邻的智能体;如图3所示,假设第一区域中包括8个小区,分别为小区1、小区2、小区3、小区4、小区5、小区6、小区7和小区8,那么,由于与小区2的地理位置相邻的小区包括小区1、小区4和小区6,因此,小区2对应的智能体的相邻智能体包括小区1、小区4和小区6对应的智能体;那么,在计算小区2对应的智能体的相邻智能体的平均动作时,应计算小区1、小区4和小区6对应的智能体的平均动作;

对于将小区对作为智能体的情况,相邻智能体是指对应的小区对所包含的小区的交集非空的智能体;如图3所示,假设第一区域中包括8个小区,分别为小区1、小区2、小区3、小区4、小区5、小区6、小区7和小区8,那么对于小区对1-2,由于小区对1-2分别与小区对1-3、小区对1-8、小区对2-4和小区对2-6所包含的小区之间的交集非空,因此,小区对1-2对应的智能体的相邻智能体包括小区对1-3、小区对1-8、小区对2-4和小区对2-6对应的智能体;那么在计算小区对1-2对应的智能体的相邻智能体的平均动作时,应计算小区对1-3、小区对1-8、小区对2-4和小区对2-6对应的智能体的平均动作,也就是计算a13、a18、a24、a26的平均值。

在一个示例性实例中,相邻智能体的平均动作可以根据平均场理论计算得到。具体的,相邻智能体的平均动作可以是指根据相邻智能体的第i轮迭代对应的状态和相邻智能体的在第i轮迭代中调整后的策略计算得到的相邻智能体的第i轮迭代对应的初始动作的平均值;

或者,也可以是指相邻智能体的第i轮迭代对应的最优动作的平均值。

某些情况下,在计算某一个智能体的最优动作时,

如果相邻智能体的最优动作还没有计算,那么,就不基于相邻智能体的平均动作来计算,而只基于相邻智能体的第i轮迭代对应的状态和相邻智能体的在第i轮迭代中调整后的策略计算得到;或者,基于相邻智能体的第i轮迭代对应的状态、相邻智能体的在第i轮迭代中调整后的策略和相邻智能体的第i轮迭代对应的初始动作的平均值计算得到;

如果仅计算了部分相邻智能体的最优动作,那么,就基于相邻智能体的第i轮迭代对应的状态、相邻智能体的在第i轮迭代中调整后的策略和已计算的部分相邻智能体的平均动作来计算;或者,基于相邻智能体的第i轮迭代对应的状态、相邻智能体的在第i轮迭代中调整后的策略、已计算的部分相邻智能体的平均动作和其余部分相邻智能体的第i轮迭代对应的初始动作的平均值来计算;

如果计算了全部相邻智能体的最优动作,那么,就基于相邻智能体的第i轮迭代对应的状态、相邻智能体的在第i轮迭代中调整后的策略和全部相邻智能体的平均动作来计算。

在本发明实施例中,由于在无线网络中,各个小区、各个小区对、各个基站之间相互的影响很大,即各个智能体的动作互相会有很大的影响,这会导致常规的模型训练在无线网络环境中难以收敛,本发明实施例基于平均场理论,将相邻智能体的动作简化为平均动作纳入计算,加强了模型训练的收敛性,加快了收敛速度。

在一个示例性实例中,下发智能体的第i轮迭代对应的最优动作或随机动作可以采用以下方式实现:

将智能体的第i轮迭代对应的最优动或随机动作作下发给网管,网管根据智能体的第i轮迭代对应的最优动作或随机动作修改智能体对应的小区的配置参数并生效;

或者,根据智能体的第i轮迭代对应的最优动作或随机动作确定需要调整的智能体对应的小区的配置参数以及调整值,将需要调整的智能体对应的小区的配置参数以及调整值发送给网管,网管根据需要调整的智能体对应的小区的配置参数以及调整值修改智能体对应的小区的配置参数并生效;

或者,也可以采用其他的方式来实现。

在本发明另一个实施例中,在第1轮迭代之前,该方法还包括:保存所述智能体对应的小区的配置参数;该方法还包括:

在所述第i轮迭代中,当所述智能体对应的小区的第i轮迭代对应的性能数据相对于第(i-1)轮迭代对应的性能数据不具有超过预设幅度的恶化时,继续执行所述在第一概率下选择随机动作作为所述智能体的第i轮迭代对应的最优动作;或者,在第二概率下根据智能体的第i轮迭代对应的性能数据确定智能体的第i轮迭代对应的状态的步骤;

当所述智能体的第i轮迭代对应的性能数据相对于第(i-1)轮迭代对应的性能数据具有超过预设幅度的恶化时,将所述智能体对应的小区的配置参数恢复为保存的配置参数。

在本发明实施例中,在模型训练过程中可能会因为探索新动作导致网络进行较差的调整,通过上述方法可以在网络性能出现超过预设幅度的恶化时及时恢复网络的原始状态。

在本发明另一个实施例中,生成智能体之前,该方法还包括:确定第一区域中包括的小区,或者,确定第一区域。

具体的,获取网络中所有小区的历史性能数据;对于每一个所述小区,根据所述小区的历史性能数据确定所述小区为正常小区还是问题小区;将问题小区中存在的问题所属的问题种类相同的小区划分为同一个第二区域;对于每一个所述第二区域,根据所述第二区域中包括的小区的地理位置关系和所述第二区域的轮廓确定所述第一区域。

在本发明实施例中,小区的历史性能数据可以从网管中获取,也可以从基站中直接获取,本发明实施例对小区的历史性能数据的具体获取方式不作限定。

在本发明实施例中,可以根据小区的历史性能数据采用根因分析方法确定小区为正常小区还是问题小区,当为问题小区时,确定问题小区所存在的问题,并对问题小区按照所存在的问题所属的问题种类进行分类得到每一个问题种类对应的第二区域,例如,分为容量问题小区、覆盖问题小区等。根因分析方法可以复用现网中已有的根因分析方法,当然也可以采用其他根因分析方法,本发明实施例对根因分析方法的具体实现不作限定。

在本发明实施例中,根据第二区域中包括的小区的地理位置关系和所述第二区域的轮廓确定所述第一区域包括以下任意一个或多个:

当所述第二区域中包括的小区的地理位置连续,且所述第二区域的轮廓为外凸图形时,将所述第二区域作为所述第一区域;

当所述第二区域中包括的小区的地理位置不连续,或所述第二区域的轮廓不是外凸图形时,将所述第二区域和除所述第二区域中包括的小区之外的最少数量的其他小区加入所述第一区域中,使得所述第一区域中包括的小区的地理位置连续,且所述第一区域的轮廓为外凸图形。

当第一区域的轮廓不是外凸图形,例如为内凹图形时,会导致自优化效果不佳,自优化后对效果的评价不客观,导致强化学习方法的训练效果不佳。例如,对于图5(a)这样不满足条件的区域,如果进行负载均衡自优化,则小区3的用户只能卸载到小区4,小区5、小区6也会存在相同的问题;在评价调整效果时,由于小区1、小区2没有被纳入优化区域,则其不会被纳入评价范围,而小区1、小区2与优化区域联系紧密(被优化目标小区包围),可能优化区域的调整是以损失小区1、小区2性能为代价的,但是由于小区1、小区2没有被划入优化区域,则这个影响会被忽略,这会对强化学习训练造成影响。

在一个示例性实例中,加入第一区域中的其他小区可以是正常小区,也可以是存在的问题所属的问题种类与第二区域中包括的小区存在的问题所属的问题种类不同的小区。将其他小区加入第一区域中是为了对第一区域中的问题小区进行更好的模型训练和/或网络优化。

在本发明实施例中,如图5(a)所示,小区3、小区4、小区5和小区6均存在容量问题,小区1和小区2不存在容量问题,那么,将小区3、小区4、小区5和小区6划分为同一个第二区域,由于小区3、小区4、小区5和小区6所组成的第二区域的轮廓为内凹图形,则需要将小区1和小区2并入第一区域中,使得第一区域的轮廓为外凸图形,如图5(b)所示。

本发明实施例通过生成n个智能体,对不同智能体分别进行不同的模型训练和/或网络优化,采用多智能体实现了不同小区(也即不同设备)的模型训练和/或网络优化,使得每个智能体在各种情况下都能做出最符合自身实际情况的自优化调整,从而提高了整体的自优化效果。

参见图6,本发明另一个实施例提出了一种网络优化方法,包括:

步骤600、对第一区域中的小区的存在的问题进行建模得到n个智能体、建模方法和训练方法;其中,所述第一区域包括的小区中存在的问题属于相同的问题种类的小区所占的比例大于或等于预设阈值,且包含的小区的地理位置连续,且第一区域的轮廓为外凸图形,n为大于或等于1的整数。

步骤600的具体实现过程与前述实施例步骤100的具体实现过程相同,这里不再赘述。

步骤601、对于每一个智能体,根据智能体的训练后的模型对智能体对应的小区进行网络优化。

在本发明实施例中,根据智能体的训练后的模型对智能体对应的小区进行网络优化包括:

在第j轮迭代中,根据所述智能体的第j轮迭代对应的性能数据和所述智能体的状态的定义方法确定所述智能体的第j轮迭代对应的状态,根据所述智能体的第j轮迭代对应的状态、所述智能体的第二数据和所述智能体的动作的定义方法计算智能体的第j轮迭代对应的最优动作,下发智能体的第j轮迭代对应的最优动作,使得智能体的第j轮迭代对应的最优动作在智能体对应的小区中生效;其中,j为大于或等于1的整数;

其中,所述智能体的第二数据包括:

所述智能体的训练后的策略(即训练后的模型,也就是在最后一轮迭代中调整后的策略);

或者,所述智能体的训练后的策略和相邻智能体的平均动作。

在本发明实施例中,相邻智能体的平均动作的计算方法与前述实施例相同,这里不再赘述。

在本发明实施例中,计算智能体的第j轮迭代对应的最优动作的具体过程与前述实施例类似,唯一不同的是,本实施例中在每一轮迭代中不需要再更新智能体的策略,而在每一轮迭代中使用相同的策略,即训练后的策略。

在本发明实施例中,智能体的性能数据即是指智能体对应的小区的性能数据,小区的性能数据可以从网管中获取,也可以从基站中直接获取,本发明实施例对小区的性能数据的具体获取方式不作限定。

在本发明另一个实施例中,在第1轮迭代之前,该方法还包括:保存所述智能体对应的小区的配置参数;该方法还包括:

在所述第j轮迭代中,当所述智能体的第j轮迭代对应的性能数据相对于第(j-1)轮迭代对应的性能数据具有超过预设幅度的恶化时,将所述智能体对应的小区的配置参数恢复为保存的配置参数;

在所述第j轮迭代中,当所述智能体对应的小区的第j轮迭代对应的性能数据相对于第(j-1)轮迭代对应的性能数据不具有超过预设幅度的恶化时,继续执行所述根据所述智能体的第j轮迭代对应的状态和所述智能体的第二数据计算智能体的第j轮迭代对应的最优动作的步骤。

在本发明另一个实施例中,生成智能体之前,该方法还包括:确定第一区域中包括的小区,或者,确定第一区域。

在本发明实施例中,确定第一区域的方法与前述实施例相同,这里不再赘述。

本发明实施例通过生成n个智能体,对不同智能体分别进行不同的模型训练和/或网络优化,采用多智能体实现了不同小区(也即不同设备)的模型训练和/或网络优化,使得每个智能体在各种情况下都能做出最符合自身实际情况的自优化调整,从而提高了整体的自优化效果。

参见图7,本发明另一个实施例提出了一种网络优化方法,包括:

步骤700、对第一区域中的小区的存在的问题进行建模得到n个智能体、建模方法和训练方法;其中,所述第一区域包括的小区中存在的问题属于相同的问题种类的小区所占的比例大于或等于预设阈值,且包含的小区的地理位置连续,且第一区域的轮廓为外凸图形,n为大于或等于1的整数。

步骤700的具体实现过程与前述实施例步骤100的具体实现过程相同,这里不再赘述。

步骤701、对于每一个智能体,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练,根据智能体的训练后的模型对智能体对应的小区进行网络优化。

在本发明实施例中,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练的具体实现过程与前述实施例步骤101的具体实现过程相同,这里不再赘述。

根据智能体的训练后的模型对智能体对应的小区进行网络优化与前述实施例步骤601的具体实现过程相同,唯一不同的是j为大于或等于(m+1)的整数,m为进行模型训练的最大迭代轮数。

在本发明另一个实施例中,生成智能体之前,该方法还包括:确定第一区域中包括的小区,或者,确定第一区域。

在本发明实施例中,确定第一区域的方法与前述实施例相同,这里不再赘述。

本发明实施例通过生成n个智能体,对不同智能体分别进行不同的模型训练和/或网络优化,采用多智能体实现了不同小区(也即不同设备)的模型训练和/或网络优化,使得每个智能体在各种情况下都能做出最符合自身实际情况的自优化调整,从而提高了整体的自优化效果。

下面列举两个实例详细说明本发明实施例的网络优化方法的具体实现过程,所列举的实例仅仅是为了方便说明,不用于限定本发明实施例的保护范围。

实例1

步骤1、搭建服务器,连接网管系统,并在服务器上部署如图11所示的算法各个模块。

步骤2、数据采集模块从网管获取网络中所有小区的历史性能数据,区域划分模块对所有小区的历史性能数据进行分析,划分问题区域(即第一区域);从网管获取问题区域中所有小区的实时性能数据,还可以从网管获取其他数据,如切换数据(包括切换频率)、配置参数。本实例中举例问题区域a,包含20个小区,存在负载不均衡的问题,区域中小区之间负荷相差很大。

步骤3、智能体生成模块获取数据采集模块得到的数据和区域划分模块划分的问题区域结果。智能体生成模块根据上述数据判断该问题区域存在的问题涉及多个小区之间的协同工作,选择小区对作为智能体,并根据小区之间的切换数据、小区的地理位置信息等数据计算得到问题区域内的小区对列表,即智能体列表。此外,保存智能体之间的邻接关系。

步骤4、安全回滚模块获取数据采集模块、区域划分模块的输出,记录优化前问题区域的所有配置参数,并启动对目标区域关键指标的监控。在本实施例中问题区域存在负载不均衡的问题,将优化问题区域中小区对之间的切换参数,因此监控的数据指标包括小区的切换记录数据、区域的整体切换记录、小区的平均信道质量指示(cqi,channelqualityindicator)、服务用户的信号与干扰加噪声比(sinr,signaltointerferenceplusnoiseratio)等指标。当这些相关指标大幅恶化的时候中止强化学习的迭代,通知参数下发模块停止下发强化学习动作,并下发之前存储的问题区域的原始配置参数。

步骤5、强化学习模块获取其他模块提供的数据。在第一轮迭代启动前,强化学习模块会根据其他模块提供的信息对问题进行建模。

在本实例中,问题区域主要存在负荷不均的问题,因此强化学习模块定义调整手段为负载均衡。

智能体生成模块已输出智能体划分结果:以小区对为智能体,并输出了问题区域中的智能体列表(即小区对列表)。

定义调整动作为修改智能体中2个小区之间的切换参数(主要是邻区的特定小区偏置(ocn,cellindividualoffset)。

定义小区对的状态包括小区对中2小区的物理资源块(prb,physicalresourceblock)利用率之差、2小区之间的激活用户数之差以及2个小区的平均cqi。

其中,prb利用率之差和激活用户数之差用于表征一个智能体中负荷的不均衡程度,而平均cqi表征的是其中用户的平均信道质量水平。在本实例中强化学习的目的即是在不使cqi大幅恶化的前提下,尽量使前两个表征负荷不均程度的指标好转。

定义智能体的奖励函数如下:

r=αragent+βrglobal;

其中,ragent为智能体本身的奖励值,r为智能体的奖励函数值,α为为智能体本身的奖励值的权重系数,β为为全局奖励值的权重系数,rglobal为全局奖励值,ragent根据智能体的状态变化计算,其计算方式如下:

ragent=a1f1(prb1-prb2)+a2f2(au1-au2)+a3f3(cqi'-cqi);

其中,第一项中f1(prb1-prb2)计算prb利用率之差是否小于某个设定的阈值,如果是则说明prb利用率的相差不大,根据这个数值计算这部分奖励;第二项中函数f2(au1-au2)f2计算激活用户数之差是否小于阈值,是则说明负荷差别不大,计算奖励;第三项中函数f3(cqi'-cqi)f3计算cqi的变化,如果一次调整后cqi大幅恶化,则说明有过多用户被转移到信号质量不好的小区,此时计算这部分惩罚。以上三项通过a1、a2、a3三个系数配置在奖励中的占比;此外rglobal为全局的奖励值,通过全局奖励使区域中的多个智能体进行协作,其计算方式如下:

rglobal=b1f4(prbstd,austd)+b2f5(δcqiavg)+b3f6(δho);

其中,第一项中函数f4(prbstd,austd)f4计算区域中prb利用率和激活用户数的标准差变化,这两个标准差减小时说明区域内负荷更加均衡,按幅度计算奖励;第二项中函数f5(δcqiavg)f5计算的是区域内整体cqi的变化,当区域内cqi整体变差时说明大量用户被调整到信号差的小区,此时则计算惩罚;第三项f6(δho)f6计算的是区域内整体的切换次数,当区域整体切换次数大幅升高时计算惩罚。以上三项通过b1、b2、b3三个系数配置在整体奖励中的占比。在本施例中,以小区对作为智能体,因此在计算奖励时会存在奖励分配的问题,通过计算比例系数的方式解决该问题。

步骤6、强化学习模块在对问题进行建模之后,启动强化学习迭代计算。本实施例中使用dqn强化学习算法进行迭代训练,迭代流程如图8所示,在每轮迭代中,算法获取智能体当前状态,并用每个智能体的策略网络计算该状态下的最佳动作,此外有一定概率选择随机动作用于探索新的好解。结合周围平均动作计算出每个智能体的下发动作。每次迭代中除计算并下发当前动作之外,对于每个智能体,算法会计算其上一迭代的状态与当前状态的不同,并依此计算奖励,结合上一迭代该智能体的动作,获得强化学习迭代需要的四元组(s,a,r,s’)(即状态、动作、奖励、下一状态),dqn算法将四元组保存到该智能体的经验回放库,对每个智能体的神经网络进行经验回放训练。本实施例中强化学习生成的智能体动作,如步骤5所述,是小区对中的切换参数(主要为ocn)。

步骤7、动作下发模块接收强化学习模块输出的智能体的动作参数,下发至网管。从步骤6开始,到下发动作参数至生效为一轮迭代。返回步骤6循环迭代,直到满足dqn算法的收敛条件。

步骤8、在迭代至收敛后,迭代不再计算奖励和修改神经网络的参数,在迭代中也停止使用随机动作进行探索。每轮迭代时收集各个智能体的状态,使用训练好的策略网络计算动作,结合平均动作计算下发动作,并下发到网管进行优化调整。

实例2

步骤11、搭建服务器,连接网管系统,并在服务器上部署如图11所示的算法各个模块。

步骤12、数据采集模块从网管获取网络中所有小区的历史性能数据,区域划分模块对所有小区的历史性能数据进行分析,划分问题区域(即第一区域);从网管获取问题区域中所有小区的实时性能数据,还可以从网管获取其他数据,如切换数据(包括切换频率)、配置参数。本实例中举例问题区域b,包含12个小区,存在覆盖问题,某些用户的信号很差,需要调整小区的天线下倾角和发射功率。

步骤13、智能体生成模块获取区域划分模块输出的结果,问题区域存在覆盖问题,需要调整小区的天线下倾角和发射功率,定义小区为智能体,并输出区域内智能体列表(小区列表)。此外,智能体生成模块还会计算智能体之间的邻接关系,在本实施例中为计算小区之间的邻接关系,根据重叠覆盖度和区域划分模块输出的地理位置信息来计算。

步骤14、安全回滚模块从数据采集模块获取并保存当前的配置参数。开启对该区域的性能指标监控,监控指标包括测量报告(mr,measurementreport)数据中驻留在该区域内用户的参考信号接收功率(rsrp,referencesignalreceivingpower)值、网管性能数据中区域内小区的平均cqi、小区的吞吐率,当区域性能指标恶化超过设定的阈值时中止强化学习调整并下发存储的原始配置参数。

步骤15、强化学习模块在第一轮迭代开始之前会对问题场景进行建模。

接收区域划分模块和智能体生成模块输出的结果,需要解决覆盖问题,以每个小区为智能体。

定义智能体的状态包括小区中用户的平均rsrp(来自mr数据统计)、小区平均cqi、小区吞吐率、小区当前发射功率、当前天线下倾角。

定义智能体的动作包括调节小区天线下倾角、调节小区发射功率。

定义智能体的奖励包括个体奖励和整体奖励2部分。其中,个体奖励包含该智能体中驻留用户的平均rsrp改善程度、小区平均cqi改善程度、小区吞吐率提高幅度,此外还包含一个惩罚项天线下倾:小区发射功率增加幅度,以上4项通过4个可配置的系数调节各自占比;整体奖励表征优化区域的整体情况,包含区域内所有用户的平均rsrp变化、区域内所有小区的平均cqi变化、区域整体吞吐率变化以及区域整体发射功率变化,其中前三项用于计算奖励,而发射功率变化用于计算惩罚值。该奖励设计使强化学习算法在尽量不增大发射功率的情况下改善区域内覆盖情况。

步骤16、强化学习模块在完成建模后开始迭代训练。本实施例举例使用dqn强化学习算法进行实现。dqn实现本实施例的流程如图8所示。建模部分在步骤15中已经完成。dqn算法对每个智能体初始化其策略神经网络。开始迭代后,在每一轮迭代中,对于每个智能体有一定概率采取随机动作,否则根据该智能体状态通过其策略网络生成最佳动作,并结合该智能体周围平均动作确定其下发动作。平均动作的计算范围依据智能体生成模块生成的智能体之间的邻接关系来确定。在每次迭代中,对于一个智能体,算法收集齐上一迭代状态、上一迭代动作、当前状态,并计算其动作奖励,获得强化学习迭代训练需要的四元组数据,并将其加入各个智能体分别的经验库中。dqn算法使用每个智能体的经验库对各个智能体的神经网络进行经验回放训练。

步骤17、动作下发模块接收强化学习模块输出的动作,并将动作数据整合回填至参数表,并下发至网管。当接收到安全回滚模块发出的回滚指令时,动作下发模块停止下发强化学习模块生成的所有动作,并立即下发安全回滚模块存储的原始配置参数。步骤16和步骤17为一个迭代,返回步骤16迭代直到dqn算法收敛。

步骤18、当dqn算法达到收敛条件之后,迭代不再进行训练。即生成动作时不会采用随机动作,所有动作都是根据状态通过策略网络结合平均动作生成的最佳动作。而且在没轮迭代中不在进行奖励计算和更新神经网络参数,而只进行最佳动作的下发。

本发明另一个实施例提出了一种网络优化装置,包括处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述任一种网络优化方法。

如图9所示,本发明实施例的网络优化装置可以设置在于网管连接的服务器中,也可以是网络中的独立设备,本发明实施例对网络优化装置的具体存在形式不作限定。

本发明另一个实施例提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种网络优化方法的步骤。

参见图10,本发明另一个实施例提出了一种网络优化装置,包括:

建模模块1001,用于对第一区域中的小区的存在的问题进行建模得到n个智能体、建模方法和训练方法;其中,所述第一区域包括的小区中存在的问题属于相同的问题种类的小区所占的比例大于或等于预设阈值,且包含的小区的地理位置连续,且第一区域的轮廓为外凸图形,n为大于或等于1的整数;

训练优化模块1002,用于对于每一个智能体,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练;或者,根据智能体的训练后的模型对智能体对应的小区进行网络优化;或者,根据建模方法和训练方法确定所述智能体的初始模型,根据建模方法和训练方法使用强化学习方法对智能体的初始模型进行训练,根据智能体的训练后的模型对智能体对应的小区进行网络优化。

在本发明实施例中,建模模块1001具体用于:

在预先设置的问题种类、建模方法和训练方法之间的对应关系中,查找所述第一区域中包括的小区存在的问题所属的问题种类对应的建模方法和训练方法;

其中,所述建模方法包括:所述智能体的生成方法、所述智能体的状态的定义方法、所述智能体的动作的定义方法、所述智能体的奖励函数的定义方法和所述智能体的用于选择动作的初始策略的定义方法;所述训练方法包括:使用强化学习方法调整用于选择动作的初始策略的方法;

根据所述智能体的生成方法生成n个所述智能体。

在本发明实施例中,建模模块1001还用于:

获取网络中所有小区的历史性能数据;

对于每一个所述小区,根据所述小区的历史性能数据确定所述小区为正常小区还是问题小区;

将问题小区中存在的问题所属的问题种类相同的小区划分为同一个第二区域;

对于每一个所述第二区域,根据所述第二区域中包括的小区的地理位置关系和所述第二区域的轮廓确定所述第一区域。

在本发明实施例中,建模模块1001具体用于采用以下任意一种或多种方式实现所述根据第二区域中包括的小区的地理位置关系和所述第二区域的轮廓确定所述第一区域:

当所述第二区域中包括的小区的地理位置连续,且所述第二区域的轮廓为外凸图形时,将所述第二区域作为所述第一区域;

当所述第二区域中包括的小区的地理位置不连续,或所述第二区域的轮廓不是外凸图形时,将所述第二区域和除所述第二区域中包括的小区之外的最少数量的其他小区加入所述第一区域中,使得所述第一区域中包括的小区的地理位置连续,且所述第一区域的轮廓为外凸图形。

在本发明实施例中,建模模块1001具体用于采用以下任意一种或多种方式实现根据智能体的生成方法生成n个所述智能体:

当所述第一区域中的小区存在的问题不涉及多个小区之间的协同工作时,将所述第一区域中的一个所述小区作为一个所述智能体,不同所述小区对应不同的所述智能体;

当所述第一区域中的小区存在的问题涉及多个小区之间的协同工作时,将所述第一区域中的一个具有邻接关系的小区对作为一个所述智能体,不同具有邻接关系的小区对对应不同所述智能体。

在本发明实施例中,训练优化模块1002具体用于采用以下方式实现根据建模方法和训练方法确定所述智能体的模型:

根据所述智能体的用于选择动作的策略的定义方法确定所述智能体的用于选择动作的策略,将所述智能体的用于选择动作的策略作为所述智能体的模型。

训练优化模块1002具体用于采用以下方式实现采用强化学习方法对智能体的模型的训练:

在第i轮迭代中,当不满足收敛条件时,

在第一概率下选择随机动作,下发所述随机动作,使得所述随机动作在所述智能体对应的小区中生效;

在第二概率下根据所述智能体的第i轮迭代对应的性能数据和所述智能体的状态的定义方法确定所述智能体的第i轮迭代对应的状态,根据所述智能体的第(i-1)轮迭代对应的状态、第i轮迭代对应的状态和所述训练方法调整所述智能体的在第(i-1)轮迭中调整后的策略,根据所述智能体的第i轮迭代对应的状态、所述智能体的第一数据和所述智能体的动作的定义方法计算智能体的第i轮迭代对应的最优动作,下发智能体的第i轮迭代对应的最优动作,使得所述智能体的第i轮迭代对应的最优动作在所述智能体对应的小区中生效;

其中,第一概率和第二概率之和为1,i为大于或等于1的整数;

其中,所述智能体的第一数据包括:

所述智能体的在第i轮迭代中调整后的策略;

或者,所述智能体的在第i轮迭代中调整后的策略和相邻智能体的平均动作。

在本发明实施例中,训练优化模块1002具体用于采用以下方式实现所述根据第(i-1)轮迭代对应的状态、第i轮迭代对应的状态和训练方法调整智能体的在第(i-1)轮迭中调整后的策略:

根据第(i-1)轮迭代对应的状态、第i轮迭代对应的状态和所述智能体的动作的定义方法计算第(i-1)轮迭代对应的奖励函数值,根据第(i-1)轮迭代对应的奖励函数值调整所述智能体的在第(i-1)轮迭中调整后的策略。

在本发明实施例中,训练优化模块1002还用于:

在所述第i轮迭代中,当所述智能体对应的小区的第i轮迭代对应的性能数据相对于第(i-1)轮迭代对应的性能数据不具有超过预设幅度的恶化时,继续执行所述在第一概率下选择随机动作作为所述智能体的第i轮迭代对应的最优动作;或者,在第二概率下根据智能体的第i轮迭代对应的性能数据确定智能体的第i轮迭代对应的状态的步骤。

在本发明实施例中,训练优化模块1002还用于:

在第1轮迭代之前,保存所述智能体对应的小区的配置参数;

在所述第i轮迭代中,当所述智能体的第i轮迭代对应的性能数据相对于第(i-1)轮迭代对应的性能数据具有超过预设幅度的恶化时,将所述智能体对应的小区的配置参数恢复为保存的配置参数。

在本发明实施例中,训练优化模块1002具体用于采用以下方式实现所述根据智能体的训练后的模型对智能体对应的小区进行网络优化:

在第j轮迭代中,根据所述智能体的第j轮迭代对应的性能数据和所述智能体的状态的定义方法确定所述智能体的第j轮迭代对应的状态,根据所述智能体的第j轮迭代对应的状态、所述智能体的第二数据和所述智能体的动作的定义方法计算智能体的第j轮迭代对应的最优动作,下发智能体的第j轮迭代对应的最优动作,使得智能体的第j轮迭代对应的最优动作在智能体对应的小区中生效;其中,j为大于或等于1的整数,或大于或等于(m+1)的整数,m为进行模型训练的最大迭代轮数;

其中,所述智能体的第二数据包括:

所述智能体的训练后的策略;

或者,所述智能体的训练后的策略和相邻智能体的平均动作。

在本发明实施例中,优化模块1002还用于:

在所述第j轮迭代中,当所述智能体对应的小区的第j轮迭代对应的性能数据相对于第(j-1)轮迭代对应的性能数据不具有超过预设幅度的恶化时,继续执行所述根据所述智能体的第j轮迭代对应的状态和所述智能体的第二数据计算智能体的第j轮迭代对应的最优动作的步骤。

在本发明实施例中,优化模块1002还用于:

在第1轮迭代之前,保存所述智能体对应的小区的配置参数;

在所述第j轮迭代中,当所述智能体的第j轮迭代对应的性能数据相对于第(j-1)轮迭代对应的性能数据具有超过预设幅度的恶化时,将所述智能体对应的小区的配置参数恢复为保存的配置参数。

上述网络优化装置的具体实现过程与前述实施例的网络优化方法的具体实现过程相同,这里不再赘述。

在一个示例性实例中,如图11所示,本发明实施例的网络优化装置包括:

(1)、本发明基于多智能体的强化学习进行无线网络的参数优化,主要程序部署在服务器上。从网管获取实时网管性能数据,并生成优化动作下发到网管,部署结构如图9所示。

(2)、本发明实施例的网络优化装置包含的主要模块如下:数据采集模块、智能体生成模块、区域划分模块、强化学习模块、动作下发模块以及安全回滚模块,如图11所示。其中强化学习模块是本算法的核心。

(3)、数据采集模块是整个算法的输入,该模块从网管获取数据(可选,数据来源可以不仅限于网管),并为其他模块提供数据。包括小区性能数据、切换数据、配置参数等数据。

(4)、区域划分模块负责划分自优化目标区域。由于现网小区数量非常庞大,对所有小区进行每一种自优化训练计算开销庞大而且没有必要。区域划分模块负责从无线网络中划分出存在问题的区域。后续基于强化学习的自优化算法在区域划分模块输出的问题区域中进行。

该模块的流程分为历史数据汇总、根因分析、地理位置分析共三个主要步骤。第一,历史数据汇总,收集并保存网络中各小区的历史数据;第二,根因分析,根据各小区历史数据将所有小区分为问题小区和正常小区,并对问题小区按照问题种类进行分类,例如分为容量问题小区、覆盖问题小区等,根因分析部分可以复用现网中已有的根因分析方法(可选则其他根音分析方法);第三,地理位置分析,根据问题小区的种类和位置分布,结合地图划分出问题区域,划分出的问题区域在地理上要求是连续的。如图5(a)和图5(b)所示,小区1、2、3、4、5、6在地理上是临近的,当3、4、5、6小区存在容量问题时,问题区域应如a划分,包含小区1和小区2,使问题区域在地理位置上是连续的,而不应如b的划分方式导致区域在地理上不连续。区域划分模块最后会输出问题区域,以及问题区域的根因分析结果。区域划分模块可以定位问题区域,缩小强化学习自优化的范围,减少不必要的训练导致的时间和计算开销。

(5)、智能体生成模块负责生成智能体。智能体生成模块会获取数据采集模块输出的网管数据以及区域划分模块输出的问题区域及其存在的问题。智能体生成模块会根据问题区域存在的问题选择用小区或小区对作为智能体。当问题区域存在的问题涉及多个小区之间的协同工作时使用小区对作为智能体,而当问题区域存在的问题不涉及多个小区之间的协同工作时使用小区作为智能体。当使用小区作为智能体时,智能体生成模块输出的智能体为问题区域中包含的小区;当使用小区对作为智能体时,智能体生成模块输出的智能体为问题区域中包含的小区对。分别以小区、小区对为智能体时,智能体之间的关系如图2(a)、图2(b)所示。之后,智能体生成模块会根据小区的位置信息、小区切换关系、参数配置等数据计算得到各个小区之间的邻接关系,并生成小区对列表。

(6)、(可选)安全回滚模块是算法的安全措施。在算法运行开始,进行第一轮调整之前,安全回滚模块会记录并保存算法涉及的所有网管配置参数。在算法迭代调整的过程中,安全回滚模块会持续关注优化区域的性能参数,当出现超过预设幅度的性能恶化时,安全回滚模块会终止优化区域的优化动作下发,并将该区域配置参数恢复为保存的调整前配置参数。强化学习算法可能会因为探索新动作导致网络进行较差的调整,安全回滚模块可以在网络性能出现超过阈值的恶化时马上恢复网络的原始状态。

(7)、强化学习模块是本方法的核心模块。强化学习模块的2个主要步骤分别是对问题区域进行多智能体建模、对区域内的所有智能体进行迭代训练。

强化学习模块首先接收区域划分模块的输出,得到一块问题区域(包含若干小区),及该问题区域存在的问题,根据该区域的主要问题确定自优化的目标。强化学习模块从区域划分模块获得自优化的目标小区列表,并从智能体生成模块获取智能体信息,包括以小区或小区对作为智能体,以及智能体列表。区域内的所有小区对共同构成多智能体的场景。定义智能体之后,强化学习模块根据问题种类定义智能体的状态、调整动作、奖励函数。

多智能体强化学习的场景如图12所示。在每一轮迭代中,算法获取实时的网管性能数据,每个智能体从其中获取本智能体的性能数据,并根据状态的定义基于性能数据识别本智能体当前的状态。在本算法中多智能体之间的动作和状态是相互可见的,每个智能体会根据智能体之间的的邻接关系查找与本智能体相邻的所有智能体的动作,并根据平均场理论计算相邻智能体的平均动作。平均动作计算范围如图3所示。每个智能体根据自身的策略,基于自身状态以及周围平均动作,计算当前最优动作,并将动作数据输出给动作下发模块。算法会在参数下发后持续关注智能体状态的变化,并以计算奖励的方式对下发的动作进行评价,并据此修改智能体选择动作的策略。图13为每个智能体在一轮迭代中的情况。

当以小区对为智能体时,计算智能体奖励需要参考比例系数。某个小区对中2个小区的性能状态的变化并非全部由该智能体动作导致,还会受到相邻其他智能体动作的影响,因此基于相邻智能体数量、平均动作以及自身动作幅度计算比例系数,即小区性能状态变化中该智能体动作结果的占比。举例说明如下:当进行负载均衡自优化时,动作为调节小区之间的切换参数,以小区对为智能体,在一轮迭代中小区对1-2和与其相邻的智能体的动作方向以及幅度如图8所示,小区1的用户被分流到其他小区,而小区2接收邻区分流来的用户,则小区1的性能指标变化中由小区对1-2动作导致的比例为r1-2/1,其计算方式如下:

即小区1的状态变化有0.25的比例是由小区对1-2的动作导致的,同理计算小区2的状态变化中由小区对1-2的动作导致的比例,进而可以计算小区对1-2动作导致的奖励函数值,即为小区1的状态变化中由小区对1-2的动作导致的比例和小区2的状态变化中由小区对1-2的动作导致的比例之和。

图8是使用dqn强化学习算法实现上述多智能体强化学习的流程图(可选,可以使用其他强化学习算法)。如图8中所示,流程可以分为多智能体建模(图8中前半部分流程)、强化学习迭代训练(图8中循环部分流程)两个主要部分。该算法中每个智能体维护了一个用于决策的神经网络,通过更新神经网络的参数来优化选择动作的策略。使用这种强化学习算法实现时,强化学习模块包含在线推理模块、经验池、离线训练模块和持久化模块等几个子模块,其架构图如图14所示。其中在线推理模块根据各个智能体的策略进行推理,并将记录包括奖励一起保存到经验池中,离线训练模块按照图12中所述场景,按照图4中描述的迭代流程迭代训练各个智能体,并通过持久化模块将更新了参数的智能体更新到在线推理模块。

(8)、动作下发模块主要负责将参数下发至网管。如图11所示,动作下发模块接收强化学习模块的输出和安全回滚模块的输出。动作下发模块下发的参数有两大类,第一类是正常强化学习迭代下发的动作参数,这种下发在每个迭代都会进行;第二类是安全回滚模块发起的参数下发,当安全回滚模块检测到调整区域的网管性能指标恶化超过预设阈值时,会将调整前存储的所有网管配置参数输出到动作下发模块进行下发,将调整区域的所有网管配置参数回滚到调整前的状态。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

虽然本发明实施例所揭露的实施方式如上,但所述的内容仅为便于理解本发明实施例而采用的实施方式,并非用以限定本发明实施例。任何本发明实施例所属领域内的技术人员,在不脱离本发明实施例所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明实施例的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1