[发明专利]一种面向神经网络异步训练的学习率调整方法有效
申请号: | 202110254554.4 | 申请日: | 2021-03-09 |
公开(公告)号: | CN112861991B | 公开(公告)日: | 2023-04-14 |
发明(设计)人: | 李尹健;卢宇彤 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F18/214 | 分类号: | G06F18/214;G06F17/16;G06N3/0464;G06N3/08 |
代理公司: | 深圳市创富知识产权代理有限公司 44367 | 代理人: | 高冰 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 神经网络 异步 训练 学习 调整 方法 | ||
1.一种面向神经网络异步训练的学习率调整方法,其特征在于,所述方法包括以下步骤:
S1初始化与神经网络的相关超参数,包括有学习率、批次大小的参数;
S2参数服务器将神经网络的参数发送给所有空闲的计算节点:对在上一次循环中计算完成并已经提交了计算结果的所有节点,参数服务器将更新后的参数分别发给计算节点后开始下一轮的计算;在此步骤后整体进入下一轮计算,当前轮次tglob=tglob+1,将所有接收了最新网络的节点的轮次更新等于总体轮次ti=tglob;
S3等待任一节点计算完毕;接收其计算结果,反复执行此操作,直到已经接收了c个计算结果;
S4对于c个接收的计算梯度,分别调整其学习率;
S5使用步骤S4中得到的学习率和接收的c个梯度,对网络进行一步梯度下降的更新;
S6判断网络精度是否满足要求,若已达到要求,则完成训练,将回应2发送给所有计算节点,退出;否则回到步骤S2,并将回应1发送给所有本轮计算完成的节点,进行下一轮循环的训练。
2.根据权利要求1所述的面向神经网络异步训练的学习率调整方法,其特征在于,将当前总体轮次tglob设置为0以及随机初始化神经网络中的所有参数。
3.根据权利要求2所述的面向神经网络异步训练的学习率调整方法,其特征在于,随机初始化神经网络中的所有参数的初始方法是将所有卷积层和全链接层的所有参数按标准正态分布N(0,1)初始化,对所有BN层的γ初始化为1,β初始化为0。
4.根据权利要求1所述的面向神经网络异步训练的学习率调整方法,其特征在于,所述步骤S4还包括:
S4.1输入:
(1)服务器接收的c个梯度;
(2)每个梯度对应的延迟li,i=1,2,...c;计算方式为li=tglob-ti;
(3)每个梯度计算时使用的样本数量bi,i=1,2,...,c;
(4)超参数:θ、b0、r0;其中θ用于衡量异步误差,越大则认为延迟对梯度的准确率影响越大;b0是正常单机训练时的样本批量大小,r0是正常单机训练时的学习率;
S4.2将所有梯度按照延迟从小到大排序,计算每个延迟下所有梯度的批量大小的和;
在这一步后,可以得到一个合并后的延迟-批量大小数列:
l1,b'1;l2,b'2;...;lc1,b'c1;
其中c1是不同的延迟数,b'i是第i小的梯度的合并后的批量大小;因为相同延迟的梯度会被合并,所以c1≤c;
S4.3由步骤S4.2中的数列,得以下矩阵方程:
AX=D
其中:
A=A1+A2
是本次训练所有梯度的延迟的均值;
求解X,得到解x1,x2,...,xc1+1
令
A'=A1..c1,1..c1
S4.4由以下公式,计算出c个梯度分别最终的学习率:
其中i=1,2,...c;i'=1,2,...,c1,i'是原来第i个梯度被合并、排序后的编号;
S4.5输出r1,r2,...,rc;
在c=1的时候,参数服务器仅接收一个梯度,步骤S4.2-步骤S4.5可以简化为以下公式:
其中:
l是接收的梯度的延迟,b是接收的梯度的批量大小,r'是修改后的学习率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110254554.4/1.html,转载请声明来源钻瓜专利网。