一种基于联邦学习的神经网络训练方法及设备技术

技术编号:30408807 阅读:88 留言:0更新日期:2021-10-20 11:22
本申请公开了一种基于联邦学习的神经网络训练方法及设备,可应用于人工智能领域中,包括:构建包括第一损失函数和第二损失函数的目标损失函数,第一损失函数用于表征对输入神经网络的有标签数据预测错误的概率,第二损失函数用于表征对输入神经网络的无标签数据进行预测得到的预测结果不属于预设分类类别的概率,之后,各客户端利用目标损失函数各自采用本地训练集(每个本地训练集均包括有标签数据及无标签数据)对本地目标神经网络训练,得到的权重矩阵上传服务器进行整合,整合权重矩阵再发送给各客户端重复训练,直至达到训练终止条件。本申请构建的目标损失函数同时考虑到了各客户端上有标签数据和无标签数据对目标损失函数的贡献。损失函数的贡献。损失函数的贡献。

【技术实现步骤摘要】
一种基于联邦学习的神经网络训练方法及设备


[0001]本申请涉及联邦学习领域,尤其涉及一种基于联邦学习的神经网络训练方法及设备。

技术介绍

[0002]近年来,神经网络在计算机视觉领域(如,目标检测、图片分类、语义分割等应用场景)中被广泛应用,而优质数据对于神经网络的训练具有不可替代的重要作用,因此不同厂商对于数据的保护愈加重视,从而容易形成数据孤岛问题,即优质数据在不同厂商之间不进行流通。基于此,联邦学习(federated learning,FL)应运而生。联邦学习又称为联邦机器学习、联合学习、联盟学习等,其能有效帮助多个客户端设备在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。也就是联邦学习能够在不同客户端之间不共享数据的前提下,利用各个客户端上各自的数据共同训练神经网络,保护用户数据隐私的同时提高神经网络的性能。
[0003]业界目前已有多种基于联邦学习的神经网络训练方法,例如,一种联邦学习方法称为联邦平均(federated averaging,FedAvg),FedAvg结构上一般包括一个服务器(server)和一些客户端(client),适用于各个客户端的数据都有标签的场景。具体如图1所示,其技术流程主要包括网络参数下发和网络参数聚合过程,在网络参数下发过程,客户端从服务器下载神经网络的网络参数,在本地数据上训练,训练到一定程度后上传更新后的网络参数到服务器;网络参数聚合过程,服务器会收集各个客户端上传的网络参数,并进行网络参数融合,这两个过程会反复迭代直至神经网络收敛。
[0004]已有的联邦学习方法均是假设各个客户端上的本地数据均为有标签数据,实际上受限于时间与标记能力,客户端可能只对部分数据进行了标记。目前业界是通过将半监督学习和上述联邦学习方法结合起来,提出了一种联邦匹配(Fed Match)算法来解决客户端上只有部分数据有标签的问题,但前提是假设在服务器端存在标记数据进行辅助训练,这与联邦学习保护用户数据隐私的想法相违背。基于此,在每个客户端只有来自部分类别的部分标记数据、服务器不存在用于辅助训练的数据以及客户端与服务器之间只允许神经网络的参数进行传递的前提下,如何训练得到一个性能优秀的神经网络是亟待解决的问题。

技术实现思路

[0005]本申请实施例提供了一种基于联邦学习的神经网络训练方法及设备,该方法通过构建一个不同于传统联邦学习方式下的目标损失函数,来解决在客户端(即第一设备)上只有部分标记数据的情况下进行联邦学习的问题,该目标损失函数不仅考虑到了有标签数据对该目标损失函数的贡献,还考虑到了无标签数据对该目标损失函数的贡献,提高了多个客户端(即第一设备以及第二设备)基于该目标损失函数联合训练得到的目标神经网络的性能。
[0006]基于此,本申请实施例提供以下技术方案:
[0007]第一方面,本申请实施例首先提供一种基于联邦学习的神经网络训练方法,可用于人工智能领域中,该方法包括:首先,第一设备根据第一损失函数以及第二损失函数得到目标损失函数,之后,第一设备(也可称为第一客户端)利用构建的目标损失函数,采用该第一设备上的训练集(即第一训练集)对第一设备上的目标神经网络(即本地目标神经网络)进行训练,从而得到该本地目标神经网络的第一权重矩阵,其中,该第一训练集既包括多个有标签数据(可称为第一有标签数据)又包括多个无标签数据(可称为第一无标签数据),需要注意的是,在本申请实施例中,该第一训练集中的无标签数据可以是属于多个分类类别的数据(只是未被标记而已)。第一设备在得到本地目标神经网络的第一权重矩阵后,会进一步将第一权重矩阵向服务设备(如,服务器,或其他客户端)发送。最后,第一设备接收由服务设备发送的整合权重矩阵,该整合权重矩阵由服务设备对第一权重矩阵以及第二权重矩阵整合得到,其中,第二权重矩阵为第二设备利用该目标损失函数,采用第二设备上的第二训练集对第二设备上的目标神经网络进行训练得到的权重矩阵的取值,类似地,该第二训练集也包括多个第二有标签数据以及多个第二无标签数据,该第二训练集中的无标签数据也可以是属于多个分类类别的数据(只是未被标记而已)。这里需要注意的是,第一设备上的目标神经网络和第二设备上的目标神经网络的网络结构是相同的,即初始网络模型都是一样的,只是在后续的训练过程中,各自训练得到的网络模型的权重矩阵各不相同。
[0008]在本申请上述实施方式中,通过构建一个不同于传统联邦学习方式下的目标损失函数,来解决在客户端(即第一设备)上只有部分标记数据的情况下进行联邦学习的问题,该目标损失函数不仅考虑到了有标签数据对该目标损失函数的贡献,还考虑到了无标签数据对该目标损失函数的贡献,提高了多个客户端(即第一设备以及第二设备)基于该目标损失函数联合训练得到的目标神经网络的性能。
[0009]在第一方面的一种可能的实现方式中,构建的目标损失函数中的第一损失函数具体可以包括第一子损失函数以及第二子损失函数,其中,第一子损失函数用于表征对输入神经网络的有标签数据进行预测,得到的预测结果不属于该有标签数据对应的分类类别的概率,而第二子损失函数则用于表征对输入神经网络的该有标签数据进行预测,得到的预测结果不属于预设分类类别的概率。
[0010]在本申请上述实施方式中,具体阐述了第一损失函数还可以包括两个子部分,每个子部分对整个目标神经网络的贡献各不相同,具备灵活性。
[0011]在第一方面的一种可能的实现方式中,第一损失函数具体可以是:第一子损失函数与第二子损失函数之间的差。
[0012]在本申请上述实施方式中,具体阐述了第一子损失函数与第二子损失函数构成该第一损失函数的具体形式,具备可实现性。
[0013]在第一方面的一种可能的实现方式中,第一设备根据第一损失函数以及第二损失函数得到目标损失函数的具体实现方式可以是:第一设备将第一损失函数与第二损失函数相加,得到目标损失函数。
[0014]在本申请上述实施方式中,具体阐述了第一损失函数与第二损失函数构成该目标损失函数的具体形式,具备可实现性。
[0015]在第一方面的一种可能的实现方式中,第一设备根据第一损失函数以及第二损失函数得到目标损失函数的具体实现方式还可以是:第一设备根据第一损失函数、第二损失
函数以及第三损失函数得到目标损失函数,其中,该第三损失函数用于表征对输入神经网络的目标有标签数据进行预测得到的预测结果不属于目标预设分类类别的概率,目标有标签数据属于第一设备上的第一有标签数据且不属于第二设备上的第二有标签数据,目标预设分类类别为在第二设备上预设的分类类别。为便于理解第三损失函数中的目标有标签数据以及目标预设分类类别,下面举例进行示意:假设客户端k1为第一设备,客户端k2为第二设备,那么针对第一设备来说,目标有标签数据就是指属于该第一设备上的第一有标签数据且不属于第二设备上的第二有标签数据。类似地,目标预设分类类别也是指第二设备上定义的预设分类类别,例如,假设一共有10个分类类别,其中,客户端k1上标记了其中第1~5类中的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联邦学习的神经网络训练方法,其特征在于,包括:第一设备根据第一损失函数以及第二损失函数得到目标损失函数,所述第一损失函数用于表征对输入神经网络的有标签数据预测错误的概率,所述第二损失函数用于表征对输入所述神经网络的无标签数据进行预测得到的预测结果不属于预设分类类别的概率;所述第一设备利用所述目标损失函数,采用所述第一设备上的第一训练集对所述第一设备上的目标神经网络进行训练,并将所述第一设备上的目标神经网络当前的权重矩阵更新为第一权重矩阵,其中,所述第一训练集包括第一有标签数据以及第一无标签数据;所述第一设备将所述第一权重矩阵向服务设备发送;所述第一设备接收由所述服务设备发送的整合权重矩阵,所述整合权重矩阵由所述服务设备对所述第一权重矩阵以及第二权重矩阵整合得到,所述第二权重矩阵为第二设备利用所述目标损失函数,采用所述第二设备上的第二训练集对所述第二设备上的目标神经网络进行训练得到的权重矩阵的取值,其中,所述第二训练集包括第二有标签数据以及第二无标签数据,所述第一设备上的目标神经网络与所述第二设备上的目标神经网络的网络结构相同。2.根据权利要求1所述的方法,其特征在于,所述第一损失函数包括第一子损失函数以及第二子损失函数;所述第一子损失函数用于表征对输入所述神经网络的有标签数据进行预测,得到的预测结果不属于所述有标签数据对应的分类类别的概率;所述第二子损失函数用于表征对输入所述神经网络的有标签数据进行预测,得到的预测结果不属于所述预设分类类别的概率。3.根据权利要求2所述的方法,其特征在于,所述第一损失函数为所述第一子损失函数与所述第二子损失函数之间的差。4.根据权利要求1

3中任一项所述的方法,其特征在于,所述第一设备根据第一损失函数以及第二损失函数得到目标损失函数包括:所述第一设备将所述第一损失函数与所述第二损失函数相加,得到所述目标损失函数。5.根据权利要求1

3中任一项所述的方法,其特征在于,所述第一设备根据第一损失函数以及第二损失函数得到目标损失函数包括:所述第一设备根据第一损失函数、第二损失函数以及第三损失函数得到目标损失函数,所述第三损失函数用于表征对输入所述神经网络的目标有标签数据进行预测得到的预测结果不属于目标预设分类类别的概率,所述目标有标签数据属于所述第一设备上的第一有标签数据且不属于所述第二设备上的第二有标签数据,所述目标预设分类类别为在所述第二设备上预设的分类类别。6.根据权利要求5所述的方法,其特征在于,所述第一设备根据第一损失函数、第二损失函数以及第三损失函数得到目标损失函数包括:所述第一设备将所述第一损失函数与所述第二损失函数相加,得到相加结果;所述第一设备将所述相加结果与所述第三损失函数相减,得到所述目标损失函数。7.根据权利要求1

6中任一项所述的方法,其特征在于,在所述第一设备接收由所述服务设备发送的整合权重矩阵之后,所述方法还包括:
所述第一设备将所述整合权重矩阵作为所述第一设备上的目标神经网络当前的权重矩阵,并再次执行:利用所述目标损失函数,采用所述第一设备上的第一训练集对所述第一设备上的目标神经网络进行训练、将所述第一权重矩阵向所述服务设备发送、接收由所述服务设备发送的整合权重矩阵的步骤;所述第一设备重复执行上一步骤,直至达到训练终止条件。8.根据权利要求1

7中任一项所述的方法,其特征在于,所述达到训练终止条件包括:整合权重矩阵的更新次数达到预设次数,或,相邻两次得到的整合权重矩阵之间的差值小于预设阈值。9.一种基于联邦学习的神经网络训练方法,其特征在于,包括:服务设备接收第一设备发送的第一权重矩阵以及第二设备发送的第二权重矩阵,所述第一权重矩阵为所述第一设备利用目标损失函数,采用所述第一设备上的第一训练集对所述第一设备上的目标神经网络进行训练得到的权重矩阵,所述第二权重矩阵为所述第二设备利用所述目标损失函数,采用所述第二设备上的第二训练集对所述第二设备上的目标神经网络进行训练得到的权重矩阵,所述第一设备上的目标神经网络与所述第二设备上的目标神经网络的网络结构相同,所述目标神经网络根据第一损失函数以及第二损失函数得到,所述第一损失函数用于表征对输入神经网络的有标签数据预测错误的概率,所述第二损失函数用于表征对输入所述神经网络的无标签数据进行预测得到的预测结果不属于预设分类类别的概率,所述第一训练集包括第一有标签数据以及第一无标签数据,所述第二训练集包括第二有标签数据以及第二无标签数据;所述服务设备根据所述第一权重矩阵以及所述第二权重矩阵得到整合权重矩阵;所述服务设备将所述整合权重矩阵向所述第一设备发送,以使得所述第一设备将所述整合权重矩阵作为所述第一设备上的目标神经网络当前的权重矩阵。10.根据权利要求9所述的方法,其特征在于,在所述服务设备将所述整合权重矩阵向所述第一设备发送之后,所述方法还包括:所述服务设备重复执行上述步骤,直至达到训练终止条件。11.一种数据处理方法,其特征在于,包括:获取与目标任务相关的输入数据;通过训练后的目标神经网络对所述输入数据进行处理,得到输出数据,其中,所述训练后的目标神经网络的权重矩阵由权利要求1

10中任一项所述的方法得到的整合权重矩阵。12.根据权利要求11所述的方法,其特征在于,所述输入数据包括如下任意一项:图像数据、音频数据或文本数据。13.一种训练设备,其特征在于,所述训练设备作为第一设备,包括:获取模块,用于根据第一损失函数以及第二损失函数得到目标损失函数,所述第一损失...

【专利技术属性】
技术研发人员:许奕星陈汉亭王云鹤
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1