CN114723069A - 参数更新方法、装置和电子设备 - Google Patents

参数更新方法、装置和电子设备 Download PDF

Info

Publication number
CN114723069A
CN114723069A CN202210397566.7A CN202210397566A CN114723069A CN 114723069 A CN114723069 A CN 114723069A CN 202210397566 A CN202210397566 A CN 202210397566A CN 114723069 A CN114723069 A CN 114723069A
Authority
CN
China
Prior art keywords
matrix
server
model
training
submodel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210397566.7A
Other languages
English (en)
Other versions
CN114723069B (zh
Inventor
郑龙飞
王磊
王力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210397566.7A priority Critical patent/CN114723069B/zh
Publication of CN114723069A publication Critical patent/CN114723069A/zh
Application granted granted Critical
Publication of CN114723069B publication Critical patent/CN114723069B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提出了一种参数更新方法、装置和电子设备,其中,上述参数更新方法中,服务器获取待训练的模型之后,将上述待训练的模型分割为训练节点子模型和服务器子模型,然后将上述训练节点子模型发送给参与训练的训练节点,接收训练节点上传的输出层矩阵,根据上述输出层矩阵更新服务器子模型的学习率,最后根据上述输出层矩阵和上述服务器子模型的学习率,利用后向传播更新服务器子模型和训练节点子模型的参数,从而可以实现调整训练成员所对应的模型学习率,降低差异性较大的训练成员对服务器模型更新的干扰,提高服务器模型的收敛速度。

Description

参数更新方法、装置和电子设备
【技术领域】
本说明书实施例涉及互联网技术领域,尤其涉及一种参数更新方法、装置和电子设备。
【背景技术】
随着人工智能技术的发展,深度神经网络(deep neural networks,DNN)已逐渐应用于风险评估、语音识别、人脸识别和/或自然语言处理等领域。不同应用场景下的DNN网络结构相对固定,为实现更好的模型性能,就需要更多的训练数据。在医疗和/或金融等领域,不同的企业或机构拥有不同的数据样本,一旦将这些数据进行联合训练,将极大提升模型精度,给企业带来巨大的经济效益。然而这些原始的训练数据包含大量的用户隐私和商业机密,一旦信息泄露,将导致不可挽回的负面影响。因此,在多方联合训练解决数据孤岛问题的同时,保护数据隐私成为近年来研究的重点。
此外由于数据拥有者的样本所对应的用户不同,用户所处位置不同,数据采集的时间窗口不同,在进行联合训练时,这些数据集往往具有不同的特征分布或标签分布,特征之间并非相互独立,这类数据集称之为非独立同分布(non-identically andindependently distributed,Non-IID)数据集。
Otkrist等人在2018年提出了拆分学习的概念,采用传输输入层的方式替代传输数据。现有的拆分学习算法中,训练成员拥有整个神经网络结构的前几层,服务器拥有神经网络模型的剩余层模型,训练成员依次在本地分别利用私有数据进行训练,得到前几层网络模型的输出层,并将输出层传输给服务器进行剩余层的前向传播,得到标签(label)的预测值,服务器将label的预测值传输给训练成员,计算得到损失函数,进而进行反向传播,更新服务器模型和训练成员模型。当前训练成员将本地模型发送至下个训练成员,然后下个训练成员利用自身的本地数据继续进行模型训练过程。
现有的拆分学习算法中,由于训练成员依次与服务器进行模型训练,因此当训练成员数据分布差异较大时,训练过程中,模型收敛速度较慢或者模型不收敛。
【发明内容】
本说明书实施例提供了一种参数更新方法、装置和电子设备,以实现调整训练成员所对应的模型学习率,降低差异性较大的训练成员对服务器模型更新的干扰,提高服务器模型的收敛速度。
第一方面,本说明书实施例提供一种参数更新方法,包括:获取待训练的模型;将所述待训练的模型分割为训练节点子模型和服务器子模型;将所述训练节点子模型发送给参与训练的训练节点;接收所述训练节点上传的输出层矩阵;其中,所述输出层矩阵是所述训练节点利用自身的训练数据对所述训练节点子模型进行前向传播之后获得的;根据所述输出层矩阵更新所述服务器子模型的学习率;根据所述输出层矩阵和所述服务器子模型的学习率,利用后向传播更新所述服务器子模型和所述训练节点子模型的参数。
上述参数更新方法中,服务器获取待训练的模型之后,将上述待训练的模型分割为训练节点子模型和服务器子模型,然后将上述训练节点子模型发送给参与训练的训练节点,接收训练节点上传的输出层矩阵,根据上述输出层矩阵更新服务器子模型的学习率,最后根据上述输出层矩阵和上述服务器子模型的学习率,利用后向传播更新服务器子模型和训练节点子模型的参数,从而可以实现调整训练成员所对应的模型学习率,降低差异性较大的训练成员对服务器模型更新的干扰,提高服务器模型的收敛速度。
其中一种可能的实现方式中,所述根据所述输出层矩阵和所述服务器子模型的学习率,利用后向传播更新所述服务器子模型和所述训练节点子模型的参数之后,还包括:在所述待训练的模型收敛之后,获得训练好的模型;利用所述训练好的模型,对接收到的业务请求进行处理。
其中一种可能的实现方式中,所述根据所述输出层矩阵更新所述服务器子模型的学习率包括:根据所述输出层矩阵对服务器保存的输入层的累积矩阵进行更新,获得更新后的累积矩阵;其中,所述输入层的累积矩阵为所述服务器子模型的输入层的累积矩阵;确定更新后的累积矩阵与所述输出层矩阵之间的差异性距离;根据所述差异性距离,确定所述训练节点的分布差异系数;根据所述分布差异系数,更新所述服务器子模型的学习率。
其中一种可能的实现方式中,所述获得更新后的累积矩阵之后,还包括:保存所述更新后的累积矩阵。
其中一种可能的实现方式中,所述根据所述输出层矩阵对服务器保存的输入层的累积矩阵进行更新,获得更新后的累积矩阵包括:将所述输出层矩阵与所述服务器保存的输入层的累积矩阵相加,获得更新后的累积矩阵。
其中一种可能的实现方式中,所述输出层矩阵是所述训练节点利用自身的训练数据对所述训练节点子模型进行前向传播之后获得的,再对获得的输出层矩阵进行归一化之后上传服务器的;所述确定更新后的累积矩阵与所述输出层矩阵之间的差异性距离包括:对所述更新后的累积矩阵进行归一化;确定归一化后的累积矩阵与归一化后的输出层矩阵之间的差异性距离。
其中一种可能的实现方式中,所述根据所述输出层矩阵和所述服务器子模型的学习率,利用后向传播更新所述服务器子模型和所述训练节点子模型的参数包括:利用所述输出层矩阵对所述服务器子模型进行训练,获得所述训练节点对应的标签预测值;将所述训练节点对应的标签预测值发送给所述训练节点,以使所述训练节点根据所述标签预测值计算获得损失函数值;接收所述训练节点发送的所述损失函数值;根据所述损失函数值,获得所述待训练的模型的梯度;根据所述梯度和所述服务器子模型的学习率,更新所述服务器子模型的参数;以及将所述梯度发送给所述训练节点,以使所述训练节点根据所述梯度和所述训练节点子模型的学习率,更新所述训练节点子模型的参数。
其中一种可能的实现方式中,所述将所述待训练的模型分割为训练节点子模型和服务器子模型之后,还包括:初始化所述训练节点子模型和所述服务器子模型的学习率;以及根据所述训练节点子模型输出层的维度,初始化所述服务器子模型的输入层的累积矩阵。
第二方面,本说明书实施例提供一种参数更新装置,包括:获取模块,用于获取待训练的模型;分割模块,用于将所述待训练的模型分割为训练节点子模型和服务器子模型;发送模块,用于将所述训练节点子模型发送给参与训练的训练节点;接收模块,用于接收所述训练节点上传的输出层矩阵;其中,所述输出层矩阵是所述训练节点利用自身的训练数据对所述训练节点子模型进行前向传播之后获得的;第一更新模块,用于根据所述输出层矩阵更新所述服务器子模型的学习率;第二更新模块,用于根据所述输出层矩阵和所述服务器子模型的学习率,利用后向传播更新所述服务器子模型和所述训练节点子模型的参数。
其中一种可能的实现方式中,所述装置还包括:处理模块;所述获取模块,还用于在所述第二更新模块更新所述服务器子模型和所述训练节点子模型的参数之后,在所述待训练的模型收敛之后,获得训练好的模型;所述处理模块,用于利用所述训练好的模型,对接收到的业务请求进行处理。
其中一种可能的实现方式中,所述第一更新模块包括:矩阵更新子模块,用于根据所述输出层矩阵对服务器保存的输入层的累积矩阵进行更新,获得更新后的累积矩阵;其中,所述输入层的累积矩阵为所述服务器子模型的输入层的累积矩阵;确定子模块,用于确定更新后的累积矩阵与所述输出层矩阵之间的差异性距离;以及根据所述差异性距离,确定所述训练节点的分布差异系数;学习率更新子模块,用于根据所述分布差异系数,更新所述服务器子模型的学习率。
其中一种可能的实现方式中,所述第一更新模块还包括:矩阵保存子模块,用于在所述矩阵更新子模块获得更新后的累积矩阵之后,保存所述更新后的累积矩阵。
其中一种可能的实现方式中,所述矩阵更新子模块,具体用于将所述输出层矩阵与所述服务器保存的输入层的累积矩阵相加,获得更新后的累积矩阵。
其中一种可能的实现方式中,所述输出层矩阵是所述训练节点利用自身的训练数据对所述训练节点子模型进行前向传播之后获得的,再对获得的输出层矩阵进行归一化之后上传服务器的;所述确定子模块,具体用于对所述更新后的累积矩阵进行归一化;以及确定归一化后的累积矩阵与归一化后的输出层矩阵之间的差异性距离。
其中一种可能的实现方式中,所述第二更新模块包括:训练子模块,用于利用所述输出层矩阵对所述服务器子模型进行训练,获得所述训练节点对应的标签预测值;预测值发送子模块,用于将所述训练节点对应的标签预测值发送给所述训练节点,以使所述训练节点根据所述标签预测值计算获得损失函数值;函数值接收子模块,用于接收所述训练节点发送的所述损失函数值;梯度获得子模块,用于根据所述损失函数值,获得所述待训练的模型的梯度;参数更新子模块,用于根据所述梯度和所述服务器子模型的学习率,更新所述服务器子模型的参数;以及将所述梯度发送给所述训练节点,以使所述训练节点根据所述梯度和所述训练节点子模型的学习率,更新所述训练节点子模型的参数。
其中一种可能的实现方式中,所述装置还包括:初始化模块,用于在所述分割模块将所述待训练的模型分割为训练节点子模型和服务器子模型之后,初始化所述训练节点子模型和所述服务器子模型的学习率;以及根据所述训练节点子模型输出层的维度,初始化所述服务器子模型的输入层的累积矩阵。
第三方面,本说明书实施例提供一种电子设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。
第四方面,本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面提供的方法。
应当理解的是,本说明书实施例的第二~四方面与本说明书实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
【附图说明】
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书一个实施例提供的参数更新方法的流程图;
图2本说明书另一个实施例提供的参数更新方法的流程图;
图3为本说明书再一个实施例提供的参数更新方法的流程图;
图4为本说明书再一个实施例提供的参数更新方法的流程图;
图5为本说明书一个实施例提供的参数更新装置的结构示意图;
图6为本说明书另一个实施例提供的参数更新装置的结构示意图;
图7为本说明书一个实施例提供的电子设备的结构示意图。
【具体实施方式】
为了更好的理解本说明书的技术方案,下面结合附图对本说明书实施例进行详细描述。
应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。
在本说明书实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1为本说明书一个实施例提供的参数更新方法的流程图,上述参数更新方法可以应用于服务器,例如:模型训练服务器。如图1所示,上述参数更新方法可以包括:
步骤102,获取待训练的模型。
步骤104,将上述待训练的模型分割为训练节点子模型和服务器子模型。
具体地,以水平切分的多方联合训练任务为例,假设共有k个训练成员,每个训练成员的数据集为Xi,{i=1,2,…,k},标签为yi
设DNN模型为W,服务器初始化W,并分割为训练节点子模型WC和服务器子模型WS
进一步地,将上述待训练的模型分割为训练节点子模型和服务器子模型之后,初始化上述训练节点子模型和上述服务器子模型的学习率α;以及根据上述训练节点子模型输出层的维度,初始化上述服务器子模型的输入层的累积矩阵。
具体地,服务器可以根据训练节点子模型WC输出层的维度,初始化上述服务器子模型的输入层的累积矩阵Ls=0。
步骤106,将上述训练节点子模型发送给参与训练的训练节点。
具体地,服务器将DNN模型W分割为训练节点子模型WC和服务器子模型WS之后,将WC下发至所有参与训练的训练节点。本实施例中,可以假设训练节点i上的训练节点子模型为WC,i
步骤108,接收训练节点上传的输出层矩阵;其中,上述输出层矩阵是训练节点利用自身的训练数据对上述训练节点子模型进行前向传播之后获得的。
在第j次训练迭代过程中(j=0,1,...,N),训练成员i读取Xi中一个batch的数据,样本量为ni,进行模型WC,i的前向传播,得到WC的输出层矩阵Li
然后,训练节点可以将得到的输出层矩阵Li上传给服务器,服务器接收训练节点上传的输出层矩阵。
步骤110,根据上述输出层矩阵更新服务器子模型的学习率。
步骤112,根据上述输出层矩阵和上述服务器子模型的学习率,利用后向传播更新服务器子模型和训练节点子模型的参数。
具体实现时,上述步骤108~步骤112可以循环执行,直至模型收敛,完成模型训练。
上述参数更新方法中,服务器获取待训练的模型之后,将上述待训练的模型分割为训练节点子模型和服务器子模型,然后将上述训练节点子模型发送给参与训练的训练节点,接收训练节点上传的输出层矩阵,根据上述输出层矩阵更新服务器子模型的学习率,最后根据上述输出层矩阵和上述服务器子模型的学习率,利用后向传播更新服务器子模型和训练节点子模型的参数,从而可以实现调整训练成员所对应的模型学习率,降低差异性较大的训练成员对服务器模型更新的干扰,提高服务器模型的收敛速度。
图2本说明书另一个实施例提供的参数更新方法的流程图,如图2所示,本说明书图1所示实施例中,步骤112之后,还可以包括:
步骤202,在待训练的模型收敛之后,获得训练好的模型。
步骤204,利用上述训练好的模型,对接收到的业务请求进行处理。
如上所述,步骤108~步骤112可以循环执行,直至模型收敛,完成模型训练。在待训练的模型收敛之后,服务器可以获得训练好的模型,然后服务器可以利用上述训练好的模型,对接收到的业务请求进行处理。
图3为本说明书再一个实施例提供的参数更新方法的流程图,如图3所示,本说明书图1所示实施例中,步骤110可以包括:
步骤302,根据上述输出层矩阵对服务器保存的输入层的累积矩阵进行更新,获得更新后的累积矩阵;其中,上述输入层的累积矩阵为服务器子模型的输入层的累积矩阵。
具体地,根据上述输出层矩阵对服务器保存的输入层的累积矩阵进行更新,获得更新后的累积矩阵可以为:将上述输出层矩阵与上述服务器保存的输入层的累积矩阵相加,获得更新后的累积矩阵。
进一步地,获得更新后的累积矩阵之后,服务器还可以保存上述更新后的累积矩阵。
具体实现时,服务器保存的输入层的累积矩阵可以为Ls,服务器接收到训练成员i的输出层矩阵Li之后,可以按照以下公式更新服务器保存的输入层的累积矩阵Ls=Ls+Li。然后服务器保存更新后的累积矩阵Ls
步骤304,确定更新后的累积矩阵与上述输出层矩阵之间的差异性距离。
具体地,在获得更新后的累积矩阵Ls之后,服务器可以确定训练成员i的输出层矩阵Li与更新后的累积矩阵Ls之间的差异性距离d,例如:欧拉距离或曼哈顿距离等。
本实施例中,上述输出层矩阵是训练节点利用自身的训练数据对上述训练节点子模型进行前向传播之后获得的,再对获得的输出层矩阵进行归一化之后上传服务器的;
这样,在确定更新后的累积矩阵与上述输出层矩阵之间的差异性距离时,服务器可以对上述更新后的累积矩阵进行归一化;在确定归一化后的累积矩阵与归一化后的输出层矩阵之间的差异性距离。
步骤306,根据上述差异性距离,确定上述训练节点的分布差异系数。
具体地,以差异性距离d为欧拉距离为例,可以得到上述训练节点的分布差异系数为b=1-d/2。
步骤308,根据上述分布差异系数,更新上述服务器子模型的学习率。
具体地,在确定分布差异系数b之后,可以将上述服务器子模型的学习率更新为αb,其中,α为服务器子模型的学习率的初始值。
本实施例可以计算不同训练节点输入层与整体输入层平均值的差异性距离,进而调整该训练节点所对应的模型学习率,降低差异性较大的训练节点对服务器子模型更新的干扰。
图4为本说明书再一个实施例提供的参数更新方法的流程图,如图4所示,本说明书图1所示实施例中,步骤112可以包括:
步骤402,利用上述输出层矩阵对上述服务器子模型进行训练,获得训练节点对应的标签预测值。
步骤404,将上述训练节点对应的标签预测值发送给训练节点,以使训练节点根据上述标签预测值计算获得损失函数值。
步骤406,接收训练节点发送的上述损失函数值。
步骤408,根据上述损失函数值,获得待训练的模型的梯度。
步骤410,根据上述梯度和上述服务器子模型的学习率,更新上述服务器子模型的参数;以及将上述梯度发送给训练节点,以使上述训练节点根据上述梯度和上述训练节点子模型的学习率,更新上述训练节点子模型的参数。
具体来说,服务器可以利用输出层矩阵Li对服务器子模型WS进行训练,获得训练节点i对应的标签预测值,并将上述训练节点i对应的标签预测值发送给训练节点i。然后训练节点i根据上述标签预测值计算获得损失函数值,然后训练节点i将计算获得的损失函数值发送给服务器,服务器接收训练节点i发送的损失函数值,进而服务器根据上述损失函数值,获得待训练的模型的梯度。最后,服务器可以根据上述梯度和上述服务器子模型的学习率,更新上述服务器子模型Ws的参数。并且,服务器还可以将上述梯度发送给训练节点i,训练节点i根据上述梯度和上述训练节点子模型的学习率,更新上述训练节点子模型Wc,i的参数。
本说明书实施例提供的参数更新方法中,训练节点之间的模型保持独立,提高了模型的个性化表征能力;对传输的输入层进行归一化处理,同时在服务器端得到累加的输入层,从而计算不同训练节点的输入层与整体输入层平均值的差异性距离,进而调整该训练节点所对应的模型学习率,降低差异性较大的训练节点对服务器模型更新的干扰。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图5为本说明书一个实施例提供的参数更新装置的结构示意图,如图5所示,上述参数更新装置可以包括:获取模块51、分割模块52、发送模块53、接收模块54、第一更新模块55和第二更新模块56;
其中,获取模块51,用于获取待训练的模型;
分割模块52,用于将上述待训练的模型分割为训练节点子模型和服务器子模型;
发送模块53,用于将上述训练节点子模型发送给参与训练的训练节点;
接收模块54,用于接收训练节点上传的输出层矩阵;其中,上述输出层矩阵是训练节点利用自身的训练数据对上述训练节点子模型进行前向传播之后获得的;
第一更新模块55,用于根据上述输出层矩阵更新上述服务器子模型的学习率;
第二更新模块56,用于根据上述输出层矩阵和上述服务器子模型的学习率,利用后向传播更新上述服务器子模型和上述训练节点子模型的参数。
图5所示实施例提供的参数更新装置可用于执行本说明书图1所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图6为本说明书另一个实施例提供的参数更新装置的结构示意图,与图5所示的参数更新装置相比,图6所示的参数更新装置还可以包括:处理模块57;
获取模块51,还用于在第二更新模块56更新上述服务器子模型和上述训练节点子模型的参数之后,在上述待训练的模型收敛之后,获得训练好的模型;
处理模块57,用于利用上述训练好的模型,对接收到的业务请求进行处理。
本实施例中,第一更新模块55可以包括:矩阵更新子模块551、确定子模块552和学习率更新子模块553;
其中,矩阵更新子模块551,用于根据上述输出层矩阵对服务器保存的输入层的累积矩阵进行更新,获得更新后的累积矩阵;其中,上述输入层的累积矩阵为上述服务器子模型的输入层的累积矩阵;
确定子模块552,用于确定更新后的累积矩阵与上述输出层矩阵之间的差异性距离;以及根据上述差异性距离,确定上述训练节点的分布差异系数;
学习率更新子模块553,用于根据上述分布差异系数,更新上述服务器子模型的学习率。
进一步地,第一更新模块55还可以包括:
矩阵保存子模块554,用于在矩阵更新子模块551获得更新后的累积矩阵之后,保存上述更新后的累积矩阵。
本实施例中,矩阵更新子模块551,具体用于将上述输出层矩阵与服务器保存的输入层的累积矩阵相加,获得更新后的累积矩阵。
本实施例中,上述输出层矩阵是训练节点利用自身的训练数据对上述训练节点子模型进行前向传播之后获得的,再对获得的输出层矩阵进行归一化之后上传服务器的;
确定子模块552,具体用于对上述更新后的累积矩阵进行归一化;以及确定归一化后的累积矩阵与归一化后的输出层矩阵之间的差异性距离。
本实施例中,第二更新模块56可以包括:训练子模块561、预测值发送子模块562、函数值接收子模块563、梯度获得子模块564和参数更新子模块565;
其中,训练子模块561,用于利用上述输出层矩阵对上述服务器子模型进行训练,获得上述训练节点对应的标签预测值;
预测值发送子模块562,用于将上述训练节点对应的标签预测值发送给训练节点,以使上述训练节点根据上述标签预测值计算获得损失函数值;
函数值接收子模块563,用于接收训练节点发送的上述损失函数值;
梯度获得子模块564,用于根据上述损失函数值,获得待训练的模型的梯度;
参数更新子模块565,用于根据上述梯度和上述服务器子模型的学习率,更新上述服务器子模型的参数;以及将上述梯度发送给训练节点,以使训练节点根据上述梯度和上述训练节点子模型的学习率,更新上述训练节点子模型的参数。
进一步地,上述参数更新装置还可以包括:初始化模块58;
初始化模块58,用于在分割模块52将上述待训练的模型分割为训练节点子模型和服务器子模型之后,初始化训练节点子模型和服务器子模型的学习率;以及根据上述训练节点子模型输出层的维度,初始化上述服务器子模型的输入层的累积矩阵。
图6所示实施例提供的参数更新装置可用于执行本说明书图1~图4所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图7为本说明书一个实施例提供的电子设备的结构示意图,如图7所示,上述电子设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图1~图4所示实施例提供的参数更新方法。
其中,上述电子设备可以为服务器,例如:模型训练服务器,本实施例对上述电子设备的形式不作限定。
图7示出了适于用来实现本说明书实施方式的示例性电子设备的框图。图7显示的电子设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。
如图7所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,通信接口420,存储器430,以及连接不同组件(包括存储器430、通信接口420和处理单元410)的通信总线440。
通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,或者使用多种总线结构中的任意总线结构的局域总线。举例来说,通信总线440可以包括但不限于工业标准体系结构(industry standardarchitecture,ISA)总线,微通道体系结构(micro channel architecture,MCA)总线,增强型ISA总线、视频电子标准协会(video electronics standards association,VESA)局域总线以及外围组件互连(peripheral component interconnection,PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(random access memory,RAM)和/或高速缓存存储器。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书图1~图4所示实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书图1~图4所描述的实施例中的功能和/或方法。
处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图1~图4所示实施例提供的参数更新方法。
本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图1~图4所示实施例提供的参数更新方法。
上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(read only memory,ROM)、可擦式可编程只读存储器(erasable programmable read onlymemory,EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、射频(radio frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localarea network,LAN)或广域网(wide area network,WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、无线手持设备、平板电脑(tablet computer)、手机、MP3播放器、MP4播放器等。
在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (18)

1.一种参数更新方法,包括:
获取待训练的模型;
将所述待训练的模型分割为训练节点子模型和服务器子模型;
将所述训练节点子模型发送给参与训练的训练节点;
接收所述训练节点上传的输出层矩阵;其中,所述输出层矩阵是所述训练节点利用自身的训练数据对所述训练节点子模型进行前向传播之后获得的;
根据所述输出层矩阵更新所述服务器子模型的学习率;
根据所述输出层矩阵和所述服务器子模型的学习率,利用后向传播更新所述服务器子模型和所述训练节点子模型的参数。
2.根据权利要求1所述的方法,其中,所述根据所述输出层矩阵和所述服务器子模型的学习率,利用后向传播更新所述服务器子模型和所述训练节点子模型的参数之后,还包括:
在所述待训练的模型收敛之后,获得训练好的模型;
利用所述训练好的模型,对接收到的业务请求进行处理。
3.根据权利要求1所述的方法,其中,所述根据所述输出层矩阵更新所述服务器子模型的学习率包括:
根据所述输出层矩阵对服务器保存的输入层的累积矩阵进行更新,获得更新后的累积矩阵;其中,所述输入层的累积矩阵为所述服务器子模型的输入层的累积矩阵;
确定更新后的累积矩阵与所述输出层矩阵之间的差异性距离;
根据所述差异性距离,确定所述训练节点的分布差异系数;
根据所述分布差异系数,更新所述服务器子模型的学习率。
4.根据权利要求3所述的方法,其中,所述获得更新后的累积矩阵之后,还包括:
保存所述更新后的累积矩阵。
5.根据权利要求3所述的方法,其中,所述根据所述输出层矩阵对服务器保存的输入层的累积矩阵进行更新,获得更新后的累积矩阵包括:
将所述输出层矩阵与所述服务器保存的输入层的累积矩阵相加,获得更新后的累积矩阵。
6.根据权利要求3所述的方法,其中,所述输出层矩阵是所述训练节点利用自身的训练数据对所述训练节点子模型进行前向传播之后获得的,再对获得的输出层矩阵进行归一化之后上传服务器的;
所述确定更新后的累积矩阵与所述输出层矩阵之间的差异性距离包括:
对所述更新后的累积矩阵进行归一化;
确定归一化后的累积矩阵与归一化后的输出层矩阵之间的差异性距离。
7.根据权利要求1所述的方法,其中,所述根据所述输出层矩阵和所述服务器子模型的学习率,利用后向传播更新所述服务器子模型和所述训练节点子模型的参数包括:
利用所述输出层矩阵对所述服务器子模型进行训练,获得所述训练节点对应的标签预测值;
将所述训练节点对应的标签预测值发送给所述训练节点,以使所述训练节点根据所述标签预测值计算获得损失函数值;
接收所述训练节点发送的所述损失函数值;
根据所述损失函数值,获得所述待训练的模型的梯度;
根据所述梯度和所述服务器子模型的学习率,更新所述服务器子模型的参数;以及将所述梯度发送给所述训练节点,以使所述训练节点根据所述梯度和所述训练节点子模型的学习率,更新所述训练节点子模型的参数。
8.根据权利要求1-7任意一项所述的方法,其中,所述将所述待训练的模型分割为训练节点子模型和服务器子模型之后,还包括:
初始化所述训练节点子模型和所述服务器子模型的学习率;以及根据所述训练节点子模型输出层的维度,初始化所述服务器子模型的输入层的累积矩阵。
9.一种参数更新装置,包括:
获取模块,用于获取待训练的模型;
分割模块,用于将所述待训练的模型分割为训练节点子模型和服务器子模型;
发送模块,用于将所述训练节点子模型发送给参与训练的训练节点;
接收模块,用于接收所述训练节点上传的输出层矩阵;其中,所述输出层矩阵是所述训练节点利用自身的训练数据对所述训练节点子模型进行前向传播之后获得的;
第一更新模块,用于根据所述输出层矩阵更新所述服务器子模型的学习率;
第二更新模块,用于根据所述输出层矩阵和所述服务器子模型的学习率,利用后向传播更新所述服务器子模型和所述训练节点子模型的参数。
10.根据权利要求9所述的装置,其中,还包括:处理模块;
所述获取模块,还用于在所述第二更新模块更新所述服务器子模型和所述训练节点子模型的参数之后,在所述待训练的模型收敛之后,获得训练好的模型;
所述处理模块,用于利用所述训练好的模型,对接收到的业务请求进行处理。
11.根据权利要求9所述的装置,其中,所述第一更新模块包括:
矩阵更新子模块,用于根据所述输出层矩阵对服务器保存的输入层的累积矩阵进行更新,获得更新后的累积矩阵;其中,所述输入层的累积矩阵为所述服务器子模型的输入层的累积矩阵;
确定子模块,用于确定更新后的累积矩阵与所述输出层矩阵之间的差异性距离;以及根据所述差异性距离,确定所述训练节点的分布差异系数;
学习率更新子模块,用于根据所述分布差异系数,更新所述服务器子模型的学习率。
12.根据权利要求11所述的装置,其中,所述第一更新模块还包括:
矩阵保存子模块,用于在所述矩阵更新子模块获得更新后的累积矩阵之后,保存所述更新后的累积矩阵。
13.根据权利要求11所述的装置,其中,
所述矩阵更新子模块,具体用于将所述输出层矩阵与所述服务器保存的输入层的累积矩阵相加,获得更新后的累积矩阵。
14.根据权利要求11所述的装置,其中,所述输出层矩阵是所述训练节点利用自身的训练数据对所述训练节点子模型进行前向传播之后获得的,再对获得的输出层矩阵进行归一化之后上传服务器的;
所述确定子模块,具体用于对所述更新后的累积矩阵进行归一化;以及确定归一化后的累积矩阵与归一化后的输出层矩阵之间的差异性距离。
15.根据权利要求9所述的装置,其中,所述第二更新模块包括:
训练子模块,用于利用所述输出层矩阵对所述服务器子模型进行训练,获得所述训练节点对应的标签预测值;
预测值发送子模块,用于将所述训练节点对应的标签预测值发送给所述训练节点,以使所述训练节点根据所述标签预测值计算获得损失函数值;
函数值接收子模块,用于接收所述训练节点发送的所述损失函数值;
梯度获得子模块,用于根据所述损失函数值,获得所述待训练的模型的梯度;
参数更新子模块,用于根据所述梯度和所述服务器子模型的学习率,更新所述服务器子模型的参数;以及将所述梯度发送给所述训练节点,以使所述训练节点根据所述梯度和所述训练节点子模型的学习率,更新所述训练节点子模型的参数。
16.根据权利要求9-15任意一项所述的装置,其中,还包括:
初始化模块,用于在所述分割模块将所述待训练的模型分割为训练节点子模型和服务器子模型之后,初始化所述训练节点子模型和所述服务器子模型的学习率;以及根据所述训练节点子模型输出层的维度,初始化所述服务器子模型的输入层的累积矩阵。
17.一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至8任一所述的方法。
18.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至8任一所述的方法。
CN202210397566.7A 2022-04-15 2022-04-15 参数更新方法、装置和电子设备 Active CN114723069B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210397566.7A CN114723069B (zh) 2022-04-15 2022-04-15 参数更新方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210397566.7A CN114723069B (zh) 2022-04-15 2022-04-15 参数更新方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN114723069A true CN114723069A (zh) 2022-07-08
CN114723069B CN114723069B (zh) 2024-08-13

Family

ID=82244537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210397566.7A Active CN114723069B (zh) 2022-04-15 2022-04-15 参数更新方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114723069B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024093573A1 (zh) * 2022-10-30 2024-05-10 抖音视界有限公司 用于训练机器学习模型的方法、装置、设备和介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507990A (zh) * 2020-04-20 2020-08-07 南京航空航天大学 一种基于深度学习的隧道表面缺陷分割方法
CN112288100A (zh) * 2020-12-29 2021-01-29 支付宝(杭州)信息技术有限公司 一种基于联邦学习进行模型参数更新的方法、系统及装置
CN112800466A (zh) * 2021-02-10 2021-05-14 支付宝(杭州)信息技术有限公司 基于隐私保护的数据处理方法、装置和服务器
CN113011587A (zh) * 2021-03-24 2021-06-22 支付宝(杭州)信息技术有限公司 一种隐私保护的模型训练方法和系统
CN113033090A (zh) * 2021-03-24 2021-06-25 平安科技(深圳)有限公司 推送模型训练方法、数据推送方法、装置及存储介质
CN113033823A (zh) * 2021-04-20 2021-06-25 支付宝(杭州)信息技术有限公司 一种模型训练方法、系统及装置
US11270028B1 (en) * 2020-09-16 2022-03-08 Alipay (Hangzhou) Information Technology Co., Ltd. Obtaining jointly trained model based on privacy protection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507990A (zh) * 2020-04-20 2020-08-07 南京航空航天大学 一种基于深度学习的隧道表面缺陷分割方法
US11270028B1 (en) * 2020-09-16 2022-03-08 Alipay (Hangzhou) Information Technology Co., Ltd. Obtaining jointly trained model based on privacy protection
CN112288100A (zh) * 2020-12-29 2021-01-29 支付宝(杭州)信息技术有限公司 一种基于联邦学习进行模型参数更新的方法、系统及装置
CN112800466A (zh) * 2021-02-10 2021-05-14 支付宝(杭州)信息技术有限公司 基于隐私保护的数据处理方法、装置和服务器
CN113011587A (zh) * 2021-03-24 2021-06-22 支付宝(杭州)信息技术有限公司 一种隐私保护的模型训练方法和系统
CN113033090A (zh) * 2021-03-24 2021-06-25 平安科技(深圳)有限公司 推送模型训练方法、数据推送方法、装置及存储介质
CN113033823A (zh) * 2021-04-20 2021-06-25 支付宝(杭州)信息技术有限公司 一种模型训练方法、系统及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LONGFEI ZHENG: "ASFGNN: Automated separated-federated graph neural network", PEER-TO-PEER NETWORKING AND APPLICATIONS, 5 February 2021 (2021-02-05), pages 1692, XP037424138, DOI: 10.1007/s12083-021-01074-w *
宋凯文: "面向分层网络体系结构的分布式神经网络系统设计及算法研究", 中国优秀硕士学位论文全文数据库(信息科技辑), 15 January 2022 (2022-01-15) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024093573A1 (zh) * 2022-10-30 2024-05-10 抖音视界有限公司 用于训练机器学习模型的方法、装置、设备和介质

Also Published As

Publication number Publication date
CN114723069B (zh) 2024-08-13

Similar Documents

Publication Publication Date Title
CN109816589B (zh) 用于生成漫画风格转换模型的方法和装置
CN109800732B (zh) 用于生成漫画头像生成模型的方法和装置
CN108416310B (zh) 用于生成信息的方法和装置
CN111523640B (zh) 神经网络模型的训练方法和装置
US20190156213A1 (en) Gradient compressing apparatus, gradient compressing method, and non-transitory computer readable medium
CN109300179B (zh) 动画制作方法、装置、终端和介质
CN109558605B (zh) 用于翻译语句的方法和装置
WO2020207174A1 (zh) 用于生成量化神经网络的方法和装置
CN111340221A (zh) 神经网络结构的采样方法和装置
CN110211017B (zh) 图像处理方法、装置及电子设备
CN113190872B (zh) 数据保护方法、网络结构训练方法、装置、介质及设备
WO2020173270A1 (zh) 用于分析数据的方法、设备和计算机存储介质
CN112149699A (zh) 用于生成模型的方法、装置和用于识别图像的方法、装置
CN110009101B (zh) 用于生成量化神经网络的方法和装置
CN114817612A (zh) 多模态数据匹配度计算和计算模型训练的方法、相关装置
CN110827799B (zh) 用于处理语音信号的方法、装置、设备和介质
CN113965313A (zh) 基于同态加密的模型训练方法、装置、设备以及存储介质
CN114723069B (zh) 参数更新方法、装置和电子设备
CN113657249B (zh) 训练方法、预测方法、装置、电子设备以及存储介质
CN108509179B (zh) 用于检测人脸的方法、用于生成模型的装置
CN111915689B (zh) 用于生成目标函数的方法、装置、电子设备和计算机可读介质
CN113409307A (zh) 基于异质噪声特性的图像去噪方法、设备及介质
CN115759209B (zh) 神经网络模型的量化方法、装置、电子设备及介质
CN114758130B (zh) 图像处理及模型训练方法、装置、设备和存储介质
CN110991661A (zh) 用于生成模型的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant