【技术实现步骤摘要】
一种模型训练的方法、系统及装置
[0001]本说明书一个或多个实施例涉及多方协同模型训练,特别涉及一种模型训练的方法、系统及装置。
技术介绍
[0002]在数据分析、数据挖掘、经济预测等领域,联邦学习可以在保证多方数据安全的情况下,协同训练机器学习模型供多方共同使用的场景。但是,联邦学习在应用于模型计算量大、参数多的情况时,需要传输的模型参数也会随之增大,这会使得联邦学习过程中数据传输量大,因而通讯传输的压力较大。
[0003]因此,有必要提出一种模型训练方法以降低联邦学习过程中的传输压力。
技术实现思路
[0004]本说明书一个方面提供一种模型的训练方法,所述方法由参与方中的任一训练成员实现,其中,所述参与方包括多个训练成员以及服务器;各个参与方持有结构相同的待训练模型,所述待训练模型包括一个或多个卷积层,每个卷积层包括一个或多个卷积核;所述方法包括对待训练模型进行多轮迭代更新,其中一轮迭代更新包括:基于自身持有的训练样本进行模型训练,获得模型数据列表;从所述模型数据列表中的一个或多个卷积核对应的子矩阵中选取一个或多个子矩阵,并确定选取的子矩阵在所述模型数据列表中的第一位置信息;从所述模型数据列表中除卷积核对应的子矩阵以外的元素中选取一个或多个非卷积核元素,并确定选取的非卷积核元素在所述模型数据列表中的第二位置信息;确定传输数据列表,所述传输数据列表至少基于选取的一个或多个子矩阵以及选取的非卷积核元素确定;确定传输数据位置列表,所述传输数据位置列表至少基于所述第一位置信息以及所述第二位置信息 ...
【技术保护点】
【技术特征摘要】
1.一种模型的训练方法,所述方法由参与方中的任一训练成员实现,其中,所述参与方包括多个训练成员以及服务器;各个参与方持有结构相同的待训练模型,所述待训练模型包括一个或多个卷积层,每个卷积层包括一个或多个卷积核;所述方法包括对待训练模型进行多轮迭代更新,其中一轮迭代更新包括:基于自身持有的训练样本进行模型训练,获得模型数据列表;从所述模型数据列表中的一个或多个卷积核对应的子矩阵中选取一个或多个子矩阵,并确定选取的子矩阵在所述模型数据列表中的第一位置信息;从所述模型数据列表中除卷积核对应的子矩阵以外的元素中选取一个或多个非卷积核元素,并确定选取的非卷积核元素在所述模型数据列表中的第二位置信息;确定传输数据列表,所述传输数据列表至少基于选取的一个或多个子矩阵以及选取的非卷积核元素确定;确定传输数据位置列表,所述传输数据位置列表至少基于所述第一位置信息以及所述第二位置信息确定;将所述传输数据列表以及所述传输数据位置列表上传至服务器,以使所述服务器进行模型数据聚合;获取服务器下发的模型数据更新列表,并基于所述模型数据更新列表进行本地模型更新,将更新后的本地模型作为待训练模型进行下一次训练,或者基于此确定最终模型。2.根据权利要求1所述的方法,其中,所述从所述模型数据列表中的一个或多个卷积核对应的子矩阵中选取一个或多个子矩阵,包括:分别从所述模型数据列表中的各卷积层中的一个或多个卷积核对应的子矩阵中选取一个或多个子矩阵。3.根据权利要求2所述的方法,其中,所述分别从所述模型数据列表中的各卷积层中的一个或多个卷积核对应的子矩阵中选取一个或多个子矩阵,包括对每个卷积层:确定第一选取比例,基于所述第一选取比例以及所述卷积层中卷积核的个数确定第一选取个数;获取所述卷集层中各个卷积核对应的子矩阵的第一表征值;将各第一表征值进行排序,基于所述第一选取个数选出排序在前的若干第一表征值对应的子矩阵。4.根据权利要求3所述的方法,所述第一表征值包括范数值;所述排序为降序排序;所述第一选取比例与迭代次数负相关。5.根据权利要求1所述的方法,其中,所述第一位置信息通过第一位置稀疏列表表征;所述第一位置稀疏列表包含与各卷积层对应的行或列,其中每一行或列中的元素与对应卷积层中的各卷积核对应;所述第一位置稀疏列表中,与选取的一个或多个子矩阵对应的卷积核位置对应的元素为1,其余元素为0。6.根据权利要求1所述的方法,其中,所述从所述模型数据列表中除卷积核对应的子矩阵以外的元素中选取一个或多个非卷积核元素,包括:确定第二选取比例,基于所述第二选取比例以及所述模型数据列表中除卷积核对应的子矩阵以外的元素的数量确定第二选取个数;
将所述模型数据列表中除卷积核对应的子矩阵以外的元素进行排序,基于所述第二选取个数选出排序在前的若干元素作为选取的一个或多个非卷积核元素。7.根据权利要求6所述的方法,所述排序为基于绝对值降序排序;所述第二选取比例与迭代次数负相关。8.根据权利要求1所述的方法,其中,所述待训练模型还包括全连接层,所述选取的非卷积核元素来自全连接层;所述第二位置信息通过第二位置稀疏列表表征;所述第二位置稀疏列表包含与所述全连接层对应的矩阵,所述矩阵中的元素与全连接层的模型参数对应;所述第二位置稀疏列表中,与选取的一个或多个非卷积核元素位置对应的元素为1,其余元素为0。9.根据权利要求1所述的方法,上传给服务器的还包括当前次迭代的训练样本数量;其中,至少将传输数据列表以及传输数据位置列表以密文形式上传给服务器。10.根据权利要求1所述的方法,所述第一位置信息通过第一位置稀疏列表表征,所述第二位置信息通过第二位置稀疏列表表征;所述传输数据列表包括选取的一个或多个子矩阵以及选取的非卷积核元素;所述传输数据位置列表包括所述第一位置稀疏列表以及所述第二位置稀疏列表;或者,所述传输数据列表包括当前次迭代的训练样本数量分别与选取的一个或多个子矩阵、以及选取的非卷积核元素的乘积;所述传输数据位置列表包括当前次迭代的训练样本数量分别与所述第一位置稀疏列表、以及所述第二位置稀疏列表的乘积。11.根据权利要求1所述的方法,所述模型数据列表中的元素为模型参数;服务器下发的模型数据更新列表包括与传输数据列表中的元素位置对应的聚合模型参数;所述基于所述模型数据更新列表进行本地模型更新,包括:将所述模型数据列表中的相应元素替换为模型数据更新列表中的聚合模型参数,得到更新后的本地模型。12.根据权利要求1所述的方法,所述模型数据列表中的元素为梯度数据;服务器下发的模型数据更新列表包括与传输数据列表中的元素位置对应的聚合梯度数据;所述基于所述模型数据更新列表进行本地模型更新,包括:将所述模型数据列表中的相应元素替换为模型数据更新列表中的聚合梯度数据;基于替换后的模型数据列表中的元素确定与各模型参数分别对应的调参量;将待训练模型在当前次迭代中的原模型参数减去对应的调参量,得到更新后的本地模型。13.一种模型的训练系统,所述系统置于参与方中的任一训练成员处,其中,所述参与方包括多个训练成员以及服务器;各个参与方持有结构相同的待训练模型,所述待训练模型包括一个或多个卷积层,每个卷积层包括一个或多个卷积核;所述系统用于对待训练模型进行多轮迭代更新,所述系统包括:模型数据列表获取模块,用于在一轮迭代更新中基于自身持有的训练样本进行模型训练,获得模型数...
【专利技术属性】
技术研发人员:郑龙飞,陈超超,王力,张本宇,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。