一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于隐私保护的个性化联邦学习方法和装置

2022-11-13 14:45:37 来源:中国专利 TAG:


1.本发明属于联邦学习技术领域,尤其涉及一种基于隐私保护的个性化联邦学习方法和装置。


背景技术:

2.现如今,深度学习在学术界和工业界都受到很大的关注。由于深度学习相比传统算法性能得到大幅度提升,深度学习广泛应用于各个领域,例如机器翻译、图像识别、无人驾驶,自然语言处理等。深度学习正在改变我们人们生活方式。其成功依赖于功能强大的计算机和大量数据的可用性。然而,需要将所有数据输入运行在中央服务器上的学习模型的学习系统带来了严重的隐私问题,且随着物联网和边缘计算的兴起,大数据往往不会拘泥于单一的整体,而是分布在许多方面,如何安全且有效地实现模型在多个地点间的更新和共享,是各类计算方法所面临的新挑战。出于对数据隐私安全的考虑,数据拥有方无法将数据直接进行共享来实现共同训练深度学习模型。人们开始寻求一种方法,为了解决数据孤岛问题和用户隐私,联邦学习作为一种极具潜力的解决方案应运而生。现在联邦学习(fl)已经成为一种流行的分布式机器学习范式,联邦学习因其能够在分散的数据环境下协作训练共享的全局模型而被提出并引起了极大的关注。
3.大量分布式的客户端通过多次迭代将其本地模型(或模型权重)的梯度上传到服务器,而无需在客户端之间共享原始数据,从而共同参与学习过程。在fl任务开始时,服务器初始化全局模型。在每个学习迭代中,服务器将当前全局模型矩阵参数分发给选定的客户端。每个选定的客户机通过遵循预定义的学习协议,继续使用其本地数据独立地训练接收到的模型。在每次学习迭代结束时,服务器使用梯度聚合规则(如fedavg)从客户端收集和聚合更新。这种保护用户隐私的机制,近年来,在实践中部署fl有着广泛的应用,如贷款状态预测、健康状况评估和下一个词预测。虽然fl在生成更好的联邦模型方面已被证明是有效的,但它可能不是每个客户机的最佳解决方案,因为客户端的数据分布可能是non-iid的。为了更好的适应其独特的数据分布,需要考虑个性化的操作。现有的研究已经注意到了数据异构性问题,并提出了一些个性化方法来解决这个问题。包括使用微调联邦模型来实现个性化、多任务学习和知识提取等方案。虽然这些方法可以在一定程度上促进个性化,但它们有一个显著的缺点,即个性化过程仅限于单个设备,这可能会带来一些偏差或过度拟合问题,因为设备中的数据极其有限。同时由于隐私法的相关规定,个性化联邦学习框架在设计的时候要充分考虑其客户端的隐私保护。所以在面对non-iid数据分布时,如何更好的保障联邦学习的主性能和安全性,已成为人们关注的重点。


技术实现要素:

4.本发明的目的在于针对现有技术的不足,提供了一种基于隐私保护的个性化联邦学习方法和装置。
5.本发明的目的是通过以下技术方案来实现的:一种基于隐私保护的个性化联邦学
习方法,包括以下步骤:
6.(1)初始化联邦学习训练环境;
7.(2)服务器在云端为每个客户端设置相对应的个性化模型,每个个性化模型将自身的全局模型矩阵参数下发给相对应的客户端,开始联邦学习训练;
8.(3)参与训练的客户端,进行第t轮的训练,得到训练好的本地模型矩阵参数并上传给相对应的个性化模型;根据本轮训练好的本地模型矩阵参数的变化量,计算每个客户端的阈值α
i,t
,并更新每个客户端的矩阵[(wcf-matrix)
i,t
];根据每个客户端的矩阵[(wcf-matrix)
i,t
],计算每个客户端的频率稀疏度ε
i,t
,得到频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
};
[0009]
(4)根据频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
}进行k-means聚类操作,将频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
}中的频率稀疏度分为k簇;并将同一簇内的频率稀疏度ε
i,t
所表示的客户端分为同一簇;
[0010]
(5)对同一个簇的客户端上传的本地模型参数求平均,并将平均值作为新的全局模型矩阵参数下发给同一个簇的客户端;
[0011]
(6)重复步骤(3)-步骤(5),直至全局模型收敛,完成个性化联邦学习模型的训练。
[0012]
进一步地,所述步骤(1)具体为:设定整体训练轮次e、本地数据d、参与联邦学习的整体客户端数k。
[0013]
进一步地,所述步骤(2)具体包括以下子步骤:
[0014]
(2.1)服务器在云端为每个客户端pi设置好相对应的个性化模型ni,并初始化每个个性化模型ni得到初始化的全局模型矩阵参数i=1,2,

i,...k;所述初始化的全局模型矩阵参数的矩阵尺寸为w
×
h;
[0015]
(2.2)每个个性化模型ni将初始化的全局模型矩阵参数下发给相对应的客户端pi,开始联邦学习训练。
[0016]
进一步地,所述步骤(3)具体包括以下子步骤:
[0017]
(3.1)参与训练的客户端pi不进行数据共享,在本地对下发的全局模型权重进行本地模型训练:
[0018]
对于第t轮训练,得到训练好的本地模型矩阵参数并上传给相对应的个性化模型ni;
[0019]
(3.2)计算第t轮本地模型训练后每个客户端pi的阈值α
i,t
,计算公式如下:
[0020][0021]
其中,α
i,t
表示第t轮本地模型训练后每个客户端pi的阈值;表示本地模型
矩阵参数中第u行、第v列的子参数;表示初始化的全局模型矩阵参数中第u行、第v列的子参数;
[0022]
(3.3)若则更新矩阵](wcf-matrix)
i,t
]中第u行、第v列的子参数:
[0023]
若则更新矩阵[(wcf-matrix)
i,t
]中第u行、第v列的子参数:
[0024]
其中,[(wcf-matrix)
i,t
]
u,v
表示矩阵[(wcf-matrix)
i,t
]中第u行、第v列的子参数;
[0025]
重复上述步骤,更新整个矩阵[(wcf-matrix)
i,t
];
[0026]
(3.4)由每个客户端的矩阵[(wcf-matrix)
i,t
],计算每个客户端的频率稀疏度ε
i,t
,并得到频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
},频率稀疏度ε
i,t
的计算公式如下:
[0027][0028]
进一步地,所述步骤(4)具体包括以下子步骤:
[0029]
(4.1)根据频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
}进行k-means聚类操作,设置簇的数量为k,所述k-means聚类操作具体如下:
[0030]
从频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
}中随机选择k个频率稀疏度作为初始质心;计算每个频率稀疏度ε
i,t
到各个质心的距离,将频率稀疏度ε
i,t
划分到距离最近的质心所对应的簇中;计算每个簇内所有频率稀疏度ε
i,t
的均值,并使用该均值更新簇的质心重复步骤达到最大迭代次数,最终形成k个簇:s1、s2…
sk;
[0031]
(4.2)将在同一簇内的频率稀疏度ε
i,t
所表示的客户端分为同一簇。
[0032]
本发明还提供一种基于隐私保护的个性化联邦学习装置,包括一个或多个处理器,用于实现上述一种基于隐私保护的个性化联邦学习方法。
[0033]
本发明还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,用于实现上述一种基于隐私保护的个性化联邦学习方法。
[0034]
本发明的有益效果是:与传统的联邦学习相比,该方法计算每一轮训练好的本地模型矩阵参数的变化量,每个客户端的频率稀疏度,由于频率稀疏度属于统计量,不涉及到客户端的本地数据,所以在这个过程中始终保护用户隐私,通过频率稀疏度的相似性对客户端进行聚类,形成k个簇,对这k个簇的客户端分布进行聚合操作,以达到协作训练,以此
达到个性化联邦学习的效果。
附图说明
[0035]
图1为本发明本地和云端装置示意图;
[0036]
图2为本发明本地和云端装置示意图;
[0037]
图3为本发明提供的一种基于隐私保护的个性化联邦学习装置的装置示意图。
具体实施方式
[0038]
为了使本发明的目的、技术方案及优点更加明白清楚,结合附图和实施例,对本发明进一步的详细说明,应当理解,此处所描述的具体实施例仅仅用以解释本发明,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均在本发明保护范围。
[0039]
本发明使用一种隐私保护的手段尝试将类似分布的客户端协作训练。与传统的联邦学习相比,该方法通过服务器收集客户端上传的本地训练模型权重的变化频率,来计算频率的稀疏性,由于频率的稀疏度属于统计量,不涉及到客户端的本地数据,所以在这个过程中始终保护用户隐私,通过稀疏度的相似性对客户端进行聚类,形成四个簇,对这四个簇的客户端分布进行聚合操作,以达到协作训练,以此达到个性化联邦学习的效果。
[0040]
实施例1
[0041]
如图1和图2所示,本发明提供了一种基于隐私保护的个性化联邦学习方法,包括以下步骤:
[0042]
(1)获取本地数据d:
[0043]
本实施例中,使用mnist数据集和imagenet数据集作为本地数据;所述mnist数据集共包含60000张灰度图像,每张图像大小均为28*28,分为10类;从中取50000张作为本地数据。所述imagenet数据集共1000类,每类包含1000张样本,每张图片均为rgb彩色图像,每张样本大小224*224;从每类中随机抽取30%的图片作为本地数据。
[0044]
(2)初始化联邦学习训练环境:设定整体训练轮次e、本地数据d、参与联邦学习的整体设备数k。
[0045]
(3)服务器在云端为每个客户端设置相对应的个性化模型,每个个性化模型将自身的全局模型矩阵参数下发给相对应的客户端,开始联邦学习训练。
[0046]
所述步骤(3)包括以下子步骤:
[0047]
(3.1)服务器在云端为每个客户端pi设置好相对应的个性化模型ni,并初始化每个个性化模型ni得到初始化的全局模型矩阵参数i=1,2,

i,...k;所述初始化的全局模型矩阵参数为:其矩阵尺寸为w
×
h,
其中,为初始化的全局模型矩阵参数中第u行、第v列的子参数;u=1,2,

u,...h,v=1,2,

v,...w;;
[0048]
(3.2)每个个性化模型ni将初始化的全局模型矩阵参数下发给相对应的客户端pi,开始联邦学习训练。
[0049]
(4)参与训练的客户端,进行第t轮的训练,得到训练好的本地模型矩阵参数并上传给相对应的个性化模型;根据本轮训练好的本地模型矩阵参数的变化量,计算每个客户端的阈值α
i,t
,并更新每个客户端的矩阵[(wcf-matrix)
i,t
];根据每个客户端的矩阵[(wcf-matrix)
i,t
],计算每个客户端的频率稀疏度ε
i,t
,得到频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
}。
[0050]
所述步骤(4)包括以下子步骤:
[0051]
(4.1)参与训练的客户端pi不进行数据共享,进行第t轮的训练,在本地对下发的全局模型权重进行本地模型训练,得到训练好的本地模型矩阵参数并上传给相对应的个性化模型ni;所述训练好的本地模型矩阵参数为:其中,为本地模型参数中第u行、第v列的子参数;
[0052]
(4.2)根据本轮训练好的本地模型矩阵参数的变化量,计算第t轮本地模型训练后每个客户端pi的阈值α
i,t
,阈值α
i,t
的计算公式如下:
[0053][0054]
其中,α
i,t
表示第t轮本地模型训练后每个客户端pi的阈值;
[0055]
(4.3)若则更新矩阵[(wcf-matrix)
i,t
]中第u行、第v列的子参数:
[0056]
若则更新矩阵[(wcf-matrix)
i,t
]中第u行、第v列的子参数:
[0057]
其中,[(wcf-matrix)
i,t
]
u,v
表示矩阵[(wcf-matrix)
i,t
]中第u行、第v列的子参数;
[0058]
重复上述步骤,更新整个矩阵[(wcf-matrix)
i,t
],所述矩阵[(wcf-matrix)
i,t
]为
[0059]
(4.4)根据每个客户端的矩阵[(wcf-matrix)
i,t
],计算每个客户端的频率稀疏度ε
i,t
,并得到频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
},频率稀疏度ε
i,t
的计算公式如下:
[0060][0061]
(5)根据频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
}进行k-means聚类操作,将频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
}中的频率稀疏度分为k簇;并将同一簇内的频率稀疏度ε
i,t
所表示的客户端分为同一簇。
[0062]
所述步骤(5)包括以下子步骤:
[0063]
(5.1)根据频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
}进行k-means聚类操作,设置簇的数量为k,所述k-means聚类操作具体如下:
[0064]
从频率稀疏度集合{ε
1,t

2,t
,


i,t
,


k,t
}中随机选择k个频率稀疏度作为初始质心;计算每个频率稀疏度ε
i,t
到各个质心的距离,将频率稀疏度ε
i,t
划分到距离最近的质心所对应的簇中;计算每个簇内所有频率稀疏度ε
i,t
的均值,并使用该均值更新簇的质心重复步骤达到最大迭代次数,最终形成k个簇:s1、s2…
sk;
[0065]
(5.2)将在同一簇内的频率稀疏度ε
i,t
所表示的客户端分为同一簇。
[0066]
(6)对同一个簇的客户端上传的本地模型参数求平均,并将平均值作为新的全局模型矩阵参数下发给同一个簇的客户端;
[0067]
(7)重复步骤(4)-步骤(6),直至全局模型收敛,完成个性化联邦学习模型的训练。
[0068]
将本发明方法应用于图像分类任务进行测试,分别在mnist和imagenet上进行了卷积神经网络(convolutional neural ne tworks,cn)的训练,mnist数据集包含70000张灰度的手写体数字图像;imagenet数据集包含1000类rgb彩色图像,实验中的cnn分别为lenet和vgg16模型,并使用交叉熵损失函数。客户端本地更新使用小批量随机梯度下降
(mini-batch sgd)的训练方法,在数据分布上,客户端中的数据是非独立同分布的。在该仿真实验中,对于mnist数据集,设置其batch大小为50,学习率为0.01,e=100,k=50,n=50,k=4。对于imagenet数据集,设置其batch大小为64,学习率为0.001,e=100,k=50,n=50,k=4。
[0069]
实验测试了上述训练得到的个性化联邦学习模型的模型精度和面对隐私泄漏的梯度反转攻击的成功率,检验我们方法的可用性。在两个数据集上进行了实验,以说明隐私保护的有效性以及模型效用。
[0070]
表1展现了不同簇的全局模型效用结果,为每个客户端聚类到不同的簇并分别进行全局模型聚合,以此达到个性化,并且面对梯度反转攻击成功率为0%,隐私保护效果存在。
[0071]
表1:个性化联邦学习模型的模型精度
[0072][0073]
与前述基于隐私保护的个性化联邦学习方法的实施例相对应,本发明还提供了基于隐私保护的个性化联邦学习装置的实施例。
[0074]
参见图3,本发明实施例提供的一种基于隐私保护的个性化联邦学习装置,包括一个或多个处理器,用于实现上述实施例中的基于隐私保护的个性化联邦学习方法。
[0075]
本发明基于隐私保护的个性化联邦学习装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明基于隐私保护的个性化联邦学习装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0076]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0077]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0078]
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理
器执行时,实现上述实施例中的基于隐私保护的个性化联邦学习方法。
[0079]
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备,例如所述设备上配备的插接式硬盘、智能存储卡(smart media card,smc)、sd卡、闪存卡(flash card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
[0080]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献