可左右滑动选省市

一种基于联邦学习的隐私保护方法、存储介质及系统

更新时间:2024-05-11
一种基于联邦学习的隐私保护方法、存储介质及系统 专利申请类型:发明专利;
地区:广东-深圳;
源自:深圳高价值专利检索信息库;

专利名称:一种基于联邦学习的隐私保护方法、存储介质及系统

专利类型:发明专利

专利申请号:CN202011109363.0

专利申请(专利权)人:鹏城实验室,清华大学深圳国际研究生院
权利人地址:广东省深圳市南山区兴科一街2号

专利发明(设计)人:夏树涛,杨雪,冯岩,李文杰,方伟军,唐小虎

专利摘要:本发明公开了一种基于联邦学习的隐私保护方法、存储介质及系统,方法包括步骤:采用参数加密算法对全局模型进行加密处理,得到密文模型;利用本地数据在所述密文模型上进行训练,并对得到的密文梯度信息和噪声项进行解密,得到参数梯度,采用所述参数梯度对全局模型进行更新,循环上述步骤直至模型收敛或达到指定迭代次数,获得模型参数;对模型参数进行加密,得到加密模型参数,采用加密模型参数对全局模型进行更新,得到全局加密模型;在加密全局模型上进行本地训练,实现隐私保护。本发明可以有效防止半可信的联邦学习参与者获取全局模型的真实参数和中间模型的输出结果,同时保证参与者都能够利用最终训练好的加密模型获取到真实的预测结果。

主权利要求:
1.一种基于联邦学习的隐私保护方法,其特征在于,包括步骤:采用参数加密算法对全局模型进行加密处理,得到密文模型;
利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项;
对所述密文梯度信息和噪声项进行解密,得到参数梯度,采用所述参数梯度对所述全局模型进行更新,循环上述步骤直至模型收敛或达到指定迭代次数,获得模型参数;
对所述模型参数进行加密,得到加密模型参数,采用所述加密模型参数对所述全局模型进行更新,得到全局加密模型;
在所述加密全局模型上进行本地训练,实现隐私保护;
所述采用参数加密算法对全局模型进行加密处理,得到密文模型的步骤包括:当所述全局模型为L层的多层感知机模型时,采用随机数矩阵 和对所述多层感知机模型中的明文模型参数 进行加密,得到密文模型参数: 其中,表示哈达玛积乘积运算;
(l)
所述随机数矩阵R 由乘性噪声向量 按以下规则构成:其中,下标i和j满足i∈[1,nl],j∈[1,nl‑1];
a
所述随机数矩阵R 由随机数γ和加性噪声向量 按下式组成: 其中下标i和j满足i∈[1,nL],j∈[1,nL‑1];
将所述密文模型参数替换所述多层感知机模型中的明文模型参数,得到密文模型。
2.根据权利要求1所述的基于联邦学习的隐私保护方法,其特征在于,所述采用参数加密算法对全局模型进行加密处理,得到密文模型的步骤包括:当所述全局模型为L层的卷积神经网络模型时,使用随机张量 和随(L)
机矩阵R , 对所述卷积神经网络模型的明文模型参数加密,得到对应的密文模型参数:
(l)
当1≤l≤L‑1时,参数W 为卷积核张量,(l)
所述随机张量T 由乘性噪声向量 组成,且满足:(1,in) (m)
其中r =(r )m∈P(1),由m∈P(1)(m)
个向量r 拼接而成,P(l)表示所有连接到第l个卷积层的网络层的下标集合;所述随机矩(L) (L‑1) a阵R 由乘性噪声向量r 构成,且满足: 所述随机数矩阵R 由加性噪声向量ra和随机数γ组成,且满足:将所述密文模型参数替换所述卷积神经网络模型中的明文模型参数,得到密文模型。
3.根据权利要求1所述的基于联邦学习的隐私保护方法,其特征在于,利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项的步骤包括:计算所述密文模型的输出: 所述密文模型的输出与其对应的明文模型的输出满足以下关系式: 其中 r=γra;对于任意维的样本 密文模型的预测值 与真实值的均方误差作为损失函数表示为: 其中,nL表示模型输出层的维度,同时也是样本标签的维度;
所述损失函数 对密文参数 的带噪梯度与其对应的真实梯度满足以下关系式:其中, 且
第k个参与者在其所有小批量数据 样本上计算密文梯度信息并结合加性噪声向量ra计算出噪声项 和
4.根据权利要求2所述的基于联邦学习的隐私保护方法,其特征在于,利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项的步骤包括:所述密文模型的卷积层输出与其对应的真实卷积层输出满足:并且,密文模型的全连接层输出与其对应的真实输出结果满足: 其中 是伪输出统计量,函数Flatten(·)表示将多维张量延展成一维向量,延展后的向量维度为nL‑1=cL‑1hL‑1wL‑1,参数r=γra为组合噪声向量;
对于任意维的样本 密文模型的预测值 与真实值的均方误差作为损失函数表示为: 其中,nL表示模型输出层的维度,同时也是样本标签的维度;
所述损失函数 对密文参数 的带噪梯度与其对应的真实梯度满足以下关系式:其中, 且 第
k个参与者在其所有小批量数据 样本上计算密文梯度信息 并结合加性噪声向量ra计算出噪声项 和
5.根据权利要求3‑4任一所述的基于联邦学习的隐私保护方法,其特征在于,对所述密文梯度信息和噪声项进行解密,得到参数梯度,采用所述参数梯度对所述全局模型进行更新,直至模型收敛或达到指定迭代次数,获得模型参数的步骤包括:对于第t轮的全局模型Wt;在第k个参与者的本地训练过程中得到的参数梯度按下式求解: 其中,Fk(·)表示第k个参与者的损失函数;
采用所述参数梯度对所述全局模型进行更新,直至模型收敛或达到指定迭代次数,得到第t+1轮的模型参数W(t+1)为 其中η表示学习速率,Nk/N表示第k个参与者的数据量占总数据量的比例。
6.根据权利要求5所述的基于联邦学习的隐私保护方法,其特征在于,对所述模型参数进行加密,得到加密模型参数,采用所述加密模型参数对所述全局模型进行更新,得到全局加密模型的步骤包括:根据公式 对所述模型参数进行加密,得到加密模型参数;
采用所述加密模型参数 对所述全局模型进行更新,得到全局加密模型。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1‑6任意一项所述基于联邦学习的隐私保护方法中的步骤。
8.一种基于联邦学习的隐私保护系统,其特征在于,包括:服务器端和客户端,所述服务器端用于采用参数加密算法对全局模型进行加密处理,得到密文模型;
所述客户端用于利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项;
所述服务器端还用于对所述密文梯度信息和噪声项进行解密,得到参数梯度,采用所述参数梯度对所述全局模型进行更新,循环上述步骤直至模型收敛或达到指定迭代次数,获得模型参数;对所述模型参数进行加密,得到加密模型参数,采用所述加密模型参数对所述全局模型进行更新,得到全局加密模型;
所述客户端还用于在所述加密全局模型上进行本地训练,实现隐私保护;
所述服务器端还用于:
当所述全局模型为L层的多层感知机模型时,采用随机数矩阵 和对所述多层感知机模型中的明文模型参数 进行加密,得到密文模型参数: 其中,表示哈达玛积乘积运算;
(l)
所述随机数矩阵R 由乘性噪声向量 按以下规则构成:其中,下标i和j满足i∈[1,nl],j∈[1,nl‑1];
a
所述随机数矩阵R 由随机数γ和加性噪声向量 按下式组成: 其中下标i和j满足i∈[1,nL],j∈[1,nL‑1];
将所述密文模型参数替换所述多层感知机模型中的明文模型参数,得到密文模型。 说明书 : 一种基于联邦学习的隐私保护方法、存储介质及系统技术领域[0001] 本发明涉及数据保护领域,特别涉及一种基于联邦学习的隐私保护方法、存储介质及系统。背景技术[0002] 随着大数据挖掘和深度学习的广泛应用与发展,越来越多的隐私泄露和数据滥用事件频繁爆发,使得重视数据隐私和安全已经成为了世界性的趋势。特别是在分布式机器学习中,分布式参与者由于隐私担忧问题而不愿意提供自己的本地训练数据,从而形成了“数据孤岛”现象。为了应对数据隐私保护难题,打破数据孤岛的现实困难,满足数据联合使用的迫切需求,联邦学习的概念和工业级应用解决方案被提出来。联邦学习本质上是一种分布式机器学习框架,在此框架下,各个参与者之间不互通原始数据,在本地训练模型并上传更新的模型参数或者梯度,从而能够在保护隐私的前提下有效帮助多个参与者联合进行机器学习建模。[0003] 虽然联邦学习不要求参与者上传本地训练数据,从而能够一定程度上地保护隐私。然而,目前的研究表明攻击者仍然可能利用每个参与者上传的真实梯度或者更新的模型参数信息来获取原始的训练数据、进行成员推断以及属性推断等攻击。目前,基于联邦学习的隐私保护研究,几乎考虑的都是防止中央服务器从模型更新中获取参与者的隐私信息,却并未考虑恶意参与者的情况。也就是说,恶意参与者或者被攻击者截获的参与者仍然可以得到真实的全局模型更新,因此,它们仍然有可能通过真实的参数,再加上自己所拥有的本地训练数据来猜测其它训练数据,或者推测其他与者的训练数据集。正如Kairouz等人指出,在联邦学习中,防止迭代过程中的真实的模型更新以及最终的模型参数被恶意参与者获取也是需要解决的问题。本质上来说,解决这个问题就是让参与者在加密或者扰乱的全局模型更新上进行本地训练。尽管目前有三种主流的隐私保护技术,即差分隐私、同态加密和安全多方计算,被广泛的应用于隐私保护的机器学习中。然而,这些技术都要么以牺牲模型准确性为代价,要么以牺牲模型训练的效率为代价,使得隐私保护的模型训练仍然是一大难点。[0004] 因此,现有技术还有待于改进和发展。发明内容[0005] 本发明要解决的技术问题在于,针对现有技术的不足,提供一种基于联邦学习的隐私保护方法、存储介质及系统,旨在解决现有隐私数据得不到有效保护的问题。[0006] 为了解决上述技术问题,本发明所采用的技术方案如下:[0007] 一种基于联邦学习的隐私保护方法,其中,包括步骤:[0008] 采用参数加密算法对全局模型进行加密处理,得到密文模型;[0009] 利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项;[0010] 对所述密文梯度信息和噪声项进行解密,得到参数梯度,采用所述参数梯度对所述全局模型进行更新,循环上述步骤直至模型收敛或达到指定迭代次数,获得模型参数;[0011] 对所述模型参数进行加密,得到加密模型参数,采用所述加密模型参数对所述全局模型进行更新,得到全局加密模型;[0012] 在所述加密全局模型上进行本地训练,实现隐私保护。[0013] 所述的基于联邦学习的隐私保护方法,其中,所述采用参数加密算法对全局模型进行加密处理,得到密文模型的步骤包括:[0014] 当所述全局模型为L层的多层感知机模型时,采用随机数矩阵 和对所述多层感知机模型中的明文模型参数 进行加密,得到密文模(1)型参数: 其中,°表示哈达玛积乘积运算;所述随机数矩阵R 由乘性噪声向量 按以下规则构成: 其中,下标i和j满足i∈[1,nl],j∈[1,nl‑1];a[0015] 所述随机数矩阵R 由随机数 γ 和加性噪声向量 按下式组成:其中下标i和j满足i∈[1,nL],j∈[1,nL‑1];将所述密文模型参数替换所述多层感知机模型中的明文模型参数,得到密文模型。[0016] 所述的基于联邦学习的隐私保护方法,其中,所述采用参数加密算法对全局模型进行加密处理,得到密文模型的步骤包括:[0017] 当所述全局模型为L层的卷积神经网络模型时,使用随机张量(L)和随机矩阵R , 对所述卷积神经网络模型的明文模型参数加密,得到对应的密文模型参数:[0018] 当1≤l≤L‑1时,参数W(l)为卷积核张(l)量,所述随机张量T 由乘性噪声向量 组成,且满足:(l,in) (m)其中r =(r )m∈P(l),由m∈P(m)(l)个向量r 拼接而成,P(l)表示所有连接到第l个卷积层的网络层的下标集合;所述随机(L) (L‑1) a矩阵R 由乘性噪声向量r 构成,且满足: 所述随机数矩阵R由加性噪声向量ra和随机数γ组成,且满足: 将所述密文模型参数替换所述卷积神经网络模型中的明文模型参数,得到密文模型。[0019] 所述的基于联邦学习的隐私保护方法,其中,利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项的步骤包括:[0020] 计算所述密文模型的输出: 所述密文模型的输出与其对应的明文模型的输出满足以下关系式: 其中r=γra;对于任意维的样本 密文模型的预测值 与真实值的均方误差作为损失函数表示为: 其中,nL表示模型输出层的维度,同时也是样本标签的维度;所述损失函数 对密文参数 的带噪梯度与其对应的真实梯度满足以下关系式: 其中,且 第k个参与者在其所有小批量数据 样本上计算密文梯度信息并结合加性噪声向量ra计算出噪声项 和[0021] 所述的基于联邦学习的隐私保护方法,其中,利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项的步骤包括:[0022] 所述密文模型的卷积层输出与其对应的真实卷积层输出满足: 并且,密文模型的全连接层输出与其对应的真实输出结果满足: 其中是伪输出统计量,函数Flatten(·)表示将多维张量延展成一维向量,延展后的向量维度为nL‑1=cL‑1hL‑1wL‑1,参数r=γra为组合噪声向量;对于任意维的样本 密文模型的预测值 与真实值的均方误差作为损失函数表示为:其中,nL表示模型输出层的维度,同时也是样本标签的维度;所述损失函数 对密文参数 的带噪梯度与其对应的真实梯度满足以下关系式:其中, 且 第k个参与者在其所有小批量数据 样本上计算密文梯度信息并结合加性噪声向量ra计算出噪声项 和[0023] 所述的基于联邦学习的隐私保护方法,其中,对所述密文梯度信息和噪声项进行解密,得到参数梯度采用所述参数梯度对所述全局模型进行更新,直至模型收敛或达到指定迭代次数,获得模型参数的步骤包括:[0024] 对于第t轮的全局模型Wt;在第k个参与者的本地训练过程中得到的参数梯度按下式求解: 其中,Fk(·)表示第k个参与者的损失函数;采用所述参数梯度对所述全局模型进行更新,直至模型收敛或达到指定迭代次数,得到第t+1轮的模型参数Wt+1为 其中η表示学习速率,Nk/N表示第k个参与者的数据量占总数据量的比例。[0025] 所述的基于联邦学习的隐私保护方法,其中,对所述模型参数进行加密,得到加密模型参数,采用所述加密模型参数对所述全局模型进行更新,得到全局加密模型的步骤包括:[0026] 根据公式 1≤l≤L对所述模型参数进行加密,得到加密模型参数;采用所述加密模型参数 对所述全局模型进行更新,得到全局加密模型。[0027] 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明所述基于联邦学习的隐私保护方法中的步骤。[0028] 一种基于联邦学习的隐私保护系统,其中,包括:服务器端和客户端,所述服务器端用于采用参数加密算法对全局模型进行加密处理,得到密文模型;[0029] 所述客户端用于利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项;所述服务器端还用于对所述密文梯度信息和噪声项进行解密,得到参数梯度,采用所述参数梯度对所述全局模型进行更新,循环上述步骤直至模型收敛或达到指定迭代次数,获得模型参数;对所述模型参数进行加密,得到加密模型参数,采用所述加密模型参数对所述全局模型进行更新,得到全局加密模型;所述客户端还用于在所述加密全局模型上进行本地训练,实现隐私保护。[0030] 有益效果:与现有技术相比,本发明提供的基于联邦学习的隐私保护方法,通过隐私保护算法来加密联邦学习的全局模型得到全局加密模型,并允许参与者所述全局加密模型上进行本地训练。本发明提供的隐私保护方法可以有效防止半可信的联邦学习参与者获取全局模型的真实参数和中间模型的输出结果,同时也保证所有参与者都能够利用最终训练好的加密模型获取到真实的预测结果。附图说明[0031] 图1为本发明一种基于联邦学习的隐私保护方法较佳实施例的流程图。[0032] 图2为本发明一种基于联邦学习的隐私保护系统的原理图。具体实施方式[0033] 本发明提供一种基于联邦学习的隐私保护方法、存储介质及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。[0034] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。[0035] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。[0036] 下面结合附图,通过对实施例的描述,对发明内容作进一步说明。[0037] 联邦学习(FederatedLearning)是一种新兴的人工智能基础技术,在2016年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。其中,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。以包含两个数据拥有方(即企业A和B)的场景为例介绍联邦学习的系统构架。该构架可扩展至包含多个数据拥有方的场景。假设企业A和B想联合训练一个机器学习模型,它们的业务系统分别拥有各自用户的相关数据。此外,企业B还拥有模型需要预测的标签数据。出于数据隐私保护和安全考虑,A和B无法直接进行数据交换,可使用联邦学习系统建立模型。联邦学习系统构架由三部分构成:[0038] 第一部分:加密样本对齐。由于两家企业的用户群体并非完全重合,系统利用基于加密的用户样本对齐技术,在A和B不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户,以便联合这些用户的特征进行建模。第二部分:加密模型训练。在确定共有用户群体后,就可以利用这些数据训练机器学习模型。为了保证训练过程中数据的保密性,需要借助第三方协作者C进行加密训练。以线性回归模型为例,训练过程可分为4步:第①步:协作者C把公钥分发给A和B,用以对训练过程中需要交换的数据进行加密。第②步:A和之间以加密形式交互用于计算梯度的中间结果。第③步:A和B分别基于加密的梯度值进行计算,同时B根据其标签数据计算损失,并把结果汇总给C,C通过汇总结果计算总梯度值并将其解密。第④步:C将解密后的梯度分别回传给A和B,A和B根据梯度更新各自模型的参数。迭代上述步骤直至损失函数收敛,这样就完成了整个训练过程。在样本对齐及模型训练过程中,A和B各自的数据均保留在本地,且训练中的数据交互也不会导致数据隐私泄露。因此,双方在联邦学习的帮助下得以实现合作训练模型。第三部分:效果激励。联邦学习的一大特点就是它解决了为什么不同机构要加入联邦共同建模的问题,即建立模型以后模型的效果会在实际应用中表现出来,并记录在永久数据记录机制(如区块链)上。这些模型的效果在联邦机制上会分发给各个机构反馈,并继续激励更多机构加入这一数据联邦。以上三部分的实施,既考虑了在多个机构间共同建模的隐私保护和效果,又考虑了以一个共识机制奖励贡献数据多的机构。[0039] 虽然联邦学习不要求参与者上传本地训练数据,从而能够一定程度上地提高隐私保护的水平。然而,目前的研究表明攻击者仍然可能利用每个参与者上传的真实梯度或者更新的模型参数信息来获取原始的训练数据、进行成员推断以及属性推断等攻击。目前,基于联邦学习的隐私保护研究,几乎考虑的都是防止中央服务器从模型更新中获取参与者的隐私信息,却并未考虑恶意参与者的情况。也就是说,恶意参与者或者被攻击者截获的参与者仍然可以得到真实的全局模型更新,因此,它们仍然有可能通过真实的参数,再加上自己所拥有的本地训练数据来猜测其它训练数据,或者推测其他参与者的训练数据集。因此,在联邦学习中,防止迭代过程中的真实的模型更新以及最终的模型参数被恶意参与者获取也是亟待解决的问题。[0040] 为解决现有技术存在的问题,本发明提供了一种基于联邦学习的隐私保护方法,如图1所示,其包括步骤:[0041] S10、采用参数加密算法对全局模型进行加密处理,得到密文模型;[0042] S20、利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项;[0043] S30、对所述密文梯度信息和噪声项进行解密,得到参数梯度,采用所25述参数梯度对所述全局模型进行更新;[0044] S40、循环进行执行步骤S10‑S30,直至模型收敛或达到指定迭代次数,获得模型参数;[0045] S50、对所述模型参数进行加密,得到加密模型参数,采用所述加密模型参数对所述全局模型进行更新,得到全局加密模型;[0046] S60、在所述加密全局模型上进行本地训练,实现隐私保护。[0047] 具体来讲,差分隐私技术虽然能够保证模型的效率,但是引入的随机噪声无法消除,使得模型的准确性会受到很大程度的影响,并且模型的准确性与隐私保护水平之间还存在折中关系,即隐私保护水平越高,需要添加的随机数噪声就越大,这就会使得模型的准确性越差。为了解决这个问题,本实施例基于差分隐私的思想,提出了一种高效的隐私保护方法,在训练过程的每一轮迭代中,服务器端在分发全局模型参数之前,会选择满足一定条件的加性和乘性随机数作为私钥,并按照一定的设计要求将全局模型乘以或者加上私钥作为给每个参与者分发的加密的全局模型;然后,参与者在加密的全局模型上利用自己的本地数据进行模型训练。本实施例提出的隐私保护方法能够让服务器端精确地消除随机数的影响,恢复出真实的全局模型,从而能够保证模型的准确性。[0048] 本实施例通过提出高效的隐私保护方法来加密全局模型,使得联邦学习的所有参与者只能在全局加密模型上进行训练而无法获得真实的模型参数,从而保证了全局模型的隐私性。也就是说,本实施例提供的基于联邦学习的隐私保护方法可以有效防止半可信的联邦学习参与者获取全局模型的真实参数和中间模型的输出结果,同时也保证所有参与者都能够利用最终训练好的加密模型获取到真实的预测结果。[0049] 在一些具体的实施方式中,本发明提供的隐私保护方法可适用于在医院(医疗图像数据)、银行(信用卡交易记录)等数据隐私较为敏感的场景,联合各机构在不泄露数据隐私的前提下共同训练出全局模型,以达到预期的目的。以银行信用卡欺诈检测场景为例,各银行希望在不泄露数据隐私的同时训练全局模型,以获得针对单条信用卡交易信息,检测出其是否为欺诈交易的能力。各银行机构收到密文模型后,可利用本地信用卡交易记录数据以及人工标注的标签(交易是否为欺诈)在所述密文模型上进行训练,得到密文梯度信息和噪声项并发送给服务器端;服务器端对所述密文梯度信息和噪声项进行解密,得到参数梯度,采用所述参数梯度对所述全局模型进行更新;循环进行执行上述步骤,直至模型收敛或达到指定迭代次数,获得模型参数;对所述模型参数进行加密,得到加密模型参数,采用所述加密模型参数对所述全局模型进行更新,得到全局加密模型;服务器端将所述全局加密模型再分发至客户端(各银行机构),所述客户端可在所述加密全局模型上进行本地训练,实现隐私保护。[0050] 在一些实施方式中,本实施例提供的隐私保护方法适用于多层感知机(MLP)和卷积神经网络(CNN)两类深度学习模型,支持ReLU激活函数和MSE损失函数;同时,所述隐私保护方法还能够有效的应用于具有跳跃连接的变种卷积神经网络模型,例如目前广泛流行的ResNet和DenseNet网络。[0051] 对应于横向联邦学习的训练过程,本发明包括“全局模型加密”、“本地模型训练”、“全局模型更新”和“最终模型分发”四个阶段。其中前三个阶段按序循环执行至模型收敛或达到指定循环次数,之后转到第四阶段收尾。[0052] 在一些实施方式中,所述“全局模型加密”阶段由联邦学习框架的服务器端完成,所述服务器端使用所述参数加密算法对全局模型(称为“明文模型”)进行加密或扰乱,然后将加密后的模型(称为“密文模型”)以及辅助随机信息一同发送给客户端。所述全局模型可选用多层感知机模型或卷积神经网络模型,以下分别基于两类模型具体介绍所述参数加密算法。[0053] 在一种具体实施方式中,当所述全局模型为L层的多层感知机模型时,所述多层感知机模型由任意数量的全连接层组成,且以ReLU为激活函数。考虑一个L成的多层感知机模型,其第l层的神经元个数为nl,参数矩阵为 则其输出可表示为:(0) T特别地,当l=0时,y 表示模型的输入x=(x1,x2,…,xd) ,n0=d表示输入数据的维度。[0054] 针对所述L层的多层感知机模型,服务器端使用随机数矩阵 和对明文模型参数 进行加密,密文模型参数 的计算过程如下: 其中,表示哈达玛积乘积运算。[0055] 具体地,所述随机数矩阵尺(l)由乘性噪声向量 按以下规则构成:a其中,下标i和j满足i∈[1,nl],j∈[1,nl‑1]。所述随机数矩阵R由随机数γ和加性噪声向量 按下式组成: 其中下标i和j满足i∈[1,nL],j∈[1,nL‑1];将所述密文模型参数替换所述多层感知机模型中的明文模型参数,得到密文模型。[0056] 在本实施例中,服务器端首先按照上述要求完成模型加密,然后将密文模型参数和加性噪声向量ra一同发送给联邦学习的参与者。[0057] 在另一种具体实施方式中,当所述全局模型为L层的卷积神经网络模型时,所述卷积神经网络模型由任意数量的卷积层和最大池化层交替连接组成,然后以一个用于回归或分类任务的全连接层结束。所述卷积模型使用ReLU作为激活函数,并且允许各层之间具有“拼接型跳跃连接”结构。所述卷积层以三维数据为输入,以多个三维卷积核为参数,输出卷积后的特征图。对于任意通道数为cl,高度为hl,宽为wl的三维输入数据 其三维卷积操作定义为: 其中,是cl+1个大小为cl×f×f的卷积核组成的张量, 是输出的特征图。[0058] 对于任意L层所述卷积网络模型,服务器端使用随机张量 和(L)随机矩阵R , 对所述卷积神经网络模型的明文模型参数加密,得到对应的密文模型参数: 当1≤l≤L‑1时,(l) (l)参数W 为卷积核张量,所述随机张量T 由乘性噪声向量 组成,且满足:(l,in) (m)其中r =(r )m∈P(l),由m∈P(l)个向(m) (L)量r 拼接而成,P(l)表示所有连接到第l个卷积层的网络层的下标集合;所述随机矩阵R(L‑1) a由乘性噪声向量r 构成,且满足: 所述随机数矩阵R由加性噪声向量ra和随机数γ组成,且满足: 将所述密文模型参数替换所述卷积神经网络模型中的明文模型参数,得到密文模型。[0059] 在本实施例中,服务器端首先按照上述要求完成模型加密,然后将密文模型参数和加性噪声向量ra一同发送给联邦学习的参与者(客户端)。[0060] 在一些实施方式中,“本地模型训练”阶段为第二阶段,由客户端完成。每个参与者接收到密文模型和加性噪声向量之后,利用自己的本地数据在密文模型上进行训练,主要包括两个阶段:前向传播和反向传播。最后,将本地计算得到的密文梯度信息和额外的噪声项发送给服务器端。[0061] 前向传播阶段:[0062] 当所述全局模型为L层的多层感知机模型时,联邦学习的参与者接收到密文模型之后,计算含噪的输出[0063][0064] 密文模型的输出与其对应的明文模型的输出满足以下关系式:[0065] 其中, 对于一个联邦(l)学习参与者,随机噪声向量r 和随机数γ不可知。[0066] 当所述全局模型为L层的卷积神经网络模型时,与多层感知机类似,密文模型的卷积层输出与其对应的真实卷积层输出满足: 并且密文模型的全连接层输出与其对应的真实输出结果满足: 其中, 是伪输出统计量,函数Flatten(·)表示将多维张量延展成一维向量,延展后的向量维度为nL‑1=cL‑1hL‑1wL‑1。参数r=γra为组合噪声向量。与多层感知机模型的加密机制同理,随机(l)噪声向量r 和随机数γ对联邦学习的参与者不可知,针对所述卷积模型的加密机制可以严格保证全局模型的安全性。[0067] 反向传播阶段:[0068] 该反向传播过程同时适用于多层感知机模型和卷积神经网络模型,使用均方误差(MSE)作为损失函数。对于任意维的样本 密文模型的预测值 与真实值的均方误差可表示为: 其中nL表示模型输出层的维度,同时也是样本标签的维度。参数a和r分别是“阶段1”中介绍的伪输出统计量和组合噪声向量。对于本发明介绍的参数加密算法,损失函数 对密文参数 的带噪梯度与其对应的真实梯度满足以下关系式:其中, 且 值(1) (1)得注意的是,参数α 和β 是由参与者在本地独立计算完成。[0069] 具体地,第k个参与者在其所有小批量数据 样本上计算密文梯度信息并结合服务器端提供的加性噪声向量ra计算出噪声项和 最后将三类信息 同并发送给服务器端。[0070] 在一些实施方式中,所述“全局模型更新”阶段由联邦学习的服务器端完成。服务器端接收到所有参与者发送的密文梯度信息和噪声项之后,利用选择的私钥解密出真实的参数梯度,最后利用聚合后的参数梯度更新全局模型。具体地,对于第t轮的全局模型Wt,它在第k个参与者的本地训练过程中得到的真实梯度可按下式求解:其中Fk(·)表示第k个参与者的损失函数。解密出真实梯度后,服务器端更新得到第t+1轮的全局模型Wt+1:其中η表示学习速率,Nk/N表示第k个参与者的数据量占总数据量的比例。[0071] 在一些实施方式中,所述“最终模型分发”阶段由联邦学习的服务器端完成。服务器端和客户端交替式执行阶段1到阶段3至模型收敛或达到指定迭代次数后,服务器将获得最终的模型参数 为了保护模型参数同时还要保证参与者能够获得正确的推断结果,服务器端在分发模型前仍然要对全局模型加密,与训练阶段不同的是,服务器端不a选择加性噪声R而只选择乘性噪声,以保证密文模型的输出与真实输出相同,即:不失一般性,服务器端将按下式加密模型参数: 不论是多层(l) (l)感知机模型还是卷积神经网络模型,上式中的参数W 和噪声R 的形式与“阶段1”中介绍的完全相同。最终,服务器端将加密的全局模型分发给所有参与者,所述参与者在所述加密全局模型上进行本地训练,实现隐私保护。[0072] 在一些实施方式中,还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明所述基于联邦学习的隐私保护方法中的步骤。[0073] 在一些实施方式中,还提供一种基于联邦学习方法的隐私保护系统,如图2所示,其包括服务器端10和客户端20,所述服务器端10用于采用参数加密算法对全局模型进行加密处理,得到密文模型;所述客户端20用于利用本地数据在所述密文模型上进行训练,得到密文梯度信息和噪声项;[0074] 所述服务器端10还用于对所述密文梯度信息和噪声项进行解密,得到参数梯度,采用所述参数梯度对所述全局模型进行更新,循环上述步骤直至模型收敛或达到指定迭代次数,获得模型参数;对所述模型参数进行加密,得到加密模型参数,采用所述加密模型参数对所述全局模型进行更新,得到全局加密模型;所述客户端20还用于在所述加密全局模型上进行本地训练,实现隐私保护。[0075] 综上所述,本发明解决了在密文域中实现ReLU之类的非线性激活函数的问题,从而支持客户端在不知道真实更新或参数的情况下在加密域上训练多层感知机模型、卷积神经网络模型或进行本地预测。因此,可以有效防止半可信的联邦学习参与者获取全局模型的真实参数和中间模型的输出结果,同时也保证所有参与者都能够利用最终分发的加密模型获取到真实的预测结果。本发明在提供隐私保护的同时,服务器端可以消除随机数以获得真实的全局模型参数,同时参与者可以使用加密的模型获得真实的预测,因此,它确保了模型和预测的准确性。本发明的额外成本主要是在反向传播中产生的,除了梯度之外,参与者还会计算两个额外的噪声项并将其发送到服务器端。与明文模型训练相比,额外的计算和通信成本的上限分别约为2T和2C(T是明文模型训练中反向传播的成本,C是模型参数的大小),这确保了该方法在实践中的效率和可用性。[0076] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

专利地区:广东

专利申请日期:2020-10-16

专利公开日期:2024-07-26

专利公告号:CN112199702B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部