首页> 中国专利> 基于对比学习的联邦学习个性化方法

基于对比学习的联邦学习个性化方法

摘要

本发明公开了一种基于对比学习的联邦学习个性化方法,通过权衡在整个数据集上训练的全局模型,与在本地子集上训练的本地模型,来实现个性化。通过当前本地模型学习到的表征与全局模型学习到的表征的一致性损失,来修正本地更新,进而实现联邦学习的个性化。将同时计算全局模型的表征、本地数据训练得到模型的表征,以及当前模型训练的本地模型的表征,然后通过个性化参数,规范这三个表征之间的距离,即在模型层面实现对比学习,以此来修正全局模型适应不同客户端上的任务。本发明能够适应客户端不同的任务,达到联邦学习个性化定制的要求。

著录项

  • 公开/公告号CN115115066A

    专利类型发明专利

  • 公开/公告日2022-09-27

    原文格式PDF

  • 申请/专利权人 浙江工业大学;

    申请/专利号CN202210956833.X

  • 申请日2022-08-10

  • 分类号G06N20/00(2019.01);

  • 代理机构杭州求是专利事务所有限公司 33200;

  • 代理人邱启旺

  • 地址 310014 浙江省杭州市下城区潮王路18号

  • 入库时间 2023-06-19 17:09:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-10-18

    实质审查的生效 IPC(主分类):G06N20/00 专利申请号:202210956833X 申请日:20220810

    实质审查的生效

  • 2022-09-27

    公开

    发明专利申请公布

说明书

技术领域

本发明属于面向联邦学习模型个性化领域,尤其涉及一种基于对比学习的联邦学习个性化方法。

背景技术

联合学习因为数据孤岛问题应运而生,其目标是协同训练数据,这些数据是由许多远程设备或本地客户端生成的,并因为隐私问题而无法共享。联邦学习使多方可以联合学习一个机器学习模型,而无需交换各自的本地数据。在每一轮联邦学习训练中,更新后的各方本地模型被传输到服务器,服务器进一步聚合本地模型以更新全局模型。在学习过程中不交换原始数据。联邦学习已经成为一个重要的机器学习领域,吸引了很多研究兴趣。此外,它还被应用于许多领域,如医学成像、智能家具等领域。

由于联邦学习侧重于学习所有客户端数据从而获得高质量的全局模型,因而无法捕获所有客户端的个人信息。对于那些数据质量较高、贡献度较大的客户端来说,全局模型能够很好的适应该客户端的任务,但对于贡献度较小的客户端来说,全局模型未必具有很好的适应性。当各个客户端更新其本地模型时,其本地目标可能与全局目标相差甚远。因此联邦学习在现实部署时面临着数据分布异构的问题,训练得到的全局模型未必适合在所有参与训练的客户端上进行工作。

联邦学习的一个关键挑战是处理跨各方的本地数据分布的异构性。联邦学习训练得到的全局模型往往会忽略低贡献度客户端的个人信息,导致全局模型具有较低的泛化能力。为了应对这一挑战,一种简单并且有效的方法是在设备或者模型上进行个性化处理。对于广播得到的全局模型,客户端再进行对应的个性化训练,以确保最终的模型能够适应任务。

发明内容

本发明的目的在于针对现有技术的不足,提供一种基于对比学习的联邦学习个性化方法。本发明可以保证全局模型能够根据客户端的数据分布进行修正。

本发明的目的是通过以下技术方案来实现的:一种基于对比学习的联邦学习个性化方法,包括以下步骤:

(1)本地训练出独立模型:

(1.1)本地客户端根据其持有的数据训练出独立模型,该独立模型仅包含单个客户端的数据信息,适应该客户端的任务;

(1.2)搭建对比学习网络,使用对比学习网络从独立模型中提取出表征;

(2)客户端参与联邦学习训练:

(2.1)客户端开始正常的联邦学习训练,根据服务器发布的全局模型以及本地数据得到本地更新;

(2.2)训练完成后,每个客户端将本地更新的本地模型,上传给服务器;

(2.3)服务器聚合得到新的全局模型并进行全局广播,客户端接收到新的全局模型后从中提取出全局表征;

(3)客户端进行个性化修正训练:

(3.1)在客户端接收到最新的全局模型之后,客户端开启个性化修正训练,在训练阶段分别得到三个表征:独立模型表征,全局模型表征以及正在被更新的本地模型表征;

(3.2)通过步骤(3.1)得到的三个表征,计算得到模型一致性损失,与训练损失一起更新本地模型;

(3.3)重复步骤(3.1)~(3.2),进行迭代修正训练,最终得到具有个性化的本地模型。

进一步地,步骤(1.1)包括:

共有N个客户端,表示为P

其中,

进一步地,步骤(1.2)包括:

独立模型权值为

进一步地,步骤(2.1)包括:

对于本地客户端来说,联邦学习本地模型的训练目标如下:

其中,

进一步地,步骤(2.3)包括:

服务器接收到客户端的模型更新,采用FedAvg聚合算法形成新的全局模型;FedAvg计算客户端的局部模型更新的平均值作为全局模型更新,其中每个客户端根据其训练示例的数量进行加权;使用D=∪

其中,L

在聚合完成得到新的全局模型

进一步地,步骤(3.1)包括:

个性化修正训练的损失由两部分组成,第一部分是由损失函数

进一步地,步骤(3.1)中:

服务器根据是否收到客户端的个性化申请,决定对应客户端是否进行个性化修正训练,当服务器接收到客户端的个性化申请后,判断该客户端需要进行个性化修正训练,之后客户端开启个性化修正训练;倘若未收到客户端的个性化申请则跳转到步骤(2.1)进行下一轮联邦学习训练。

进一步地,步骤(3.2)包括:

更新的本地模型的目标是:

其中,μ控制模型对比损失权重的个性化超参数,由客户端设定;w

本发明的有益效果如下:

(1)本发明修正训练与正常的联邦训练独立,个性化过程不会对全局模型造成影响,即不会影响全局模型的收敛过程;

(2)本发明通过模型层面的对比学习计算表征,能够高效映射出特征;

(3)本发明通过一致性损失能够控制模型的个性化程度,能够进行细粒度定制。

附图说明

图1为本发明方法的基于对比学习的联邦学习个性化方法的示意图。

图2为本发明方法的基于对比学习的联邦学习个性化方法的具体流程图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细描述。

本发明通过权衡在整个数据集上训练的全局模型,与在本地子集上训练的本地模型,来实现个性化。基于这个观点,本发明一种基于对比学习的联邦学习个性化方法,通过当前本地模型学习到的表征与全局模型学习到的表征的一致性损失,来修正本地更新,进而实现联邦学习的个性化。具体来说,该方法将同时计算全局模型的表征、本地数据训练得到模型的表征,以及当前模型训练的本地模型的表征,然后通过个性化参数,规范这三个表征之间的距离,即在模型层面实现对比学习,以此来修正全局模型适应不同客户端上的任务。

如图1所示,本发明具体包括以下步骤:

(1)本地训练出独立模型。

联邦学习中的每个客户端拥有不同的训练数据,这些数据是存储在本地,无法进行传输的。在开始联邦学习训练之前,本发明要求每个客户端使用本地数据训练出一个独立模型,作为后续个性化的表征之一。由于客户端之间数据的异质性,可能会存在客户端缺少数据,无法训练出一个良好的独立模型的情况。但这并不影响后续的个性化定制,因为个性化定制的目标是为了让全局模型适应某个具体的任务,独立模型起到的是导向作用。

因此,步骤(1)包括如下子步骤:

(1.1)本地客户端根据其持有的数据,训练出独立模型,独立模型权重表示为w

假设联邦学习中共有N个客户端,表示为P

其中,

(1.2)搭建对比学习网络,使用对比学习网络从独立模型中提取出表征。

与典型的对比学习框架SimCLR类似,该对比学习网络有三个组成部分:基础编码器、神经网络投影头和输出层。基编码器用于从输入中提取表示向量,神经网络投影头用来将表示向量映射到具有固定维数的空间。最后,输出层将用于产生每个类的预测值。与上述类似,假设独立模型权值为

(2)客户端参与联邦学习训练。

通过本地单独训练出独立模型并获得表征后,将开始正式的联邦训练流程。为了保证全局模型能够进行收敛,本发明将全局模型的训练与个性化模型修正训练分离开,彼此维护两个任务。即在客户端进行个性化训练之前需要向服务器发送报告,服务器在接收到个性化申请后,对该客户端进行标记,确保该客户端不参与全局模型聚合。同样,客户端在结束该轮的联邦学习训练后,才会进行修正训练,以此来保证客户端的个性化不会对全局模型操作影响。因此在步骤(2)中,只涉及正常的联邦学习训练流程。

因此,步骤(2)包括如下子步骤:

(2.1)客户端开始正常的联邦学习训练,根据服务器发布的全局模型以及本地数据得到本地更新。

服务器初始化全局模型,并将全局模型广播至各个客户端。客户端接收到全局模型,利用本地数据并使用随机梯度下降执行一次或者多次迭代来更新本地模型。

对于本地客户端来说,联邦学习本地模型的训练目标如下:

其中,

(2.2)训练完成后,每个客户端发送其本地模型,将本地更新上传给服务器,确保服务器能够接收到不具备个性化的本地更新。

(2.3)服务器聚合得到新的全局模型并进行全局广播,客户端接收到新的全局模型后从中提取出全局表征。

服务器接收到客户端的模型更新,采用FedAvg聚合算法形成新的全局模型。FedAvg计算客户端的局部模型更新的平均值作为全局模型更新,其中每个客户端根据其训练示例的数量进行加权。使用D=∪

其中,L

在聚合完成得到新的全局模型

(3)客户端进行个性化修正训练。

客户端在获得最新的全局模型后,将进行本地模型的个性化修正训练。个性化修正训练的目标是修正本地模型表征与全局模型表征以及独立模型表征之间的距离。例如客户端想让本地模型适应本地任务,则其修正训练的目标为减小本地模型学习到的表征与全局模型学习到的表征之间的距离,增加本地模型学习到的表征与独立模型学习到的表征之间的距离。

因此,如图2所示,步骤(3)包括如下子步骤:

(3.1)客户端接收到最新的全局模型,并向服务器发送个性化训练的申请。服务器根据是否收到客户端的个性化申请,决定对应客户端是否进行个性化修正训练,当服务器接收到客户端的个性化申请后,判断该客户端需要进行个性化修正训练,之后客户端开启个性化修正训练。倘若未收到客户端的个性化申请则跳转到步骤(2.1)进行下一轮联邦学习训练。其中,在个性化修正训练阶段分别得到三个表征:独立模型表征、全局模型表征以及正在被更新的本地模型表征。

修正训练的损失由两部分组成,第一部分是由常规的损失函数

(3.2)通过三个表征计算得到模型一致性损失,与传统的训练损失一起更新本地模型,其目标是最小化下式:

其中,μ控制模型对比损失权重的个性化超参数,控制本地模型的个性化程度,由客户端设定。w

(3.3)重复步骤(3.1)~(3.2),通过多次迭代修正训练,直至修正训练的总体损失更新值小于0.0001或达到预设次数时结束训练,最终得到具有个性化的联邦学习本地模型。

需要注意的是,本发明中的修正训练与联邦学习训练是相分离的,全局模型的更新也是和传统联邦学习方法一样的,因此不会对正常的联邦学习训练产生干扰。对于本地模型来说,是否进行修正训练其实都不影响全局模型的更新,只影响本地模型的个性化程度。

本发明一种实施例,在CIFAR-10十分类数据集的实验中相较于联邦平均学习算法,通过本发明修正的模型测试精度平均提高了3.1%(±0.4%),其中μ设定为5。

联邦学习的目标是学习所有参与训练的数据特征,但由于数据异质性的存在,客户端上一些较为隐蔽的数据特征往往会被忽略,导致全局模型在各个客户端上的表现具有差异性。为了解决这一问题,本发明一种基于对比学习的联邦学习个性化方法,通过对比学习技术,在正常的本地训练后,加入了修正训练这一步骤。通过计算独立模型、全局模型以及正在被更新的本地模型的表征,以此对本地模型进行修正,保证其能够适应客户端不同的任务,达到联邦学习个性化定制的要求。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号