本发明属于大规模机器学习及信息处理技术领域,涉及一种基于bb步长的多步通信分布式优化方法。
背景技术:
随着互联网、计算机、人工智能的发展,造成了数据的泛滥,如何有效处理数据正成为各行业亟待解决的难题。当前,存在两种有效的数据处理方法:集中式优化算法和分布式优化算法。集中式优化算法主要是凭借中心处理器的计算能力对数据进行分析和处理。当数据简单且网络规模不大时,集中式优化算法可以高效地对数据进行处理。然而,由于中心处理器受物理硬件发展受限约束,其计算能力极为有限。因此,集中式优化算法对于大规模网络数据处理无能为力。同时,由于集中式算法对于信息的收集、分析以及处理都是由中心处理器完成,因此其也存在单点失效与鲁棒性差的问题。分布式优化算法是将一个复杂的任务分解成多个易处理的子任务,再采用分布式计算方式对所有子任务进行有效处理。由于分布式优化在资源分配、智能电网、控制系统等领域中展现出巨大的应用价值,分布式优化的研究受到人们越来越多的重视。在分布式优化算法中,网络中的节点解决分布式优化问题,仅仅只需通过与邻居节点进行通信,且不会泄露节点自身的信息。分布式优化算法通常由两个部分组成:通信和计算。具体描述就是,在每一次迭代(或每多次迭代)中,节点进行变量更新需要通过与邻居节点交换信息(通信),而计算步骤主要是与(次)梯度相关(计算)。当前,判断分布式优化算法优势的标准仅仅只是通过迭代次数,忽略了与迭代计算相关联的复杂度。而且,不同的应用问题对通信成本和计算成本的要求比例是不同的。例如:在大规模机器学习领域中,计算成本比例要比通信成本比例更高,而在电源驱动机器人应用中,通信成本比例比计算成本更高。因此,对一个算法的评价应该从迭代次数、通信成本、计算成本以及总成本三个方面考虑。当前热门的分布式优化算法大致有三类:分布式梯度下降法、分布式对偶分解、分布式交替方向乘子法(admm)。尽管这三类算法都已经发展到了快速的线性收敛率,但是分布式梯度下降法相比于后两者不会付出太多计算成本。还需要说明的是,现有的分布式优化算法大都采用常数步长,且在理论上都要求常数步长足够小,这是一个十分保守的结果。另外,常数步长往往取决于网络拓扑参数以及范数等价转换参数。因此,在实际应用中,步长是无法计算的,需要通过不断地手动调制来使得算法达到一个好的表现,但是这样所获得的步长不一定是最优的。相反地,bb(barzilai-borwein)步长不占用太多的存储和计算资源,且在分布式优化算法中,bb步长是自动计算,不取决于任何网络参数。另外,分布式优化算法几乎没有采用多步通信机制的,这也导致了梯度估计误差较大。
综上所述,现有技术存在的问题是:1)现有的集中式算法不能胜任大规模网络任务处理,且存在鲁棒性差、单点失效等问题;2)现有的分布式优化算法仅仅通过迭代次数来判断算法的优势,这种评价方式过于片面;3)现有的分布式优化算法大都采用常数步长,这只能通过手动调制来确保理论推导成果;4)现有的分布式优化算法对于梯度估计误差没有给出解决办法。
解决上述技术问题的难度:如何将bb步长应用到分布式优化算法中以及如何对多步通信机制下的分布式优化算法进行理论分析,给出内循环迭代次数的一个下界。同时,还需要解决基于有向强连通非平衡有向通信网络下的分布式优化问题。通常来说,无向网络是有向网络的特殊情形,基于有向网络的分布式算法设计比基于无向网络的分布式算法设计更加困难。
技术实现要素:
有鉴于此,本发明的目的在于提供一种基于bb步长的多步通信分布式优化方法,解决如何将bb步长应用到分布式优化算法中以及如何对多步通信机制下的分布式优化算法进行理论分析,给出内循环迭代次数的一个下界。同时,本发明还解决了基于有向强连通非平衡有向通信网络下的分布式优化问题。
相比于集中式优化算法,分布式优化算法具有更好的鲁棒性和保密性,且能够处理大规模网络问题,能够有效地避免单点故障问题。研究有向非平衡网络下的分布式优化算法更具有一般性和应用性。采用bb步长降低了算法的计算成本,且避免了常数步长手动调制的尴尬处境。利用多步通信机制提高了梯度估计精确性,从而获得更好地计算性能,进而提高分布式优化算法的可应用性,扩大其应用范围。
为达到上述目的,本发明提供如下技术方案:
一种基于barzilai-borwein步长的多步通信分布式优化方法,具体包括以下步骤:
s1:确定问题目标函数及其强凸系数和光滑系数;
s2:搭建有向强连通非平衡通信网络,并根据网络拓扑的邻接矩阵,采用均匀权值策略生成行列随机权重矩阵;
s3:将系统所有变量进行初始化;
s4:利用节点当前所储存的变量信息计算bb(barzilai-borwein)步长;
s5:系统根据相关参数计算内循环迭代次数p;
s6:节点接收邻居节点的信息,并结合自身所储存的信息,对变量进行更新,直到变量收敛,得到问题目标函数的最优值。
进一步,所述步骤s1具体包括:确定优化问题为:
其中,x*表示最优解;每个局部目标函数
其中,
进一步,所述步骤s2具体包括:搭建含有m个节点的有向强连通非平衡通信网络
进一步,所述步骤s3具体包括:所有节点
进一步,所述步骤s4具体包括:在第k次迭代时,所有节点
其中,
进一步,所述步骤s5中,多步通信机制下的内循环迭代次数p的计算表达式为:
函数
其中,
进一步,所述步骤s6具体包括:
s61:任意节点
s62:任意节点
s63:每个节点i设置迭代次数k=k+1,再返回步骤s4继续运行,直到终止条件满足,即:k≥kmax。
更进一步,所述步骤s61具体包括:任意节点
然后,节点i接收来自邻居节点的信息
其中,p=1,2,…,p表示内循环次数,且设置
更进一步,所述步骤s62具体包括:任意节点
然后,节点i接收来自邻居节点的信息
设置
进一步,该方法适用于一种大规模机器学习系统、能源领域资源分配系统或者智能电网优化调度系统。
本发明的有益效果在于:本发明采用bb步长且结合多步通信机制,提供了一种分布式梯度下降法类的优化方法用于解决有向强连通非平衡有向网络下的分布式优化问题。整个通信网络是一种p2p(对等)网络,不需要中心节点对数据进行收集、分析与处理,能够避免单点失效,且具有更强的鲁棒性和安全性。同时,本发明采用的分布式计算方式,可以有效避免单点故障,且保护用户隐私。采用的bb步长是由系统自动计算,避免了手动调制带来的数据偏差,而且bb步长还节省了存储和计算资源。本发明结合多步通信机制,提高了算法的收敛速率和梯度估计精确性,具有较好的实际应用效能。本发明为有向强连通非平衡通信网络下的分布式优化的应用奠定了理论基础,扩大了其应用范围。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明基于bb步长的多步通信分布式优化方法的流程图;
图2为本发明仿真实验中采用的有向通信网络图;
图3为本发明仿真实验中内循环迭代次数p对所提算法的影响;
图4为本发明仿真实验中有向通信网络下实施例与各对比例以迭代次数为标准的性能对比图;
图5为本发明仿真实验中有向通信网络下实施例与各对比例以通信成本为标准的性能对比图;
图6为本发明仿真实验中有向通信网络下实施例与各对比例以计算成本为标准的性能对比图;
图7为本发明仿真实验中有向通信网络下实施例与各对比例以总成本为标准的性能对比图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
请参阅图1~图7,本发明优选了一种基于bb步长的多步通信分布式优化方法,算法流程如图1所示,具体包括以下步骤:
第一步:本发明研究一种常用的分布式优化问题,如下:
其中,x*表示最优解;每个局部目标函数
以及
面向实际问题时,通常只需在上述优化问题的基础上引入一个实际约束,以智能电网中的电力分配为例,该问题可描述为:
其中,xi表示供电局分配给用户i的电量;mf(x)表示给所有用户发电量的总成本函数;fi(xi)表示用户i的发电量的成本函数;
第二步:搭建含有m个节点的有向强连通非平衡通信网络
第三步:所有节点
第四步:在第k次迭代时,所有节点
其中,
第五步:首先,介绍下列符号:lm表示m维的全1向量;in表示n×n维的单位矩阵;
其中函数
其中,
其中,μ和l分别表示目标函数的强凸系数和光滑系数,ω1>0,ω3>0,
第六步:任意节点
首先,任意节点
然后,节点i接收来自邻居节点的信息
其中,p=1,2,…,p表示内循环次数,且设置
求解下列的局部辅助优化问题:
该问题是根据实际约束且利用拉格朗日乘子法创建的,以此来保证所求算法的最优解满足实际约束。需要说明的是该辅助优化问题仅限于本实施例(即电力分配问题),不同的应用实例所创建的局部辅助优化问题是不同的。
第七步:任意节点
首先,任意节点
然后,节点i接收来自邻居节点的信息
设置
第八步:每个节点i设置迭代次数k=k+1,再返回到第四步继续运行,直到终止条件满足,即:k≥kmax。
本发明方法可以应用到电力分配、经济分配、智能电网等实际问题的处理上,可以通过实际约束且利用拉格朗日乘子法创建具体的局部辅助优化问题,再将该问题与本发明方法相结合,就可以确保本发明的算法的最优解满足这些实际约束,从而有效的解决这些实际问题。
下面结合仿真实验验证本发明方法的有效性。
以机器学习中热门的逻辑回归问题为例,说明本发明的有效性和前沿性。该问题被描述如下:
其中
其中,log(·)表示以10为底的对数函数,exp(·)表示以e为底的指数函数。每个节点i可以访问mi个训练样本对
在仿真实验中,首先探究了内循环迭代次数p对本发明提出的算法的影响,如图3所示。然后,将本发明所提算法与add-opt、frost、
实施例1:本发明的算法运行情况,其中参数设置为:p=4。
实施例2:本发明的算法运行情况,其中参数设置为:p=1。
对比例1:现有技术中已经公开的
对比例2:现有技术中已经公开的
对比例3:现有技术中已经公开的frost算法运行情况,其中参数设置为:α=0.0001。
对比例4:现有技术中已经公开的add-opt算法运行情况,其中参数设置为:α=0.0005。
算法性能比较情况如图4~图7所示。实验结果表明:与现有算法比较,本发明所提出的算法在消耗较少的总成本基础上,达到ε-精确度仅需更少的迭代更新计算。尽管
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。