本发明专利技术公开一种大批量的去中心化分布式图像分类器训练方法和系统,各工作节点使用本地图像分类器参数,根据本地存储的图像样本计算随机梯度后,对梯度进行归一化处理,并使用该归一化梯度更新动量和本地参数。各节点与邻居节点通信以获得其最新图像分类器参数,并与自身本地图像分类器参数做加权平均,作为新的本地参数参与到下一轮更新。不断重复以上训练步骤,直到达到停止条件时,各个节点停止,将各节点上的参数平均值作为最终的输出参数。本发明专利技术中的方法取消中心节点,不会出现中心节点处拥塞的问题,与此同时,本方法适用于大批量图像分类器训练,大批量训练可以减少参数更新和通信次数,从而可以充分利用GPU等计算资源,大幅提高训练效率。幅提高训练效率。幅提高训练效率。
【技术实现步骤摘要】
一种大批量的去中心化分布式图像分类器训练方法和系统
[0001]本专利技术涉及一种大批量的去中心化分布式图像分类器训练方法和系统,属于图像分类和机器学习
技术介绍
[0002]许多图像分类器的训练可以被形式化为求解以下有限和形式的优化问题:
[0003][0004]其中x是模型的参数,d表示模型参数的维度,n表示训练样本总数,ξ
i
代指第i个样本,f(x;ξ
i
)则是第i个样本所对应的损失函数。
[0005]近年来深度学习蓬勃发展,大数据集和大模型不断涌现使得单台机器的算力不再能满足需求,通过多台机器协同工作完成训练任务的分布式机器学习技术成为解决这一问题的重要选项。此外,在联邦学习、边缘计算等场景中,出于隐私保护等需求,训练数据只能存储在各个终端设备中,此时也需要使用分布式机器学习技术。
[0006]参数服务器架构是分布式机器学习中最为常用的架构。该架构中包含一个服务器节点(或集群)和多个工作节点(或集群)。服务器节点的任务是维护全局共享的参数,工作节点则利用本地存储的训练样本计算局部数据,例如梯度。各个工作节点不能直接通信,只能通过与服务器节点的通信来完成检索以及更新参数的任务。由于所有的工作节点均只与服务器节点通信,此时的服务器节点一般被称为中心节点,参数服务器架构则是一种典型的中心化架构。此种架构对底层通信硬件往往有着较高要求。在高延迟或低带宽等情况下,中心节点处出现的通信拥塞会拖慢整个训练进程。
[0007]去中心化场景是指在分布式架构中去除中心服务器这一角色,各个工作节点“平等”地与邻居节点执行点对点的通信。去中心化方法中最经典的是GossiD SGD方法:各节点之间的连接权重可被建模成一个权重矩阵,在每一轮迭代过程中,各节点依据自身的本地参数和本地数据随机采样小批量数据进行梯度计算,并利用计算出来的梯度对本地参数进行更新,然后与邻居节点进行通信,获得邻居节点上的参数之后依照权重矩阵对各参数进行加权平均作为新的本地参数进入下一次迭代。最终在满足停止条件之后停止迭代更新,输出各节点上的参数平均值作为最终模型参数。
[0008]目前的图像分类器训练往往采用较小的批量大小,增大批量大小可以充分利用GPU多核系统的算力,加快训练速度。在分布式环境下,增大批量大小可以减少参数更新次数以及通信次数。但是盲目增大批量大小会导致训练出来的最终图像分类器泛化性能的下降,因此需要设计适用于大批量训练的特殊的图像分类器训练方法。
技术实现思路
[0009]专利技术目的:目前利用图像分类器进行图像分类的训练任务中,去中心化场景下的
随机梯度下降法常使用较小的批量大小,即每一次仅仅采样少量的图像样本,这会导致难以将GPU的算力充分利用。而且分布式环境下,小批量的随机梯度下降法需要次数较多的参数更新,这样会带来频繁的通信次数以及较大的通信开销。并且盲目增大采样图像批量大小会导致最终训练得到的图像分类器在测试图像集上的预测准确率下降。针对现有技术中存在的问题与不足,本专利技术提供一种大批量的去中心化分布式图像分类器训练方法和系统,基于GossipSGD方法,工作节点不再直接使用随机梯度,而是利用归一化的梯度更新参数。可以看出,本专利技术简单易实现,无额外开销,可以应用于减少去中心化场景下分布式训练中的通信次数和参数更新次数,提升图像分类器分布式训练的效率。
[0010]技术方案:一种大批量的去中心化分布式图像分类器训练方法,一种大批量的去中心化分布式图像分类器训练方法,其特征在于,各工作节点使用本地图像分类器参数,根据本地存储的图像样本计算随机梯度后,对梯度进行归一化处理,并使用该归一化梯度更新动量和本地参数;各节点与邻居节点通信以获得其最新图像分类器参数,并与自身本地图像分类器参数做加权平均,作为新的本地参数参与到下一轮更新;不断重复以上训练步骤,直到达到停止条件时,各个节点停止,将各节点上的参数平均值作为最终的输出参数。
[0011]其训练流程的具体步骤为:
[0012]步骤100,输入神经网络模型并随机初始化全局神经网络模型参数x0,每个节点上保存部分图像样本集合每次随机采集图像样本的批量大小为b,学习率为η,权重矩阵为W,总迭代轮数为T,动量系数为β;完整的图像样本集合K表示节点的数量;W=(w
i,j
)
K
×
K
,用来建模各个节点间是否通信以及每次通信时的做加权平均的权重;它的每个元素都是0到1之间的值。w
i,j
=0表示节点i与节点j之间不通信,w
i,j
>0则表示通信参数做加权平均的权重。
[0013]步骤101,初始化神经网络模型参数
[0014]步骤102,初始化计数器t=0;
[0015]步骤103,初始化动量
[0016]步骤104,从节点上保存的部分图像集合中随机挑选一个小批量图像数据中随机挑选一个小批量图像数据
[0017]步骤105,将随机挑选出的小批量图像数据输入神经网络模型,执行反向传播,计算出梯度其中表示第i个图像ξ
i
所对应的损失函数在当前节点的神经网络模型参数下的梯度;
[0018]步骤106,对上一步骤中的梯度做归一化处理并更新动量
[0019]步骤107,更新当前节点的神经网络模型参数
[0020]步骤108,当前节点与邻居节点通信以获得邻居节点的神经网络模型参数
表示当前节点k的邻居节点和节点k自身组成的集合;
[0021]步骤109,依据权重矩阵W做加权平均得到新的当前节点k的神经网络模型参数
[0022]步骤110,更新计数器t=t+1;
[0023]步骤111,判断当前已完成的迭代轮数t是否达到总共的迭代轮数T,如果是则结束训练流程,否则返回步骤104继续进行训练;
[0024]步骤112,将各节点上的神经网络模型参数平均得到平均神经网络模型参数各节点上的神经网络模型参数平均得到平均神经网络模型参数作为输出参数,得到训练好的图像分类器。一种大批量的去中心化分布式图像分类器训练系统,包括:
[0025]初始化模块:输入神经网络模型并随机初始化全局神经网络模型参数x0,每个节点上保存部分图像样本集合每次随机采集图像样本的批量大小为b,学习率为η,权重矩阵为W,总迭代轮数为T,动量系数为β;完整的图像样本集台K表示节点的数量;初始化神经网络模型参数初始化计数器t=0;初始化动量
[0026]梯度计算模块:根据节点存储的图像样本计算随机梯度后,对梯度进行归一化处理;
[0027]训练过程模块:使用归一化梯度更新动量和节点的神经网络模型参数;各节点与邻居节点通信以获得其最新神经网络模型参数,并与节点自身的神经网络模型参数做加权平均,作为新的节点的神经网络模型参数参与到下一轮更新;不断重复训练,直到达到停止条件时,各个节点停止,将各节点上的参数平均值作为最终的输出参数,得到图像分类本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种大批量的去中心化分布式图像分类器训练方法,其特征在于,各工作节点使用本地图像分类器参数,根据节点存储的图像样本计算随机梯度后,对梯度进行归一化处理,并使用该归一化梯度更新动量和本地参数;各节点与邻居节点通信以获得其最新图像分类器参数,并与自身本地图像分类器参数做加权平均,作为新的本地参数参与到下一轮更新;不断重复以上训练步骤,直到达到停止条件时,各个节点停止,将各节点上的参数平均值作为最终的输出参数。2.根据权利要求1所述的大批量的去中心化分布式图像分类器训练方法,其特征在于,利用神经网络模型进行图像分类器的训练;输入神经网络模型并随机初始化全局神经网络模型参数x0,每个节点上保存部分图像样本集合每次随机采集图像样本的批量大小为b,学习率为η,权重矩阵为W,总迭代轮数为T,动量系数为β;完整的图像样本集合K表示节点的数量;初始化神经网络模型参数初始化计数器t=0;初始化动量3.根据权利要求2所述的大批量的去中心化分布式图像分类器训练方法,其特征在于,从节点上保存的部分图像集合中随机挑选一个小批量图像数据将随机挑选出的小批量图像数据输入神经网络模型,执行反向传播,计算出梯度其中表示第i个图像ξ
i
所对应的损失函数在当前节点的神经网络模型参数下的梯度;对梯度做归一化处理并更新动量4.根据权利要求2所述的大批量的去中心化分布式图像分类器训练方法,其特征在于,更新当前节点的神经网络模型参数当前节点与邻居节点通信以获得邻居节点的神经网络模型参数居节点的神经网络模型参数表示当前节点k的邻居节点和节点k自身组成的集合;依据权重矩阵W做加权平均得到新的当前节点k的...
【专利技术属性】
技术研发人员:李武军,史长伟,
申请(专利权)人:南京大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。