基于本地化差分隐私的联邦学习方法研究
2023-01-09康海燕冀源蕊
康海燕,冀源蕊
(北京信息科技大学信息管理学院,北京 100192)
0 引言
近年来,人工智能技术给人们的生活带来了极大的便利,尤其是机器学习中深度学习这一分支已经广泛应用于图像处理、自然语言处理、语音识别和网络空间安全等领域。为了获得应用效果更好的模型,可以通过增加训练数据量来实现,然而随着训练数据量的增加,隐私泄露的风险也相应提高。研究表明,针对深度学习模型发起的隐私攻击将导致训练数据的隐私泄露,隐私问题限制了深度学习的进一步发展。
联邦学习[1]是解决深度学习隐私问题的突破性技术。联邦学习的逻辑结构与分布式学习相似,即拥有不同训练数据的多个参与方共同执行一个深度学习任务,两者的区别在于联邦学习没有数据收集阶段,而分布式学习需要对数据进行收集,然后将数据分发给多个服务器,再由中央服务器协调进行迭代,从而训练出最终模型。联邦学习通过在各个客户端本地进行学习得到子模型,再交由中心服务器聚合得到最终模型。联邦学习相关的技术和开放性问题在近些年引起了人们的广泛关注[2],联邦学习与区块链等新兴技术的融合也是目前的研究热点[3-4]。相比于传统的集中式机器学习方法,联邦学习通过在本地进行训练有效降低了数据隐私泄露的风险,然而这并不代表它能完全防御外部隐私攻击。刘艺璇等[5]根据联邦学习的架构将其面临的隐私攻击分为内部攻击和外部攻击,与外部攻击者相比,内部攻击者具备更强大的能力,其不仅可以在训练过程中对梯度或模型参数发起攻击,还能通过替换样本、更改梯度等方式影响模型训练过程。Song 等[6]指出通过对抗攻击,可以从联邦学习参与方所传递的参数中重构出原始的训练数据,从而导致隐私泄露。
针对联邦学习所面临的隐私风险,目前学术界有2 种解决思路,分别是加密方法和扰动方法。加密方法通过结合密码学工具为联邦训练过程中数据的传输提供隐私保证,常用密码学工具有同态加密和秘密分享。Liu 等[7]设计了一种基于同态加密技术的参数加密方案,抵御联邦学习过程中的投毒攻击。Phong 等[8]利用加法同态加密技术为客户-服务器架构的联邦训练提供保护,然而该算法仅关注本地参数的隐私性,全局梯度对所有终端直接可见。Ou等[9]设计了一种由第三方掌握私钥、终端利用公钥实现加法同态加密的方案,应用到纵向联邦学习的线性回归模型中实现隐私保护。由于同态加密技术的计算代价昂贵,因此在实践中不适用于大规模数据参与的模型迭代训练。为了在降低计算代价的同时保证中间参数不被泄露,Zhu 等[10]利用秘密分享技术确保至少t个用户上传参数后,中心服务器才能进行解密,实现对中间参数的保护。应用秘密分享技术的联邦学习方案虽然不需要大量计算,但增加了通信次数,因此也增加了联邦学习的通信成本。
扰动方法通过差分隐私等技术在模型训练过程中添加噪声扰动,使发布的模型在保持可用性的同时得到保护。差分隐私作为一种轻量级的隐私保护技术[11],在联邦学习隐私保护领域得到了广泛关注。根据联邦学习中保护对象的不同,可以将扰动方法分为中心化扰动和本地化扰动。中心化扰动主要保护联邦学习中心服务器在获取和下发中间参数时的隐私性。Geyer 等[12]首次提出差分隐私中用户级别联邦学习(CL-FL,client level federated learning)的差分隐私保护方法,通过在服务器端引入高斯噪声来隐藏单个参与方对联邦训练的贡献。为了提高隐私预算利用率,使用矩累计[13]方法获取更紧致的隐私损失边界,然而Geyer 等在计算隐私损失时直接对梯度进行裁剪的做法浪费了一部分隐私预算。Zhou 等[14]在CL-FL 的基础上进一步完善了用户级别的隐私保护方法,在提高通信效率的基础上保证了中心参数服务器的隐私性。Wei 等[15]提出了一种分阶段的差分隐私聚合前噪声联邦学习(NbAFL,noise before aggregation federated learning)方法,并证明通过适当调整噪声的方差可以满足不同隐私保护水平下的差分隐私。该方法全面考虑了中心参数传递过程中不同阶段的隐私问题,但需要经过多次迭代才能达到较高的模型准确率。上述中心化扰动方法中的噪声均由中心服务器添加,然而中心参数服务器也可能是半诚实甚至恶意的,因此需要研究本地化扰动方法,本地化扰动方法通常结合本地化差分隐私技术来实现。Truex等[16]在对联邦学习的参数进行本地化差分隐私扰动时引入α-CLDP 方法,根据输入样本对的距离分配隐私预算,以较大概率输出与原始值相近的扰动值。由于联邦学习中梯度或模型参数的维度很高,直接扰动会带来很大的通信量,为了提高通信效率,Liu 等[17]提出一种两阶段方法,根据指数机制选择权重最高的k个维度的梯度数据,再对所选择的维度数据进行扰动,解决联邦学习中梯度导致隐私泄露问题,并设计3 种隐私维度选择机制。Zhao等[18]将梯度数据扰动后的值离散到偶数区间内,通过两位数值即可表示输出值,节约了通信开销,然而这种做法对联邦模型的性能造成了损失。
表1 对现有研究方案进行了总结,通过表1 可知,现有研究主要存在如下不足:1) 基于同态加密的联邦学习隐私保护方法计算开销大,基于秘密分享的联邦学习隐私保护方法通信开销太大;2) 中心化扰动方法依赖可信的中心服务器;3) 本地化扰动方法在模型性能上损失较大,需要从隐私机制设计的角度进行改进。
表1 现有研究方案对比
针对以上不足,本文主要贡献如下。
1) 提出一种基于本地化差分隐私的联邦学习(LDP-FL,local differential privacy federated learning)方法,解决联邦学习训练过程中存在的隐私问题。
2) 设计一种本地化差分隐私机制,作用在联邦学习参数传递过程中,通过设计噪声机制,扰动联邦学习所传递的参数,从而增加联邦模型训练的隐私性。
3) 设计一种性能损失更小的估计机制,通过优化损失函数的约束范围来降低引入本地化差分隐私机制后联邦模型的性能损失。
4) 在MNIST 和Fashion MNIST 这2 个真实的数据集上,分别从全局准确率、性能损失和运行时间3 个方面进行对比实验,与其他算法相比,本文所提方法效果更优。
1 背景知识
1.1 联邦学习
联邦学习是谷歌提出的一种机器学习方法[1]。在一个典型的联邦学习方法中,通常假设有N个参与方和一个中心参数服务器,这些参与方通过协作共同训练出一个可用的深度学习模型。在每次训练迭代时,每个参与方共享的是其本地更新后的模型参数而不是本地的训练数据。记每一个参与方Ci拥有对应的数据集Di,则全局模型的目标损失函数记作L(D,w),联邦学习所面临的优化问题为
其中,Li表示第i个参与方的本地损失函数,一般通过本地经验风险最小化过程(如随机梯度下降等)来求解。联邦学习中的经验风险最小化的过程通常包含如下训练步骤。
1) 初始化:由中心参数服务器对需要训练的深度学习模型进行初始化,并广播给所有参与方。
2) 本地模型训练:接收到初始模型参数的参与方使用本地数据对模型进行训练后,将更新参数传递给中心参数服务器。
3) 全局模型聚合:接收到所有参与方传递参数后,中心参数服务器对获得的模型进行聚合后广播。
1.2 本地化差分隐私
本地化差分隐私技术的核心思想是对用户本地数据添加满足本地化差分隐私的扰动噪声,将扰动后数据传输给第三方数据收集者,再通过一系列操作得到有效的结果。由于传统的ε-本地化差分隐私过于严格,目前深度学习隐私保护中常用的是宽松差分隐私,定义如下。
定义1(ε,δ)-本地化差分隐私。给定N个用户,每个用户对应一条记录,对于隐私机制M,其定义域为Dom(M),值域为Ran(M),若隐私机制M 在任意两条记录t,t' (t,t'∈ Dom(M))上得到的输出结果(o(o⊆ Ran(A)))相同,且满足
则称隐私机制M 满足(ε,δ)-本地化差分隐私。
高斯机制是机器学习隐私保护中常用的一种噪声机制,通过给输出结果f(t)添加均值为0、方差为σ2Ι的高斯噪声实现(ε,δ)-本地化差分隐私,即M(t)=f(t)+M(0,σ2Ι)。差分隐私中敏感度的含义是单个数据对查询或分析结果的最大影响值,高斯机制具有L2敏感度,表示根据设定的隐私级别所需设置的扰动值上界,高斯机制中函数f(t)的L2敏感度为,为了保证给定的高斯噪声分布n~ N (0,σ2)满足(ε,δ)-本地化差分隐私,所选择的高斯分布标准差需要满足即在ε∈ (0,1)的情况下常数。本地化差分隐私具有如下2 个性质。
1) 后置处理免疫性。对于一个输出结果满足差(ε,δ)-本地化差分隐私的机制M,在这个机制的输出结果上进行任何操作都不会造成额外的隐私损失。
2) 序列组合性。对于k个满足(εi,δi)-本地化差分隐私的机制 M1,…,Mi,…,Mk,其序列组合满足-本地化差分隐私。
使用高斯机制向机器学习模型添加噪声时会导致模型产生性能损失,性能损失和本地化差分隐私的关系可以通过定义2进行说明。
定义2尾约束[11]。对于任意ε> 0,当时,机制M 满足(ε,δ)-差分隐私。
2 方法设计
2.1 问题的描述
联邦学习通过将用户数据保留在本地降低了用户训练数据隐私泄露的风险,然而联邦学习过程仍然存在一定的安全问题,对于共同参与模型训练的多个参与方以及中心参数服务器,若它们是诚实且好奇的,即这些参与方在联邦学习过程中会遵守模型的训练协议,但互相对对方的私有数据和模型参数是好奇的,在协作期间会不断推理,希望获取更多对方额外的信息,如训练数据和模型参数。为了抵御这样的推理攻击,需要对联邦模型训练过程提供额外的隐私保护机制,因此本文的目标是设计一种满足本地化差分隐私的联邦学习方法,实现在服务器或参与方诚实且好奇的情况下安全有效地训练联邦模型,即保护参与方的私有数据和模型参数不被攻击者恶意推理的同时保证模型训练的精度。
具体来说,在联邦模型训练过程中,假设完成全局联邦模型的训练需要经过T次迭代,在每一次迭代过程t中,选择k个参与方利用本地数据集对下发的初始模型进行训练,每个参与方将训练好的模型更新结果传输给中心参数服务器,为了防止参与方所训练的模型在传输过程中发生隐私泄露,需要设计一种本地化的隐私机制对传输过程中的模型参数进行隐私保护处理,本文所涉及的相关符号和参数如表2 所示。
表2 相关符号和参数
2.2 本地化差分隐私联邦学习方法的设计
为了解决诚实且好奇的中心参数服务器或参与方的存在导致联邦学习中用户本地数据隐私泄露问题,本文提出了一种LDP-FL 方法,框架如图1 所示。该方法由一个中心参数服务器和N个联邦学习参与方组成,每个联邦学习参与方拥有一个由中心参数服务器下发的初始模型和本地的训练数据集。
图1 LDP-FL 方法框架
LDP-FL 方法的核心思想是在“数据不动算法动,数据可用不可见”的基础上引入本地化差分隐私机制,为联邦训练过程提供额外的隐私保护。具体来说,首先由中心参数服务器生成初始模型,再广播给所选择的联邦学习参与方,参与方接收到初始模型后利用本地数据集对初始模型进行训练,在每个参与方的本地训练的过程中引入本地化差分隐私机制对模型参数进行扰动,通过传输扰动后的参数(非原始训练数据)达到隐私保护的目的,中心参数服务器接收到扰动参数后对所有参数进行聚合操作,将聚合后的模型参数再广播给所选择的参与方,不断迭代该过程直到模型收敛。LDP-FL方法由中心参数服务器处理算法 FL_Server(federated learning server)和参与方本地更新算法FL_Client(federated learning client)构成。
中心参数服务器处理算法FL_Server 的具体流程如算法1 所示。首先,由中心参数服务器对需要训练的模型参数和测试集准确率列表进行初始化。其次,根据设定的迭代次数,在每次迭代时以采样率q从N个参与方中随机选择k个参与方参与训练,对于所选择的k个参与方,将上一轮迭代所获得的全局模型参数w传递给算法2 参与方本地更新算法FL_Client,k个参与方以并行化的方式执行该算法,分别获得本次迭代本地模型的参数。最后,当所有参与方完成更新操作后,中心参数服务器对参与方所上传的扰动参数进行聚合处理,即求平均值,获得本次迭代的全局模型参数,使用测试集计算全局模型参数对应的模型准确率,将本轮模型准确率存入测试集准确率列表中,在设定的迭代次数结束后对整体的隐私损失进行估计。
算法1FL_Server
输入联邦学习参与方数量N,联邦学习采样率q,联邦学习交流轮次T
1) 定义列表test_acc_list,初始化w0
2) fort← 1 toTdo
3) 以采样率q从N个用户中选择k个参与方
4) 遍历从N中选择的k个参与方
7) 计算本次迭代模型准确率test_acc
8) 将test_acc 加入列表test_acc_list
9) end for
10) 通过2.3 节性能损失约束机制约束损失函数
11) 返回test_acc_list
算法2FL_Client
输入上一轮训练所得模型参数wt,本地模型迭代次数E,本地数据集大小m,随机梯度下降中每批次选择的训练集大小B,随机梯度下降过程学习率α,本地模型损失函数L(w),梯度裁剪阈值C,本地化差分隐私机制隐私参数εi,δi
1) fore=1 toEdo
2) 对于训练集B中的每个数据对b
3) 梯度大小g←∇L(w;b)
9) end for
首先,采用随机梯度下降法根据设定的本地迭代轮次E对所接收到的初始模型进行训练计算出梯度值,同时引入梯度裁剪技术,目的是限制训练样本对模型参数的影响,通过对梯度的L2 范数进行裁剪,设定裁剪的阈值为C,则参与方在每轮本地训练时计算得到的的梯度数据gi将被替代,梯度裁剪可以保证当时,梯度数据gi被保留;当时,梯度数据gi被阈值C取代。其次,计算参与方本地训练过程的敏感度,联邦学习中第i个参与方的本地训练过程为
其中,Di表示第i个参与方所使用的数据集,Di,j表示Di中的第j个样本。根据本地化差分隐私的定义,考虑2 个相邻的数据集Di和Di',Di'与Di只相差一条数据,则第i个客户端本地训练过程sDi的敏感度为
2.3 性能损失约束机制的设计
通过2.2 节中的描述可知,引入本地化差分隐私提升联邦训练过程中隐私安全性的同时会给联邦模型的性能造成一定的损失,因此本节设计一种性能损失更小的估计机制,通过这种估计机制降低联邦模型的性能损失。给单个模型添加高斯噪声后的隐私损失需要根据时刻损失函数进行计算,而在联邦学习环境中,需要从N个参与方中以采样率q选择出k个参与方进行联邦模型的训练,记联邦交流的迭代次数为T,给第i个参与方本地模型训练所得的参数添加高斯噪声后每个参与方经过T次迭代后隐私损失的计算式为
其中,pi表示第i个参与方的性能损失。参与联邦训练的k个参与方整体的性能损失P的计算式为
3 隐私安全性与性能分析
3.1 隐私安全性分析
本节对LDP-FL 方法的隐私安全性进行分析,对于采样率为q、迭代轮次为T的LDP-FL 方法,有定理1 成立。
定理1为了保证联邦训练中参与方传递模型的过程满足(εi,δi)-本地化差分隐私,所添加的高斯噪声的标准差应满足
证明利用三角不等式对Ev1,v0进行如下变换
将该结果代入时刻损失函数α(λ)中,可得
根据定义2 中的尾约束可知,当式(24)成立时,添加噪声标准差为σi的隐私机制可以满足(εi,δi)-差分隐私。
3.2 算法复杂度分析
本节分析算法的时间复杂度,LDP-FL 方法由FL_Server 和FL_Client 这2 个算法组成,FL_Client算法嵌套在FL_Server 中,记LDP-FL 方法的整体迭代次数为T,参与方数量为N,在每次迭代时,FL_Client 算法的时间复杂度为O(log(N)),则LDP-FL 方法的时间复杂度等于FL_Server 算法的时间复杂度,为O(Tlog(N))。
4 实验与分析
4.1 实验设置
4.1.1 实验环境
本节对本文所提LDP-FL 方法的有效性进行评估,并设计对比实验。所使用的实验平台操作系统为Windows 10(64 位),开发环境为 Pycharm,编程语言为Python 3.8,CPU 为11th Gen Intel(R)Core(TM) i5-11400H @ 2.70 GHz,内存为16 GB。实验使用Pytorch1.7.1 训练深度学习模型,采用卷积神经网络(CNN,conventional neural network)构建本文所提LDP-FL 方法,设置2 个卷积层分别有16 和32 个特征,并使用一个5×5、步长为2的卷积核,以及一个输入张量为7×7×32、输出张量为10 的全连接层,采用梯度下降进行模型训练时所选择的批次大小为64,参与方本地训练迭代次数为10 次。
4.1.2 实验数据集
实验采用2 种数据集,分别是MNIST 数据集和Fashion MNIST 服饰数据集。其中,MNIST数据集包含 10 种手写数字识别的灰度图像数据,有60 000 个训练图像和10 000 个测试图像,每个灰度图像包含28 像素×28 像素;Fashion MNIST服饰数据集是经典MNIST 数据集的简易替换,比常规 MNIST 手写数据将更具挑战性,包含60 000 个示例的训练集和10 000 个示例的测试集,每个示例都是一个28 像素×28 像素灰度图像,可以分为10 种类型。
4.1.3 评价指标
为了验证本文所提LDP-FL 方法的优越性,选择原始的联邦平均方法FedAvg[1]作为参照,并将LDP-FL 方法与CL-FL 方法[12]和NbAFL 方法[15]进行对比,主要的评价指标有以下3 种。
1) 全局准确率。经过多次迭代后,联邦模型的全局准确率是衡量算法有效性的关键指标。通过对比相同条件下不同算法的全局准确率,可以直观地判断算法的性能。
2) 性能损失。性能损失是衡量联邦模型性能的指标,通过性能估计机制进行计算。
3) 运行时间。算法的运行时间是衡量通信开销的重要指标。运行时间越长,则通信开销越大。
4.2 有效性衡量实验
本节探究LDP-FL 有效性。使用MNIST 数据集,联邦学习迭代轮次T=150,设置δ=0.001,每个参与方的隐私预算εi=ε,σi=10-5。首先,探究隐私预算对全局准确率的影响,在采样率q=1、参与方N=10的情况下,分别设置隐私预算ε=1.0,ε=2.0,ε=4.0,结果如图2(a)所示。其次,探究参与方数量的影响,在采样率q=1、隐私预算ε=1.0的情况下,分别设置参与方数量为N=10,N=50,N=100,结果如图2(b)所示。
图2 LDP-FL 方法有效性衡量实验
观察图2,可以得到如下结论。
1) 在参与方数量和采样率均相同的前提下,LDP-FL 方法中隐私预算越高,模型全局准确率越高,说明可以通过调整隐私预算实现联邦学习模型隐私性和可用性的平衡。
2) 在隐私预算和采样率均相同的前提下,LDP-FL 方法中参与方数量越多,模型全局准确率越高,说明增加联邦学习参与方数量可以提高准确率。
3) 在以上实验中,经过大约80 次迭代后,LDP-FL 方法的全局准确率趋于稳定,说明模型可用性较好。
4.3 对比实验与分析
4.3.1 全局准确率对比
首先,探究本文所提LDP-FL 方法与现有方法在MNIST 数据集和Fashion MNIST 数据集上全局准确率的对比情况。对于4 种联邦学习方法,设置参与方数量N=10,采样率q=1,对于使用差分隐私的LDP-FL、CL-FL 和NbAFL,设置每个参与方的隐私预算εi=ε,σi=10-5,总体隐私预算ε=4.0,图3 分别展示了4 种联邦学习方法在2 种数据集上的全局准确率随迭代轮次的变化情况。
图3 全局准确率随迭代轮次的变化情况
观察图3,可以得到如下结论。
1) 在参与方数量相同的情况下,引入差分隐私保护的LDP-FL 方法、CL-FL 方法和NbAFL 方法的全局准确率在2 种数据集上均低于FedAvg,说明与FedAvg 相比,引入噪声机制会对联邦学习模型的准确率造成影响。
2) 在参与方数量和隐私预算均相同的情况下,本文所提的LDP-FL 方法全局准确率在2 种数据集上均高于CL-FL 方法和NbAFL 方法,说明LDP-FL 方法的性能优于CL-FL 方法和NbAFL方法。
3) 由于Fashion MNIST 数据集中的图像数据比MNIST 数据集中数据更复杂,因此4 种方案在MNIST 数据集上的表现均优于在Fashion MNIST数据集上的表现。
4.3.2 性能损失对比
其次,探究本文所提LDP-FL 方法与CL-FL 方法和NbAFL 方法在MNIST 数据集和Fashion MNIST 数据集上性能损失的对比情况。设置参与方数量N=10,采样率q=1,每个参与方的隐私预算εi=ε,σi=10-5,总体隐私预算ε=4.0,表3 分别展示了3 种联邦学习方案在2 种数据集上性能损失对比实验结果。
通过表3 可以看出,LDP-FL 方法在2 种数据集上不同的迭代轮次下的性能损失值均小于CL-FL方法和NbAFL 方法,说明LDP-FL 方法的性能优于2 种对比算法。
表3 性能损失对比实验结果
4.3.3 算法运行时间对比
最后,探究本文所提LDP-FL 方法与现有方法在MNIST 数据集和Fashion MNIST 数据集上运行时间的对比情况。对于4 种联邦学习方法,分别设定参与方数量为N=[20,40,60,80],对于使用差分隐私的LDP-FL、CL-FL 和NbAFL,设置每个参与方的隐私预算εi=ε,σi=10-5,总体隐私预算ε=4.0。图4 分别展示了4 种联邦学习方法在2 种数据集上运行时间随参与方数量的变化情况。
图4 运行时间随参与方数量的变化情况
观察图4,可以得到如下结论。
1) 随着参与方数量的增加,4 种方法在2 个数据集上的运行时间均有所增加,说明增加参与方数量会导致算法运行时间增加。
2) 由于Fashion MNIST 数据集中的图像数据比MNIST 数据集中数据更复杂,因此4 种方法在 MNIST 数据集上的运行时间比 Fashion MNIST 数据集上的运行时间短。
3) 在参与方数量相同的情况下,FedAvg 方法的运行时间最短;在3 种引入噪声机制的联邦学习隐私保护方案中,NbAFL 方法的运行时间最短,本文所提LDP-FL 方法略次之,CL-FL 方法最长,同样说明了LDP-FL 方法的有效性。
5 结束语
本文通过设计一种基于本地化差分隐私的联邦学习方法LDP-FL,解决联邦学习中存在的模型推理攻击,主要是将该机制作用在联邦学习参数的传递过程中,增加联邦模型训练的隐私性。同时,设计一种适用于联邦学习的性能损失约束机制,通过优化损失函数的约束范围来降低本地化差分隐私联邦模型的性能损失。最后在真实的数据集上通过实验验证了所提LDP-FL 方法的有效性。未来的工作将集中在联邦学习优化,以及隐私保护联邦学习在应用方面的拓展,如医疗和物联网环境,研究这些场景下如何在保证隐私安全的同时提高联邦模型的全局准确率。