一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法、系统、存储介质及电子设备与流程

2021-12-08 00:59:00 来源:中国专利 TAG:


1.本发明涉及对抗学习技术领域,更具体地说,涉及一种数据处理方法、系统、存储介质及电子设备。


背景技术:

2.对抗学习是一种机器学习方法。对抗学习实现的方法,是让两个网络相互竞争对抗,其中一个是生成器网络,它不断捕捉训练库里真实图片的概率分布,将输入的随机噪声转变成新的样本(假数据),另一个是判别器网络,它可以同时观察真实和假造的数据,判断这个数据的真假。通过反复对抗,生成器和判别器的能力都会不断增强,直到达成一个平衡,最后生成器可生成高质量的、以假乱真的图片。
3.在对抗学习中,模型效果十分依赖所采用的学习速率,因此自适应的学习速率在实践中具有重要意义。自适应的学习速率不需要工程师手动调整学习速率,消除了模型学习中人为因素的干扰,因此也是实现可靠人工智能的重要技术。
4.由于对抗学习的数据集通常数量巨大,在训练时需要使用分布式的训练方式。另外。在对抗学习中,模型效果十分依赖所采用自适应学习速率。由于对抗学习的损失函数具有最小化

最大化的结构,使得现有的技术方案无法同时实现自适应学习速率与分布式计算。
5.因此,在对抗学习进行训练的训练方式的局限性高。


技术实现要素:

6.有鉴于此,本发明公开了一种数据处理方法、系统、存储介质及电子设备,实现降低了对抗学习进行训练的局限性和提高工程实践效率的目的。
7.为了实现上述目的,其公开的技术方案如下:
8.本发明第一方面公开了一种数据处理方法,所述方法包括:
9.在迭代计算过程中,获取各个并行设备的当前迭代次数的自适应学习速率;
10.若所述当前迭代次数符合第一预设条件,将获取到的本地模型参数和所述自适应学习速率进行加权平均计算,得到加权平均后的模型参数并将所述加权平均后的模型参数对预先获取到的本地模型参数进行更新;
11.若所述当前迭代次数符合第二预设条件,基于所述加权平均后的模型参数所述权重和预先获取到的并行设备数的总和,得到本地模型参数并将所述本地模型参数对所述本地模型参数进行更新;
12.通过额外梯度算法,将更新后的本地模型参数进行计算,得到随机梯度方向,并基于所述随机梯度方向,确定目标模型参数;
13.基于所述目标模型参数,执行网络模型训练操作。
14.优选的,所述在迭代计算过程中,获取各个并行设备的当前迭代次数的自适应学
习速率,包括:
15.在迭代计算过程中,获取可行集的直径、预设梯度上界的估计值、预设基础学习速率和各个并行设备的当前迭代次数;
16.当所述当前迭代次数等于预设次数时,计算得到本地模型参数本地模型参数和本地模型参数
17.将所述可行集的直径、预设梯度上界的估计值、预设基础学习速率、各个并行设备的当前迭代次数、本地模型参数本地模型参数和本地模型参数进行计算,得到自适应学习速率。
18.优选的,所述若所述当前迭代次数符合第一预设条件,将获取到的本地模型参数和所述自适应学习速率进行加权平均计算,得到加权平均后的模型参数并将所述加权平均后的模型参数对预先获取到的本地模型参数进行更新,包括:
19.将所述当前迭代次数与预设次数进行求差计算,得到差值;
20.若所述差值属于各个设备通信时间节点集合,则确定各个并行设备之间处于通信状态,所述各个设备通信时间节点集合由并行设备本地更新步数和总迭代数目确定,所述总迭代数目由并行设备间通信次数和并行设备本地更新的步数确定;
21.在各个并行设备之间处于通信状态下,使各个并行设备发送本地模型参数和所述自适应学习速率至中心设备,触发所述中心设备将所述本地模型参数所述自适应学习速率和预先获取到的并行设备数的总和进行加权平均计算,得到权重和加权平均后的模型参数所述加权平均后的模型参数由所述权重、所述获取到的本地模型参数和所述并行设备数的总和确定;
22.将所述加权平均后的模型参数对预先获取到的本地模型参数进行更新。
23.优选的,所述若所述当前迭代次数符合第二预设条件,基于所述加权平均后的模型参数所述权重和预先获取到的并行设备数的总和,得到本地模型参数并将所述本地模型参数对所述本地模型参数进行更新,包括:
24.将所述当前迭代次数与预设次数进行求差计算,得到差值;
25.若所述差值不属于各个并行设备通信时间节点集合,则确定各个并行设备之间处于非通信状态,所述各个设备通信时间节点集合由并行设备本地更新步数和总迭代数目确定,所述总迭代数目由并行设备间通信次数和并行设备本地更新的步数确定;
26.在各个设备之间处于非通信状态下,基于所述加权平均后的模型参数所述权重和预先获取到的并行设备数的总和,得到本地模型参数
27.将所述本地模型参数对所述本地模型参数进行更新。
28.优选的,在所述获取各个并行设备的当前迭代次数的自适应学习速率之前,还包括:
29.获取可行集的直径、预设基础学习速率和预设梯度上界的估计值;
30.对所述可行集的直径、所述预设基础学习速率和预设梯度上界的估计值进行初始
化计算,得到初始学习速率。
31.优选的,在所述获取各个并行设备的当前迭代次数的自适应学习速率之前,还包括:
32.初始化各个并行设备的本地模型参数。
33.本发明第二方面公开了一种数据处理系统,所述系统包括:
34.获取单元,用于在迭代计算过程中,获取各个并行设备的当前迭代次数的自适应学习速率;
35.第一更新单元,用于若所述当前迭代次数符合第一预设条件,将获取到的本地模型参数和所述自适应学习速率进行加权平均计算,得到权重和加权平均后的模型参数并将所述加权平均后的模型参数对预先获取到的本地模型参数进行更新;
36.第二更新单元,用于若所述当前迭代次数符合第二预设条件,基于所述加权平均后的模型参数所述权重和预先获取到的并行设备数的总和,得到本地模型参数并将所述本地模型参数对所述本地模型参数进行更新;
37.确定单元,用于通过额外梯度算法,将更新后的本地模型参数进行计算,得到随机梯度方向,并基于所述随机梯度方向,确定目标模型参数;
38.执行单元,用于基于所述目标模型参数,执行网络模型训练操作。
39.优选的,所述获取单元,包括:
40.获取模块,用于获取可行集的直径、预设梯度上界的估计值、预设基础学习速率和各个并行设备的当前迭代次数;
41.第一计算模块,用于当所述当前迭代次数等于预设次数时,计算得到本地模型参数本地模型参数和本地模型参数
42.第二计算模块,用于将所述可行集的直径、预设梯度上界的估计值、预设基础学习速率、各个并行设备的当前迭代次数、本地模型参数本地模型参数和本地模型参数进行计算,得到自适应学习速率。
43.本发明第三方面公开了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如第一方面任意一项所述的数据处理方法。
44.本发明第四方面公开了一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如第一方面任意一项所述的数据处理方法。
45.经由上述技术方案可知,获取各个并行设备的当前迭代次数的自适应学习速率,若当前迭代次数符合第一预设条件,将获取到的本地模型参数和自适应学习速率进行加权平均计算,得到加权平均后的模型参数并将加权平均后的模型参数对预先获取到的本地模型参数进行更新,若当前迭代次数符合第二预设条件,基于加权平均后的模型参数权重和预先获取到的并行设备数的总和,得到本地模型参数并将本地
模型参数对本地模型参数进行更新,通过额外梯度算法,将更新后的本地模型参数进行计算,得到随机梯度方向,并基于随机梯度方向,确定目标模型参数,基于目标模型参数,执行网络模型训练操作。通过上述方案,结合额外梯度算法以及自适应学习速率,可同时实现在抗学习进行训练时自适应学习速率与分布式计算,降低了对抗学习进行训练的局限性。此外,自适应学习速率的计算在本地上进行,无需设备之间进行通信,从而减轻了工程师试错式的模型训练,提高了工程实践效率。
附图说明
46.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
47.图1为本发明实施例公开的一种数据处理方法的流程示意图;
48.图2为本发明实施例公开的收敛速度效果对比示意图;
49.图3为本发明实施例公开的获取各个并行设备的当前迭代次数的自适应学习速率的流程示意图;
50.图4为本发明实施例公开的将加权平均后的模型参数对预先获取到的本地模型参数进行更新的流程示意图;
51.图5为本发明实施例公开的将本地模型参数对本地模型参数进行更新的流程示意图;
52.图6为本发明实施例公开的一种数据处理系统的结构示意图;
53.图7为本发明实施例公开的一种电子设备的结构示意图。
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
56.由背景技术可知,在对抗学习进行训练的训练方式的局限性高。
57.为了解决该问题,本发明公开了一种数据处理方法、系统、存储介质及电子设备,结合额外梯度算法以及自适应学习速率,可同时实现在抗学习进行训练时自适应学习速率与分布式计算,降低了对抗学习进行训练的局限性。此外,自适应学习速率的计算在本地上
进行,无需设备之间进行通信,从而减轻了工程师试错式的模型训练,提高了工程实践效率。具体实现方式通过下述实施例具体进行说明。
58.本方案解决如下对抗式优化问题:
59.min
x∈x
max
y∈y
f(x,y)
ꢀꢀꢀꢀꢀꢀꢀ
公式(1)
60.其中,x和y是模型参数模型搜索空间(也叫做可行集),f是针对不同机器学习问题而定的训练函数,min为最小值,max为最大值。上面的数学模型涵盖了工程实践中的很多问题,例如生成式对抗神经网络训练、双线性博弈论模型求解等。我们假设函数f具有凸凹性,并且我们考虑函数f是光滑或者不光滑的情形。我们提出的算法呈现在下图的算法框中。为符号方便,将变量x和变量y(表示模型参数)合并记作z,将集合x和集合y的乘积集合记作z。
61.参考图1所示,为本发明实施例公开的一种数据处理方法的流程示意图,该数据处理方法主要包括如下步骤:
62.步骤s101:执行初始化操作。
63.在步骤s101中,初始化操作包括初始化计算和初始化各个并行设备的本地模型参数。
64.在初始化操作之前,需进行算法参数输入,参数包括可行集的直径d、预设基础学习速率α、预设梯度上界的估计值g0、并行设备本地更新的步数k、并行设备数m和并行设备通信次数r。
65.初始化操作的过程如下:
66.首先,获取可行集的直径、预设基础学习速率和预设梯度上界的估计值,然后,对可行集的直径、预设基础学习速率和预设梯度上界的估计值进行初始化计算,得到初始学习速率,初始化学习速率的公式如下:
[0067][0068]
其中,为初始学习速率,d为可行集的直径,α为预设基础学习速率,α的取值为0.01或0.1,g0为预设梯度上界的估计值,g0根据数据集进行估计得到。
[0069]
初始化各个设备的本地模型参数的过程如下:
[0070]
在获取各个并行设备的当前迭代次数的自适应学习速率之前,初始化各个并行设备的本地模型参数。
[0071]
初始化各个并行设备的本地模型参数的公式如下:
[0072][0073]
其中,为初始化后的本地模型参数。
[0074]
初始化操作完成后,定义各个并行设备通信时间节点集合s={0,k,2k,

,rk}。
[0075]
k为并行设备本地更新的步数,r为并行设备间通信次数。
[0076]
当前迭代次数t=(1,2,

t)的过程中,各个并行设备均执行步骤s102至步骤s105,直至完成迭代过程结束。
[0077]
其中,t=kr,t为每个并行设备的总迭代数目。
[0078]
步骤s102:在迭代计算过程中,获取各个并行设备的当前迭代次数的自适应学习速率。
[0079]
在步骤s102中,具体在迭代计算过程中,获取各个并行设备的当前迭代次数的自
适应学习速率的过程如下:
[0080]
首先,在迭代计算过程中,获取可行集的直径、预设梯度上界的估计值、预设基础学习速率和各个并行设备的当前迭代次数,然后,当当前迭代次数等于预设次数时,计算得到本地模型参数本地模型参数和本地模型参数最后,将可行集的直径、预设梯度上界的估计值、预设基础学习速率、各个并行设备的当前迭代次数、本地模型参数本地模型参数和本地模型参数进行计算,得到自适应学习速率。
[0081]
自适应学习速率的公式如下:
[0082][0083]
其中,为在迭代次数等于τ时计算出的自适应学习速率,和均为在迭代次数等于τ时计算出的本地模型参数,d为可行集的直径,α为预设基础学习速率,α的取值为0.01或0.1,g0为预设梯度上界的估计值,t为当前迭代次数,g0根据数据集进行估计得到,∑为求和。
[0084]
公式(4)的分母中的求和项将本地设备中出现过的模型参数先进行求差后再求和。
[0085]
需要说明的是,自适应学习速率的计算只依赖本地机器上的数据集以及本地出现过的模型迭代参数,而不需要进行机器之间的相互通信。
[0086]
步骤s103:若当前迭代次数符合第一预设条件,将获取到的本地模型参数和自适应学习速率进行加权平均计算,得到加权平均后的模型参数并将加权平均后的模型参数对预先获取到的本地模型参数进行更新。
[0087]
在步骤s103中,若t

1∈s,即当前迭代次数符合第一预设条件,则在当前迭代次数中,各个并行设备需要进行通信,其中,s为各个并行设备通信时间节点集合。
[0088]
通过机器通信协议与模型加权平均规则,将获取到的本地模型参数和自适应学习速率进行加权平均计算。规定每台设备在更新k步之后向一个中心设备传递当前的模型参数以及学习步长。在中心设备上,我们计算各台设备模型的加权平均,其中权重与机器的当前学习步长成反比。然后我们将加权平均之后模型并广播到各个并行设备上。
[0089]
具体若当前迭代次数符合第一预设条件,将获取到的本地模型参数和自适应学习速率进行加权平均计算,得到加权平均后的模型参数并将加权平均后的模型参数对预先获取到的本地模型参数进行更新的过程如下:
[0090]
首先,将当前迭代次数与预设次数进行求差计算,得到差值,其次,若差值属于各个设备通信时间节点集合,则确定各个并行设备之间处于通信状态,各个设备通信时间节点集合由并行设备本地更新步数和总迭代数目确定,总迭代数目由并行设备间通信次数和并行设备本地更新的步数确定,然后,在各个并行设备之间处于通信状态下,使各个并行设备发送本地模型参数和自适应学习速率至中心设备,触发中心设备将本地模型参数
自适应学习速率和预先获取到的并行设备数的总和进行加权平均计算,得到权重和加权平均后的本地模型参数加权平均后的本地模型参数由权重、获取到的本地模型参数和并行设备数的总和确定,最后,将加权平均后的本地模型参数对预先获取到的本地模型参数进行更新,即,中心设备更新本地模型参数
[0091]
触发中心设备将本地模型参数自适应学习速率和预先获取到的并行设备数的总和进行加权平均计算,得到权重和加权平均后的模型参数的公式分别如下:
[0092][0093]
其中,w
m
为权重,∑
m
为并行设备数的总和,为在迭代次数等于τ时计算出的自适应学习速率。
[0094][0095]
其中,为加权平均后的本地模型参数,∑
m
为并行设备数的总和,w
m
为权重,为本地模型参数。
[0096]
步骤s104:若当前迭代次数符合第二预设条件,基于加权平均后的模型参数权重和预先获取到的并行设备数的总和,得到本地模型参数并将本地模型参数对本地模型参数进行更新。
[0097]
在步骤s104中,若即当前迭代次数符合第二预设条件,则在当前迭代次数中,各个并行设备不需要进行通信。
[0098]
具体若当前迭代次数符合第二预设条件,基于加权平均后的模型参数权重和预先获取到的并行设备数的总和,得到本地模型参数并将本地模型参数对所述本地模型参数进行更新的过程如下:
[0099]
首先,将当前迭代次数与预设次数进行求差计算,得到差值,其次,若差值不属于各个并行设备通信时间节点集合,则确定各个并行设备之间处于非通信状态,各个设备通信时间节点集合由并行设备本地更新步数和总迭代数目确定,总迭代数目由并行设备间通信次数和并行设备本地更新的步数确定,然后,在各个设备之间处于非通信状态下,基于加权平均后的模型参数权重和预先获取到的并行设备数的总和,得到本地模型参数最后将本地模型参数对本地模型参数进行更新,即中心设备更新本地模型参数
[0100]
步骤s103和步骤s104即为迭代计算过程,在迭代计算过程完成后,执行步骤s105。
[0101]
步骤s105:通过额外梯度算法,将更新后的本地模型参数进行计算,得到随机梯度方向,并基于随机梯度方向,确定目标模型参数。
[0102]
其中,额外梯度算法是对抗训练常用的算法。他与常规的梯度下降算法不同,他在
每一次迭代中需要计算两次随机梯度,之后进行两次梯度下降。第一次的梯度下降在当前本地模型处沿着在出计算的随机梯度方向进行下降。将第一步得到的模型记作第二次的梯度下降在当前模型处沿着在出计算的随机梯度方向进行下降。在每个并行设备上,我们首先随机采样得到小批量的训练样本,利用这些样本计算随机梯度方向。
[0103]
在步骤s105中,通过额外梯度算法,将更新后的本地模型参数进行计算,得到第一随机梯度方向和第二随机梯度方向,并基于第一随机梯度方向和第二随机梯度方向,确定目标模型参数其中,∑
m
为并行设备数的总和,∑
t
为迭代次数的总和,t为每个并行设备的总迭代数目,为本地模型参数。
[0104]
第一随机梯度方向的公式如下:
[0105][0106]
其中,为本地模型参数,π
z
为投影因子,为本地模型参数,为自适应学习速率,是在出计算的第一随机梯度方向。
[0107]
第二随机梯度方向的公式如下:
[0108][0109]
其中,为本地模型参数,π
z
为投影因子,为本地模型参数,为自适应学习速率,是在出计算的第二随机梯度方向。
[0110]
步骤s106:基于目标模型参数,执行网络模型训练操作。
[0111]
在步骤s106中,网络模型训练操作可以是在图像生成、可靠鲁棒模型训练以及博弈论模型的求解等场景。
[0112]
针对分布式、模型参数模型本地更新式场景下对抗学习任务中的自适应学习速率设计,在该算法中自适应学习速率的设计是基于本地机器迭代出现过的模型参数而定,不需要预先知道数据集的参数。自适应学习速率的计算完全在本地上进行,不需要机器间通信。自适应学习速率减轻工程师试错式的模型训练,提高了工程实践效率。
[0113]
本方案的自适应的分布式对抗学习算法在模型参数量巨大,训练数据量巨大、需要实现用户隐私保护、分布式计算、并行设备通信速度慢等诸多场景下具有重要工程实践意义。采用本技术方案可大幅降低分布式训练大规模对抗学习模型的训练通信,通信误差和学习率调试问题。
[0114]
例如,对于图像生成任务上,imagenet的数据集包含一千多万个样本,生成式对抗网络模型包含上千万的参数量。直接采用tensorflow/pytorch或者传统的分布式算法来训练,在并行设备和中心设备之间会存在超高的通信量并且学习率也难以调整。同时学习速率的设计对生成图像的质量有重要影响,每次调整学习率均需要消耗大量的gpu算例资源,大量增加了企业的成本。采用本专利中的技术方案可以统一的解决模型训练中的通信问题以及学习率调整问题,从而可以快速有效的训练大规模的对抗学习网络模型。
[0115]
理论上对如上算法给出了如下收敛保证。对于不可导的函数f,证明本方案的输出
具有如下收敛速度:
[0116][0117]
其中,函数dualgap衡量某一个模型模型参数的质量,是对抗学习中常用的模型参数模型衡量准则,为收敛速度,o为略去常数项,e为期望值,g为函数f的梯度模的上界,γ是工程师初始梯度估计与函数f的梯度模的上界的比值,t是每台设备的总迭代数,d为可行集的直径,σ为随机梯度的噪声程度,m为并行设备数。
[0118]
对于模型参数该衡量准则的具体定义为:
[0119][0120]
其中,函数dualgap衡量某一个模型模型参数的质量,是对抗学习中常用的模型参数模型衡量准则,和均为变量,x和y是模型搜索空间(也叫做可行集),f是针对不同机器学习问题而定的训练函数,max为最大值,min为最小值。
[0121]
随着迭代次数的增加,该算法的输出在期望意义下会逼近函数f的鞍点。
[0122]
对于函数f为可导的情况,本方案的输出具有如下收敛速度
[0123][0124]
其中,为收敛速度,v1(t)为每一台设备上出现的随机梯度的模之和开根号的期望值,o为略去常数项,d为可行集的直径,g为函数f的梯度模的上界,m为并行设备数,γ是工程师初始梯度估计与函数f的梯度模的上界的比值,l为函数f的光滑程度,t是每台设备的总迭代数,σ为随机梯度的噪声程度,从理论上说,以上的收敛速率是任何算法可以达到的最佳收敛速率。
[0125]
结合图2所示,本方案提出的算法应用到训练生成式对网络模型训练的问题上。利用(frechet inception distance,fid)(fid越低代表算法效果越好)和(inception score,is)(is越高算法的效果越好)来度量本方案算法的优越性,根据以下的试验结果可以看出,在相同的通信量的情况下,本方案的算法可以快速的收敛并且达到最好的效果。
[0126]
图2中,mb

asmp表示小批量自适应镜面单梯度下降算法,mb

ump表示小批量全局镜面梯度下降算法,localadam表示局部自适应梯度下降算法,localadaseg表示本方案的算法,纵坐标(1.00、1.25、1.50、1.75、2.00、2.25、2.50、2.75)表示is值,横坐标(0、2、4、6、8、10)表示通信量。
[0127]
综上所述,本方案中提出的对抗学习算法可以取得最佳的收敛速率,并且随着设备数量的增多,算法的收敛速度逐渐加快。另外,算法中的自适应学习率调整机制大幅降低了学习率调整的成本,提高了算法的稳定性。同时,我们从理论上也验证了本方案提出的算法的收敛性,保证了算法在多种环境下均收敛,增强了本方案的可信程度。
[0128]
本发明实施例中,结合额外梯度算法以及自适应学习速率,可同时实现在抗学习进行训练时自适应学习速率与分布式计算,降低了对抗学习进行训练的局限性。此外,自适应学习速率的计算在本地上进行,无需设备之间进行通信,从而减轻了工程师试错式的模型训练,提高了工程实践效率。
[0129]
参考图3所示,为在上述步骤s102中涉及到获取各个并行设备的当前迭代次数的自适应学习速率的过程,主要包括如下步骤:
[0130]
步骤s301:获取可行集的直径、预设梯度上界的估计值、预设基础学习速率和各个并行设备的当前迭代次数。
[0131]
步骤s302:当当前迭代次数等于预设次数时,计算得到本地模型参数本地模型参数和本地模型参数
[0132]
步骤s303:将可行集的直径、预设梯度上界的估计值、预设基础学习速率、各个并行设备的当前迭代次数、本地模型参数本地模型参数和本地模型参数进行计算,得到自适应学习速率。
[0133]
步骤s301

步骤s303的执行原理与上述步骤s102的执行原理一致,可参考,此处不再进行赘述。
[0134]
本发明实施例中,将可行集的直径、预设梯度上界的估计值、预设基础学习速率、各个并行设备的当前迭代次数、本地模型参数本地模型参数和本地模型参数进行计算,实现得到自适应学习速率的目的。
[0135]
参考图4所示,为上述步骤s103中涉及到若当前迭代次数符合第一预设条件,将获取到的本地模型参数和自适应学习速率进行加权平均计算,得到加权平均后的模型参数并将加权平均后的模型参数对预先获取到的本地模型参数进行更新的过程,主要包括如下步骤:
[0136]
步骤s401:将当前迭代次数与预设次数进行求差计算,得到差值。
[0137]
步骤s402:若差值属于各个设备通信时间节点集合,则确定各个并行设备之间处于通信状态,各个设备通信时间节点集合由并行设备本地更新步数和总迭代数目确定,总迭代数目由并行设备间通信次数和并行设备本地更新的步数确定。
[0138]
步骤s403:在各个并行设备之间处于通信状态下,使各个并行设备发送本地模型参数和自适应学习速率至中心设备,触发中心设备将本地模型参数自适应学习速率和预先获取到的并行设备数的总和进行加权平均计算,得到权重和加权平均后的模型参数加权平均后的模型参数由权重、获取到的本地模型参数和并行设备数的总和确定。
[0139]
步骤s404:将加权平均后的模型参数对预先获取到的本地模型参数进行更新。
[0140]
步骤s401

步骤s404的执行原理与上述步骤s103的执行原理一致,可参考,此处不再进行赘述。
[0141]
本发明实施例中,将当前迭代次数与预设次数进行求差计算,得到差值,在各个并行设备之间处于通信状态下,使各个并行设备发送本地模型参数和自适应学习速率至中心设备,触发中心设备将本地模型参数自适应学习速率和预先获取到的并行设备数的总和进行加权平均计算,得到权重和加权平均后的模型参数实现将加权平均后的
模型参数对预先获取到的本地模型参数进行更新的目的。
[0142]
参考图5所示,为上述步骤s104中涉及到若当前迭代次数符合第二预设条件,基于加权平均后的模型参数权重和预先获取到的并行设备数的总和,得到本地模型参数并将本地模型参数对本地模型参数进行更新的过程,主要包括如下步骤:
[0143]
步骤s501:将当前迭代次数与预设次数进行求差计算,得到差值。
[0144]
步骤s502:若差值不属于各个并行设备通信时间节点集合,则确定各个并行设备之间处于非通信状态,各个设备通信时间节点集合由并行设备本地更新步数和总迭代数目确定,总迭代数目由并行设备间通信次数和并行设备本地更新的步数确定。
[0145]
步骤s503:在各个设备之间处于非通信状态下,基于加权平均后的模型参数权重和预先获取到的并行设备数的总和,得到本地模型参数
[0146]
步骤s504:将本地模型参数对本地模型参数进行更新。
[0147]
步骤s501

步骤s504的执行原理与上述步骤s104的执行原理一致,可参考,此处不再进行赘述。
[0148]
本发明实施例中,将当前迭代次数与预设次数进行求差计算,得到差值,在各个设备之间处于非通信状态下,基于加权平均后的模型参数权重和预先获取到的并行设备数的总和,得到本地模型参数实现将本地模型参数对本地模型参数进行更新的目的。
[0149]
基于上述实施例图1公开的一种数据处理方法,本发明实施例还对应公开了一种数据处理系统,如图6所示,该数据处理系统包括获取单元601、第一更新单元602、第二更新单元603、确定单元604和执行单元605。
[0150]
获取单元601,用于获取各个并行设备的当前迭代次数的自适应学习速率。
[0151]
第一更新单元602,用于若当前迭代次数符合第一预设条件,将获取到的本地模型参数和自适应学习速率进行加权平均计算,得到权重和加权平均后的模型参数并将加权平均后的模型参数对预先获取到的本地模型参数进行更新。
[0152]
第二更新单元603,用于若当前迭代次数符合第二预设条件,基于加权平均后的模型参数权重和预先获取到的并行设备数的总和,得到本地模型参数并将本地模型参数对本地模型参数进行更新。
[0153]
确定单元604,用于通过额外梯度算法,将更新后的本地模型参数进行计算,得到随机梯度方向,并基于随机梯度方向,确定目标模型参数。
[0154]
执行单元605,用于基于目标模型参数,执行网络模型训练操作。
[0155]
进一步的,获取单元601,包括:
[0156]
获取模块,用于获取可行集的直径、预设梯度上界的估计值、预设基础学习速率和各个并行设备的当前迭代次数。
[0157]
第一计算模块,用于当所述当前迭代次数等于预设次数时,计算得到本地模型参
数本地模型参数和本地模型参数
[0158]
第二计算模块,用于将所述可行集的直径、预设梯度上界的估计值、预设基础学习速率、各个并行设备的当前迭代次数、本地模型参数本地模型参数和本地模型参数进行计算,得到自适应学习速率。
[0159]
进一步的,第一更新单元602,包括:
[0160]
第三计算模块,用于将当前迭代次数与预设次数进行求差计算,得到差值。
[0161]
第一确定模块,用于若差值属于各个设备通信时间节点集合,则确定各个并行设备之间处于通信状态,各个设备通信时间节点集合由并行设备本地更新步数和总迭代数目确定,总迭代数目由并行设备间通信次数和并行设备本地更新的步数确定。
[0162]
第四计算模块,用于在各个并行设备之间处于通信状态下,使各个并行设备发送本地模型参数和自适应学习速率至中心设备,触发中心设备将本地模型参数自适应学习速率和预先获取到的并行设备数的总和进行加权平均计算,得到权重和加权平均后的模型参数加权平均后的模型参数由权重、获取到的本地模型参数和并行设备数的总和确定。
[0163]
第一更新模块,用于将加权平均后的模型参数对预先获取到的本地模型参数进行更新。
[0164]
进一步的,第二更新单元603,包括:
[0165]
第五计算模块,用于将当前迭代次数与预设次数进行求差计算,得到差值。
[0166]
第二确定模块,用于若差值不属于各个并行设备通信时间节点集合,则确定各个并行设备之间处于非通信状态,各个设备通信时间节点集合由并行设备本地更新步数和总迭代数目确定,总迭代数目由并行设备间通信次数和并行设备本地更新的步数确定。
[0167]
获取模块,用于在各个设备之间处于非通信状态下,基于加权平均后的模型参数权重和预先获取到的并行设备数的总和,得到本地模型参数
[0168]
第二更新模块,用于将本地模型参数对本地模型参数进行更新。
[0169]
进一步的,还包括第一初始化单元,第一初始化单元包括:
[0170]
获取模块,用于获取可行集的直径、预设基础学习速率和预设梯度上界的估计值。
[0171]
第六计算模块,用于对可行集的直径、预设基础学习速率和预设梯度上界的估计值进行初始化计算,得到初始学习速率。
[0172]
进一步的,还包括第二初始化单元。
[0173]
第二初始化单元,用于初始化各个并行设备的本地模型参数。
[0174]
本发明实施例中,结合额外梯度算法以及自适应学习速率,可同时实现在抗学习进行训练时自适应学习速率与分布式计算,降低了对抗学习进行训练的局限性。此外,自适应学习速率的计算在本地上进行,无需设备之间进行通信,从而减轻了工程师试错式的模型训练,提高了工程实践效率。
[0175]
本发明实施例还提供了一种存储介质,存储介质包括存储的指令,其中,在指令运行时控制存储介质所在的设备执行上述数据处理方法。
[0176]
本发明实施例还提供了一种电子设备,其结构示意图如图7所示,具体包括存储器701,以及一个或者一个以上的指令702,其中一个或者一个以上指令702存储于存储器701中,且经配置以由一个或者一个以上处理器703执行所述一个或者一个以上指令702执行上述数据处理方法。
[0177]
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
[0178]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0179]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0180]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献