一种基于联邦迁移学习的模型训练方法及计算节点技术

技术编号:29404198 阅读:14 留言:0更新日期:2021-07-23 22:42
本申请实施例公开了一种基于联邦迁移学习的模型训练方法及计算节点,可应用于人工智能领域中,该方法包括:在各源域上通过本地有标签数据训练各自的特征提取器的模型参数G和子任务模型(如分类器)的模型参数T,再将所有G发送给目标域,并在各源域上训练各自域鉴别器的模型参数D1,在目标域上训练域鉴别器的模型参数D2,将所有D1和D2在服务器端或目标域端聚合得到聚合参数值D,并将D发送给各个源域,每个源域通过各自的特征提取器和鉴别器进行多次迭代的对抗训练。本申请通过对抗训练过程实现域对齐,并且域之间互相传递的仅是模型参数值,不传递数据或数据特征,保护了数据隐私,在兼顾域对齐和数据隐私的情况下实现了对模型的协同训练。

【技术实现步骤摘要】
一种基于联邦迁移学习的模型训练方法及计算节点
本申请涉及人工智能领域,尤其涉及一种基于联邦迁移学习的模型训练方法及计算节点。
技术介绍
联邦学习(federatedlearning,FL)又称为联邦机器学习、联合学习、联盟学习等,其能有效帮助多个计算节点在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模;迁移学习(transferlearning,TL)是把为任务A开发的模型作为初始点,重新使用在为任务B开发模型的过程中,也就是把基于已有任务训练好的模型学习到的知识迁移到新的任务中来帮助该模型进行再训练。业界目前已有几种基于联邦学习/迁移学习的模型训练方法,一种联邦学习方法称为联邦平均(federatedaveraging,FedAvg),FedAvg结构上一般包括一个服务器和一些客户端,适用于各个客户端的数据都有标签的场景,技术流程主要包括模型下发和模型聚合过程,在模型下发过程,客户端从服务器下载模型,在本地数据上训练,训练到一定程度后上传模型到服务器;模型聚合过程,服务器会收集各个客户端上传的模型,并进行模型融合,这两个过程会反复迭代直至模型收敛。一种迁移学习方法则称为对抗判别域适应(adversarialdiscriminativedomainadaptation,ADDA),ADDA的特点是从源域数据提取的特征和从目标域数据提取的特征会合并到一起作为训练数据的特征,结构上一般包括特征提取器和一个鉴别器,其中,特征提取器负责提取训练数据的特征,希望提取到的特征能够迷惑鉴别器,使鉴别器无法分辨该特征属于源域还是目标域,鉴别器则需要尽量保证自己能区分来自特征提取器的特征是属于哪个域,两者相互对抗,在迭代训练过程中互相提高,从而实现对源域和目标域的对齐。但上述方案都存在缺陷,FedAvg能够很好地保护用户隐私,但是因为没有对源域数据和目标域数据做对齐,所以当不同域之间的数据存在分布差异时,模型性能比较差;ADDA则与FedAvg相反,其考虑了域对齐,但由于将从不同域提取的数据特征合并到一起再训练,传递的特征本身还是在一定程度上泄露了数据隐私。基于此,一种既能实现域对齐,又能保护数据隐私的联邦迁移学习的模型训练方法亟待推出。
技术实现思路
本申请实施例提供了一种基于联邦迁移学习的模型训练方法及计算节点,用于利用第一计算节点上第一数据集辅助第二计算节点上的第二数据集对模型进行训练,实现域对齐,并且在计算节点之间传递的仅仅是模型的参数值,不传递数据或数据特征,充分保护了用户数据隐私,因此在兼顾域对齐和用户数据隐私的情况下,本申请实施例实现了对模型的协同训练,提高了模型的性能。基于此,本申请实施例提供以下技术方案:第一方面,本申请实施例首先提供一种基于联邦迁移学习的模型训练方法,可用于人工智能领域中,例如计算机视觉领域,该方法包括:首先,第一计算节点在第一计算节点上第一模型(如,特征提取器)的第一模型参数值(可用Gs表示)和第一计算节点上的第二模型(如,分类器)的第二模型参数值(可用Ts表示)保持不变的情况下(也可称为固定Gs和固定Ts),采用该第一计算节点上的第一数据集对第一计算节点上的第三模型(如,域鉴别器,也可简称为鉴别器)进行训练,以得到该第一计算节点上的第三模型的第三模型参数值(可用Ds表示),其中,该第一模型参数值Gs为第一计算节点对第一模型训练后得到的模型参数值,第二模型参数值Ts为第一计算节点对第二模型训练后得到的模型参数取值。在本申请实施例中,第一模型用于对输入数据进行特征提取;第二模型用于基于第一模型提取出的特征执行目标任务,例如,目标任务可以是分类任务(如,目标检测任务、语义分割任务、语音识别任务等),也可以是回归任务,此处不做限定;第三模型用于鉴别由第一模型提取出的特征的源域。作为一种示例,根据源域的数据分布可以区分特征对应的输入数据所位于的计算节点,例如,判断获取到的特征是来自源域设备,还是来自目标域设备。之后,第一计算节点将接收第一聚合参数值(可用D-all表示),该第一聚合参数值D-all是基于第三模型参数值Ds和第四模型参数值(可用Dt表示)得到,该第四模型参数值Dt为第二计算节点上的第三模型的模型参数取值,该第二计算节点上的第三模型由该第二计算节点采用第二计算节点上的数据集(可称为第二数据集)训练得到。第一计算节点在得到了第一聚合参数值D-all后,会将原来的第三模型参数值Ds更新为该第一聚合参数值D-all,并在保持第三模型参数值Ds取第一聚合参数值D-all不变的情况下(可称为固定Ds=D-all),采用第一数据集对第一计算节点上的第一模型和第一计算节点上的第二模型再进行训练,得到第一计算节点上的第一模型的第五模型参数值(可用Gs’表示)和第一计算节点上的第二模型的第六模型参数值(可用Ts’表示)。最后,第一计算节点将第五模型参数值Gs’和第六模型参数值Ts’作为新的第一模型参数值Gs和新的第二模型参数值Ts。需要注意的是,在本申请的一些实施方式中,第一计算节点还可以重复执行上述步骤,直至达到迭代终止条件,该迭代终止条件可以是达到预设的训练轮次,也可以是使得损失函数收敛,还可以是其他设定的训练终止条件,具体此处不做限定。还需要注意的是,在本申请实施例中,第一计算节点上的第一数据集可以是有标签的数据集,第二计算节点上的第二数据集是无标签或少标签的数据集。此外,在本申请实施例中,第一计算节点可以是一个,也可以是多个,当第一计算节点是多个的情况时,那么每个计算节点上进行的操作是类似的,此处不予赘述。在本申请上述实施方式中,具体阐述了第一计算节点侧训练各个模型并得到各模型的模型参数值的过程,在该训练过程中,第一计算节点与第二计算节点之间互相传递的仅是模型参数值,不传递数据或数据特征,保护了数据隐私;并且基于传递的模型参数值,使得第一计算节点上的第一模型从第一数据集提取的特征与第二计算节点上的第一模型从第二数据集提取的特征的分布差异在迭代训练过程中逐步缩小,从而实现域对齐。因此,本申请上述实施方式在兼顾域对齐和数据隐私的情况下实现了对模型的协同训练。在第一方面的一种可能的设计中,第一计算节点接收第一聚合参数值D-all,且第一聚合参数值D-all基于第三模型参数值Ds以及第四模型参数值Dt得到的过程可以是:首先,第一计算节点将第三模型参数值Ds向第二计算节点发送,以使得第二计算节点将第三模型参数值Ds和第四模型参数值Dt进行聚合,以得到第一聚合参数值D-all;之后,第一计算节点再接收由第二计算节点发送的第一聚合参数值D-all。需要注意的是,如果第一计算节点为一个,第一聚合参数值D-all就是由一个第三模型参数值Ds与第四模型参数值Dt聚合得到;如果第一计算节点为多个,第一聚合参数值D-all就是由多个第三模型参数值Ds(即每个第一计算节点各自有一个对应的第三模型参数值Ds,可分别用D1、……、Dn表示)与第四模型参数值Dt进行聚合。在本申请上述实施方式中,第三模型参数值Ds与第四模型参数值Dt的聚合过程由第二计本文档来自技高网
...

【技术保护点】
1.一种基于联邦迁移学习的模型训练方法,其特征在于,包括:/n在第一计算节点上的第一模型参数值和第二模型参数值保持不变的情况下,所述第一计算节点采用所述第一计算节点上的第一数据集训练所述第一计算节点上的第三模型,以得到所述第一计算节点上的第三模型参数值,所述第一模型参数值、所述第二模型参数值、所述第三模型参数值分别为所述第一计算节点上的第一模型、第二模型、第三模型的模型参数取值,其中,所述第一模型用于对输入数据进行特征提取,所述第二模型用于基于所述第一模型提取出的特征执行目标任务,所述第三模型用于鉴别由所述第一模型提取出的特征的源域;/n所述第一计算节点接收第一聚合参数值,所述第一聚合参数值基于所述第三模型参数值以及第四模型参数值得到,所述第四模型参数值为第二计算节点上的第三模型的模型参数取值,所述第二计算节点上的第三模型由所述第二计算节点采用所述第二计算节点上的第二数据集训练得到;/n所述第一计算节点将所述第三模型参数值更新为所述第一聚合参数值,并在保持所述第三模型参数值为所述第一聚合参数值不变的情况下,采用所述第一数据集对所述第一计算节点上的第一模型和第二模型再进行训练,并更新所述第一模型参数值和所述第二模型参数值。/n...

【技术特征摘要】
1.一种基于联邦迁移学习的模型训练方法,其特征在于,包括:
在第一计算节点上的第一模型参数值和第二模型参数值保持不变的情况下,所述第一计算节点采用所述第一计算节点上的第一数据集训练所述第一计算节点上的第三模型,以得到所述第一计算节点上的第三模型参数值,所述第一模型参数值、所述第二模型参数值、所述第三模型参数值分别为所述第一计算节点上的第一模型、第二模型、第三模型的模型参数取值,其中,所述第一模型用于对输入数据进行特征提取,所述第二模型用于基于所述第一模型提取出的特征执行目标任务,所述第三模型用于鉴别由所述第一模型提取出的特征的源域;
所述第一计算节点接收第一聚合参数值,所述第一聚合参数值基于所述第三模型参数值以及第四模型参数值得到,所述第四模型参数值为第二计算节点上的第三模型的模型参数取值,所述第二计算节点上的第三模型由所述第二计算节点采用所述第二计算节点上的第二数据集训练得到;
所述第一计算节点将所述第三模型参数值更新为所述第一聚合参数值,并在保持所述第三模型参数值为所述第一聚合参数值不变的情况下,采用所述第一数据集对所述第一计算节点上的第一模型和第二模型再进行训练,并更新所述第一模型参数值和所述第二模型参数值。


2.根据权利要求1所述的方法,其特征在于,所述第一计算节点接收第一聚合参数值,所述第一聚合参数值基于所述第三模型参数值以及第四模型参数值得到包括:
所述第一计算节点将所述第三模型参数值向所述第二计算节点发送,以使得所述第二计算节点将所述第三模型参数值和所述第四模型参数值进行聚合,以得到所述第一聚合参数值;
所述第一计算节点接收来自所述第二计算节点的所述第一聚合参数值。


3.根据权利要求1-2中任一项所述的方法,其特征在于,所述方法还包括:
所述第一计算节点将更新得到的第一模型参数值和更新得到的第二模型参数值向所述第二计算节点发送。


4.根据权利要求1所述的方法,其特征在于,所述第一计算节点接收第一聚合参数值,所述第一聚合参数值基于所述第三模型参数值以及第四模型参数值得到包括:
所述第一计算节点将所述第三模型参数值向第三计算节点发送,以使得所述第三计算节点将所述第三模型参数值以及来自所述第二计算节点的所述第四模型参数值进行聚合,以得到所述第一聚合参数值;
所述第一计算节点接收来自所述第三计算节点的所述第一聚合参数值。


5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述第一计算节点将更新得到的第一模型参数值和更新得到的第二模型参数值向所述第三计算节点发送。


6.一种基于联邦迁移学习的模型训练方法,其特征在于,包括:
第二计算节点获取第二聚合参数值,所述第二聚合参数值基于一个或多个第一计算节点上各自训练后的第一模型的第一模型参数值得到,其中,每个第一计算节点上的第一模型由所述第一计算节点采用所述第一计算节点的第一数据集进行训练,所述第一模型用于对输入数据进行特征提取;
在所述第二计算节点上的第一模型的模型参数取值为所述第二聚合参数值的情况下,所述第二计算节点采用所述第二计算节点上的第二数据集对所述第二计算节点上的第三模型进行训练,以得到所述第二计算节点上的第三模型的第四模型参数值,其中,所述第三模型用于鉴别由所述第一模型提取出的特征的源域。


7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第二计算节点获取第一聚合参数值,所述第一聚合参数值基于第三模型参数值以及所述第四模型参数值得到,所述第三模型参数值为所述第一计算节点采用所述第一数据集对所述第一计算节点上的第三模型进行训练得到的模型参数取值;
所述第二计算节点将所述第四模型参数值更新为所述第一聚合参数值,并在保持所述第四模型参数值为所述第一聚合参数值不变的情况下,采用所述第二数据集对所述第二计算节点上的第一模型、第二模型进行训练,并更新所述第二计算节点上的第一模型的模型参数值和所述第二计算节点上的第二模型的模型参数值。


8.根据权利要求7所述的方法,其特征在于,所述第二计算节点获取第一聚合参数值,所述第一聚合参数值基于第三模型参数值以及所述第四模型参数值得到包括:
所述第二计算节点接收由一个或多个所述第一计算节点各自发送的第三模型参数值;
所述第二计算节点将所述第四模型参数值和每个所述第三模型参数值进行聚合,以得到所述第一聚合参数值。


9.根据权利要求7或8所述的方法,其特征在于,所述第二计算节点获取第二聚合参数值,所述第二聚合参数值基于一个或多个第一计算节点上各自训练后的第一模型的第一模型参数值得到包括:
所述第二计算节点接收由一个或多个所述第一计算节点各自发送的第一模型参数值,并将每个所述第一模型参数值和所述第二计算节点上的第一模型的模型参数值进行聚合,以得到所述第二聚合参数值。


10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述第二计算节点基于来自一个或多个所述第一计算节点的最后一次更新的所述第一模型参数值,最后一次更新所述第二聚合参数值;
所述第二计算节点接收由一个或多个所述第一计算节点发送的更新后的第二模型参数值,并将每个所述更新后的第二模型参数值和更新后的所述第二计算节点上的第二模型的模型参数值进行聚合,以得到第四聚合参数值;
所述第二计算节点根据所述第二计算节点上的第一模型、第二模型执行目标任务,其中,所述第二计算节点上的第一模型的模型参数取值为所述最后一次更新得到的第二聚合参数值,所述第二计算节点上的第二模型的模型参数取值为所述第四聚合参数值。


11.根据权利要求6所述的方法,其特征在于,所述第二计算节点获取第二聚合参数值,所述第二聚合参数值基于一个或多个第一计算节点上各自训练后的第一模型的第一模型参数值得到包括:
所述第二计算节点接收由每个第一计算节点各自发送的第一模型参数值,并对接收到的每个所述第一模型参数值进行聚合,以得到所述第二聚合参数值。


12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述第二计算节点基于来自一个或多个所述第一计算节点的最后一次更新的所述第一模型参数值,最后一次更新所述第二聚合参数值;所述第二计算节点接收由每个第一计算节点各自发送的最后一次更新得到的第二模型参数值,对每个所述最后一次更新得到的第二模型参数值进行聚合,以得到第三聚合参数值;
所述第二计算节点根据所述第二计算节点上的第一模型、第二模型执行目标任务,其中,所述第二计算节点上的第一模型的模型参数取值为最后一次更新得到的第二聚合参数值,所述第二计算节点上的第二模型的模型参数取值为所述第三聚合参数值。


13.根据权利要求7所述的方法,其特征在于,所述第二计算节点获取第一聚合参数值,所述第一聚合参数值基于第三模型参数值以及所述第四模型参数值得到包括:
所述第二计算节点向第三计算节点发送所述第四模型参数值;
所述第二计算节点接收来自所述第三计算节点的第一聚合参数值,所述第一聚合参数值由所述第三计算节点对来自一个或多个所述第一计算节点的每个第三模型参数值和所述第四模型参数值聚合得到。


14.根据权利要求7所述的方法,其特征在于,所述第二计算节点获取第二聚合参数值,所述第二聚合参数值基于一个或多个第一计算节点上各自训练后的第一模型的第一模型参数值得到包括:
所述第二计算节点向第三计算节点发送更新后的所述第二计算节点上的第一模型的模型参数值;
所述第二计算节点接收来自所述第三计算节点的所述第二聚合参数值,所述第二聚合参数值由所述第三计算节点对所述更新后的所述第二计算节点上的第一模型的模型参数值以及来自一个或多个所述第一计算节点的每个更新的第一模型参数值聚合得到。


15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
所述第二计算节点将更新后的所述第二计算节点上的第二模型的模型参数值向所述第三计算节点发送,以使得所述第三计算节点对所述更新后的所述第二计算节点上的第二模型的模型参数值以及从一个或多个所述第一计算节点各自接收到的每个最后一次更新得到的第二模型参数值进行聚合,以得到第四聚合参数值;
所述第二计算节点接收来自所述第三计算节点的所述第四聚合参数值;
所述第二计算节点根据所述第二计算节点上的第一模型、第二模型执行目标任务,其中,所述第二计算节点上的第一模型的模型参数取值为来自所述第三计算节点的最后一次更新得到的第二聚合参数值,所述第二计算节点上的第二模型的模型参数取值为所述第四聚合参数值。


16.根据权利要求6所述的方法,其特征在于,所述第二计算节点获取第二聚合参数值,所述第二聚合参数值基于一个或多个第...

【专利技术属性】
技术研发人员:詹德川施意李新春宋绍铭邵云峰李秉帅钱莉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1