一种基于联邦学习的受控共享学习方法及系统与流程

文档序号:23902812发布日期:2021-02-09 14:07阅读:135来源:国知局
一种基于联邦学习的受控共享学习方法及系统与流程

[0001]
本发明涉及计算机软件领域,尤其涉及一种基于联邦学习的受控共享学习方法及系统。


背景技术:

[0002]
数据作为人工智能技术的基石,随着人工智能技术的快速发展,数据安全隐私问题受到人们的广泛关注。由于数据隐私、通信安全等问题,导致深度学习模型无法充分利用这些数据。故人们为解决这类问题,提出了诸如联邦学习、共享学习等分布式机器学习方法。这些方法能够在不直接暴露本地数据的前提下,使得模型有效学习到各个客户端的本地数据。
[0003]
联邦学习是指通过在多个相互独立的客户端上进行机器学习,并在服务端联合客户端模型梯度的一种方法。联邦学习是通过聚合各个客户端的模型,以此进行机器学习建模的方法。客户端无需向其他客户端暴露本地数据,只上传客户端训练好的模型相关参数即可。因而联邦学习可以在有效利用数据的前提下,保证客户端的数据不被泄露。
[0004]
联邦学习的一轮完整流程是:客户端根据本地的数据来训练模型,客户端发送模型梯度至服务端,服务端对梯度参数进行加权平均后发送回客户端,客户端根据收到的梯度参数进行梯度下降,以此更新模型。联邦学习中的客户端之间是相互独立、阻断通信的,因此数据不会被直接泄露给外部,是一种能够很好地保护客户端数据隐私与安全的学习方法。
[0005]
一般的联邦学习要求客户端模型架构一致,这对于客户端的数据与算力提出了一定的要求。并且当模型体积较大时,会提高客户端与服务端间的通信成本。更甚,现在已有技术可根据模型梯度还原客户端的本地数据,例如专利申请cn111008709a公开了一种联邦学习、资料风险评估方法、装置和系统,因此联邦学习还存在一定的安全性问题。
[0006]
例如中国专利申请cn111260061a公开了一种联邦学习梯度交换中的差异化加噪方法,其通过每一数据方将对应的梯度进行分层处理,计算每一层梯度对应的二范数,并将二范数对每一层梯度进行加噪的数据发送至服务中心,以得到聚和后的梯度,但该方法会增加额外的计算成本,降低训练速度;中国专利申请cn110704860a公开了一种提升安全性的纵向联邦学习方法、设备、系统及存储介质,其通过各数据方的加随机数加密梯度值,将计算得到加随机数梯度值返回至各数据方,以训练模型,但该方法需要更多的硬件设施。上述两个专利申请均需传输完整的模型参数或者梯度,网络通信参数量很大,均会不同地增加计算成本,提高通信成本,并使训练速度降低。
[0007]
综上所述,现有的联邦学习技术中具有以下技术缺陷:
[0008]
1)由于本地客户端模型的体积庞大、客户端数量众多,这导致通信开销大大增加,提高了训练成本,影响整体学习速度;
[0009]
2)在模型传输过程中,不论是传输模型的梯度还是模型的参数,都有泄露客户端数据的风险,不能很好地保障数据安全;
[0010]
3)联邦学习要求各个模型一致,各个模型不能被定制,导致模型性能下降、无法按需训练模型。


技术实现要素:

[0011]
为解决上述问题,本发明的目的在于提供一种基于联邦学习的受控共享学习方法及系统,旨在降低联邦学习中的通信成本、保障本地数据不会在通信过程中被模型泄露、客户端可控地定制模型,从而解决当前联邦学习应用场景受限的技术问题。
[0012]
为实现上述目的,本发明的技术方案如下:
[0013]
一种基于联邦学习的受控共享学习方法,适用于一服务端与若干客户端组成的网络系统,其步骤包括:
[0014]
1)接收各客户端模型v
i,t
的参数,并根据参数从各客户端中选取一或多个共享客户端,向共享的客户端发送共享指令,其中i为客户端序号,t为完成联邦学习次数,t≥0,模型v
i,0
通过各客户端的算力构建并依据相应私有数据集训练得到,且各模型v
i,0
的分类模块架构一致;
[0015]
2)获取共享客户端模型v
i,t
的分类模块参数s
t
,并将计算得到的分类模块参数s
t+1
发送至各客户端,以使各客户端依据私有数据集与分类模块参数s
t+1
得到模型v
i,t+1

[0016]
进一步地,训练模型v
i,0
之前,对私有数据集进行预处理;所述预处理包括:数据清洗和数据加强。
[0017]
进一步地,除分类模块之外,模型v
i,0
的其它模块架构可灵活设计。
[0018]
进一步地,所述服务端设置一时间阈值;若发送指令后,超过该时间阈值,则不再接收客户端模型v
i,t
的分类模块参数s
t

[0019]
进一步地,所述参数包括:梯度值之和。
[0020]
进一步地,通过以下步骤选取若干共享客户端:
[0021]
1)将模型v
i,t
梯度值之和由小到大进行排序;
[0022]
2)选取排序前n个的梯度值之和,作为共享依据值,1≤n≤客户端总数;
[0023]
3)将共享依据值相应的客户端,作为共享客户端。
[0024]
进一步地,得到分类模块参数s
t+1
的方法包括:将各分类模块参数s
t
进行加权平均。
[0025]
一种基于联邦学习的受控共享学习系统,包括:
[0026]
一服务端,用以接收各客户端模型v
i,t
的参数,并根据参数从各客户端中选取一或多个共享客户端,向共享客户端发送共享指令,其中i为客户端序号,t为完成联邦学习次数;获取共享客户端模型v
i,t
的分类模块参数s
t
,并将计算得到的分类模块参数s
t+1
发送至各客户端;
[0027]
若干客户端,其中每一客户端包括:
[0028]
管理平台,用以根据算力构建模型v
i,0
的架构;
[0029]
计算平台,用以依据私有数据集训练得到模型v
i,0
;用以依据私有数据集与分类模块参数s
t+1
得到模型v
i,t+1

[0030]
通信平台,用以将模型v
i,t
的参数发送至服务端;若被选为共享客户端,将模型v
i,t
的分类模块参数s
t
发送至服务端;
[0031]
进一步地,所述客户端还包括数据平台,用以对私有数据集进行数据清洗和数据增强。
[0032]
进一步地,所述管理平台还用以调度计算平台、通信平台和数据平台及对客户端进行管理并对信息进行可视化展示。
[0033]
进一步地,所述参数包括:梯度值之和。
[0034]
与现有技术相比,本发明的改进了已有技术的不足:
[0035]
1.在通信成本上,无需提供所有模型参数,仅需提供模型部分参数完成共享学习;
[0036]
2.在通信安全上,由于传输过程中模型参数不完整,故数据安全得到了很好的保障;
[0037]
3.在模型控制上,客户端可以根据数据集的特点定制模型,使得模型自主可控;通信传输也是完全由客户端自主决定是否参与更新,使得客户端能够根据需求自主控制更新时间。
附图说明
[0038]
图1为本发明提供的受控共享学习方法过程图。
[0039]
图2为本发明提供的受控共享学习方法的步骤流程示意图。
[0040]
图3为本发明提供的受控共享学习方法的时序流程图。
[0041]
图4为本发明提供的受控共享学习装置结构示意图。
具体实施方式
[0042]
为帮助更好的理解与实施上述方案,下面结合附图对本发明进行详细说明。
[0043]
如图1所示,本申请实施例提供的基于联邦学习的受控共享学习方法,根据客户端的数据与算力定制模型架构,并且无需传输完整的客户端模型,这样不仅降低了服务端与客户端的通信成本,还能确保数据不被还原,保障本地的数据隐私与安全。这种联邦学习方法称为受控共享学习。
[0044]
比如有若干家医院,拥有相似的数据样本,均满足机器学习的基本条件,但其中甲医院的数据样本数量远大于其他医院拥有的数据样本数量。此时,甲医院的模型架构相较于其他家医院需要更加复杂,这样才能使得甲医院的数据被充分利用。
[0045]
如图2所示,本发明提供的受控共享学习方法,所述受控共享学习方法应用于受控共享学习系统,所述受控共享学习系统包括多个客户端,所述受控共享学习方法包括以下步骤:
[0046]
1)各客户端采集所需的训练数据集,并对数据集进行预处理;
[0047]
2)各客户端根据数据集大小与算力强弱等设计模型架构,并保证各个模型分类模块一致;
[0048]
3)客户端根据数据集进行训练,客户端将模型训练好的梯度值求和发送至服务端。
[0049]
4)服务端收到所有客户端发送的梯度值后,选取其中最小的若干个梯度值对应的客户端,向其发送共享指令。
[0050]
5)收到共享指令的客户端,发送本地模型的分类模块参数至服务端,即各客户端
模型架构相同部分。
[0051]
6)服务端收到上述客户端的模型参数后,对所有的模型参数进行加权平均,得到聚合后的模型参数。
[0052]
7)服务端将更新后的模型参数发送至所有客户端。
[0053]
8)客户端收到模型参数后,替换对应的分类模块的模型参数。
[0054]
9)步骤3-8以此往复,不断迭代更新模型。
[0055]
其中,根据客户端本地数据样本设计好对应的模型架构。需要说明的是,这里客户端模型架构需要保证模型的分类模块相同。客户端根据本地的数据训练模型,并且对模型的梯度求和,发送该梯度值至服务端。这里发送梯度值有两个作用:(a)客户端请求参与该轮的共享学习;(b)服务端可根据模型梯度值来判断模型的收敛程度。客户端发送梯度值后,保存训练的模型参数,便于模型的回滚以及模型的更新;并且进入等待状态,准备接受服务端的共享指令或更新后的模型参数。
[0056]
服务端在收到第一个客户端发送的梯度值后,通过设定一个时间阈值,确保及时收到其余客户端发送的梯度值,避免个别客户端由于网络等原因影响训练速度。之后服务端对所有梯度值进行排序操作,再向其中梯度值最小的若干个客户端发送共享指令。
[0057]
收到共享指令的客户端,截取模型中分类模块的模型参数,发送至服务端,随后便又进入等待状态,直至服务端发回更新后的模型参数。
[0058]
服务端在确保收到对应的客户端模型参数后,对模型参数进行加权平均操作。服务端最后聚合后的模型参数发回各个客户端,客户端将更新后的模型参数替换原有模型的分类模块。以此进行下一轮学习。
[0059]
在时间上,这样一轮学习中,客户端与服务端交互过程,如图3所示。客户端由于只需要发送模型的分类模型,故模型整体的架构可自由调整,并且无需传输完整的模型参数,大大减小了通信成本。而还原数据的前提是需要完整的模型参数或梯度,但这里只有部分模型参数,故无法被还原客户端数据,因此保障了客户端数据的隐私与安全。
[0060]
本发明可根据实际情况对模型进行长期的定期学习更新,也可在一定条件下截止受控共享学习。其中,截止条件包括:
[0061]
1)所有客户端模型精度波动不大,即模型达到较好的收敛;
[0062]
2)服务端根据系统的学习情况,即各客户端模型收敛情况,主动结束学习。
[0063]
如图4所示,本申请提供一种受控共享学习系统,该系统适用于客户端模型异构的受控共享学习,其中客户端数据样本特征相似但数量有一定的差异。该客户端包括四个平台:管理平台、数据平台、计算平台、通信平台。其中,管理平台包括对模型架构的设计,客户端信息的可视化展示,如网络、硬件状态等,客户端模型的调度等;数据平台只处于客户端,含数据清洗、数据增强等数据操作;计算平台包括模型的训练、截取、更新、保存、读取等;通信平台保证客户端与服务端能够正常进行网络通信。
[0064]
管理平台对其余平台进行调度与监控。首先,管理平台对数据平台下发指令,对原始数据进行预处理;之后,数据平台输出的数据直接进入计算平台,由管理平台下达指令开始受控共享学习;计算平台完成模型的训练后,相应参数交由通信平台与服务端进行通信;通信平台获取更新后的模型交由计算平台进行模型的更新;计算平台对模型进行更新后,重复上述过程。
[0065]
下述为本发明的一实际应用:
[0066]
在医疗影像领域,为保证各大医院的患者数据隐私,这些数据不允许公开及共享。为安全有效地利用这些影像数据,利用本平台可以在不泄露各医院数据的前提下,联合参与医院的模型进行训练学习。
[0067]
实验数据(医疗影像):对于语义分割任务而言,主要有brats 2018数据集,它包含285例脑肿瘤患者的术前mri扫描,扫描方式有t1加权,t1加权增强,t2加权和t2液体衰减反转恢复四种扫描方式。该数据集常用于评估具有多模态和多分类分割任务。
[0068]
对于图像分类任务而言,nih chest x-ray数据集包含10万张胸部x射线检查的去标识化图像。每张图片均由多位专家审核打上标签。
[0069]
表1列出了对于几种任务的通信参数量对比。这里以五个客户端、一百轮迭代为例,其中m表示109。
[0070][0071]
表1
[0072]
由表1可知,本发明可以显著减少通信过程中的参数量,10倍至20倍不等,在大模型、多客户端等场景下会愈加明显。
[0073]
以上所述实施例仅表达了本发明的实施方式,其描述较为具体,但并不能因此理解为对本发明专利范围的限制。应当指出,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应当以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1