一种基于Barzilai-Borwein步长的多步通信分布式优化方法与流程

文档序号:23063467发布日期:2020-11-25 17:47阅读:257来源:国知局
一种基于Barzilai-Borwein步长的多步通信分布式优化方法与流程

本发明属于大规模机器学习及信息处理技术领域,涉及一种基于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*表示最优解;每个局部目标函数只有节点i可以访问,其中,表示全体实数集,表示n维实数向量,表示节点集;每个局部目标函数fi是强凸且光滑的,强凸系数和光滑系数分别为μ和l,满足l≥μ>0,即:对于所有的节点以及

其中,表示局部目标函数fi的梯度;需要说明的是,强凸性的设定也保证了最优值x*的存在性和唯一性。

进一步,所述步骤s2具体包括:搭建含有m个节点的有向强连通非平衡通信网络其中表示节点集,表示有向边集,即:对于任意如果表示节点i可以给节点j发送信息;定义:表示节点i的入-邻居节点集合;表示节点i的出-邻居节点集合;根据网络拓扑相应的邻接矩阵,构建行列随机权重矩阵其中,

进一步,所述步骤s3具体包括:所有节点设置k=0以及最大迭代次数kmax;每个节点持有变量信息:xi和yi,变量xi是对局部最优解的估计值,辅助变量yi追踪局部梯度的均值在第k次迭代时,变量的值分别表示为然后,所有节点对所持的所有变量进行初始化设置,即:以及

进一步,所述步骤s4具体包括:在第k次迭代时,所有节点利用自身所携带的信息计算bb步长,表达式如下:

或者

其中,根据目标函数的强凸性和光滑性,推断出:

进一步,所述步骤s5中,多步通信机制下的内循环迭代次数p的计算表达式为:其中p需要大于一个下界,即: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*表示最优解;每个局部目标函数只有节点i可以访问,其中表示全体实数集,表示n维实数向量,表示节点集。每个局部目标函数fi是强凸且光滑的,强凸系数和光滑系数分别为μ和l,满足l≥μ>0,即:对于所有的以及

以及这里,表示局部目标函数fi的梯度。需要说明的是,强凸性的设定也保证了最优值x*的存在性和唯一性。

面向实际问题时,通常只需在上述优化问题的基础上引入一个实际约束,以智能电网中的电力分配为例,该问题可描述为:

其中满足

其中,xi表示供电局分配给用户i的电量;mf(x)表示给所有用户发电量的总成本函数;fi(xi)表示用户i的发电量的成本函数;表示节点i需要满足的一个实际凸、封闭约束集,这里di表示用户i所需的电量;表示分配给所有用户使得发电总成本最低的最优发电量。需要强调的是不同的实际问题,引入的约束是不同的。

第二步:搭建含有m个节点的有向强连通非平衡通信网络其中表示节点集,表示有向边集,即:对于任意如果就表示节点i可以给节点j发送信息。定义:表示节点i的入-邻居节点集合;表示节点i的出-邻居节点集合。根据网络拓扑相应的邻接矩阵,构建行列随机权重矩阵具体地,如下:

第三步:所有节点设置k=0以及最大迭代次数kmax。每个节点持有变量信息:xi和yi。变量xi是对局部最优解的估计值,辅助变量yi追踪局部梯度的均值在第k次迭代时,变量的值分别表示为然后,所有节点对所持的所有变量进行初始化设置,即:以及需要说明的是

第四步:在第k次迭代时,所有节点利用自身所携带的信息计算bb步长,具体表达式如下:

或者

其中,根据目标函数的强凸性和光滑性,可以推断出:

第五步:首先,介绍下列符号:lm表示m维的全1向量;in表示n×n维的单位矩阵;表示克罗内克积;||·||用于向量时表示euclidean范数,用于矩阵时表示谱范数。对于行随机矩阵a,它的特征值1对应的左右特征向量分别为1m和πr,即:对于列随机矩阵b,它的特征值1对应的左右特征向量分别为πc和1m,即:对于任意矩阵x,有x∞=limk→∞xk。根据perron-frobenius定理,可以得到定义:然后,系统根据下列式子计算内循环迭代次数p(p需要大于一个下界,即p需要足够大):

取决于电力分配问题目标函数的性质以及实际分析中一些数学上的代数关系参数,具体地,

其中函数的定义为:

其中,表示正整数集合。式中相关参数定义如下:

其中,μ和l分别表示目标函数的强凸系数和光滑系数,ω1>0,ω3>0,

第六步:任意节点按照下列方式计算主变量

首先,任意节点根据自身变量信息对主变量进行局部计算:

然后,节点i接收来自邻居节点的信息且为了使得梯度估计更为精准,引入多步通信机制,设计内循环策略,如下:

其中,p=1,2,…,p表示内循环次数,且设置

求解下列的局部辅助优化问题:

该问题是根据实际约束且利用拉格朗日乘子法创建的,以此来保证所求算法的最优解满足实际约束。需要说明的是该辅助优化问题仅限于本实施例(即电力分配问题),不同的应用实例所创建的局部辅助优化问题是不同的。

第七步:任意节点按照下列方式计算辅助变量

首先,任意节点根据自身变量信息对辅助变量进行局部计算:

然后,节点i接收来自邻居节点的信息同样地,采用内循环策略,如下:

设置

第八步:每个节点i设置迭代次数k=k+1,再返回到第四步继续运行,直到终止条件满足,即:k≥kmax。

本发明方法可以应用到电力分配、经济分配、智能电网等实际问题的处理上,可以通过实际约束且利用拉格朗日乘子法创建具体的局部辅助优化问题,再将该问题与本发明方法相结合,就可以确保本发明的算法的最优解满足这些实际约束,从而有效的解决这些实际问题。

下面结合仿真实验验证本发明方法的有效性。

以机器学习中热门的逻辑回归问题为例,说明本发明的有效性和前沿性。该问题被描述如下:

其中

其中,log(·)表示以10为底的对数函数,exp(·)表示以e为底的指数函数。每个节点i可以访问mi个训练样本对其中,cij表示特征向量,yij是相应的二分类标签。另外,λ||x||2的作用是防止数据过度拟合。在本实验设置中,m=100,n=50,mi=20,以及λ=0.01。至于训练样本,采用如下方式生成:首先,利用标准正态分布生成向量v和特征向量cij。然后,相应的二分类标签yij以概率1/(1+exp(-vtcij))设置为。否则,设置为-1。此外,如图2所示,本实验构建了一个含100个节点的有向强连通通信网络。具体构建方式如下:首先,同向有序连接所有网络节点,以确保网络的强连通性。其次,每个节点再任意选择三个节点进行连接,即:网络中每个节点有4个出-邻居节点。最后,根据网络拓扑对应的邻接矩阵,利用均匀权重策略生成行列随机矩阵a和b。需要说明的是,该网络仅仅用于解释本发明。在实际应用中,该网络可以随机生成,只需保证其强连通性,就可以采用本发明提出的方法。

在仿真实验中,首先探究了内循环迭代次数p对本发明提出的算法的影响,如图3所示。然后,将本发明所提算法与add-opt、frost、以及四个已经公开的前沿算法进行性能比较。所有实验均采用作为最优性精度测量。为了更为全面地体现所提算法的优势,本实验从迭代次数、通信成本、计算成本以及总成本四个方面比较算法性能。所有算法中的相关参数都已经过最优调制,具体的参数设置情况如下:

实施例1:本发明的算法运行情况,其中参数设置为:p=4。

实施例2:本发明的算法运行情况,其中参数设置为:p=1。

对比例1:现有技术中已经公开的算法运行情况,其中参数设置为:α=0.1,β=0.3。

对比例2:现有技术中已经公开的算法运行情况,其中参数设置为:α=0.1。

对比例3:现有技术中已经公开的frost算法运行情况,其中参数设置为:α=0.0001。

对比例4:现有技术中已经公开的add-opt算法运行情况,其中参数设置为:α=0.0005。

算法性能比较情况如图4~图7所示。实验结果表明:与现有算法比较,本发明所提出的算法在消耗较少的总成本基础上,达到ε-精确度仅需更少的迭代更新计算。尽管算法相比于本发明的算法消耗的总成本更少,但是本发明的算法的收敛速率却远远大于算法的收敛速率,因而本发明的算法的具有更好的性价比。此外,如图3所示,内循环迭代次数p可以提升本发明提出的算法的计算性能,但是随着p的增大,性能提升效果逐渐降低,因而在实际应用中应该从迭代次数、通信成本、计算成本以及总成本四个方面确定最优p值。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

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