Processing math: 1%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于用户级别本地化差分隐私的联邦学习方法

张啸剑, 张雷雷, 张治政

张啸剑, 张雷雷, 张治政. 基于用户级别本地化差分隐私的联邦学习方法[J]. 计算机研究与发展, 2025, 62(2): 472-487. DOI: 10.7544/issn1000-1239.202330167
引用本文: 张啸剑, 张雷雷, 张治政. 基于用户级别本地化差分隐私的联邦学习方法[J]. 计算机研究与发展, 2025, 62(2): 472-487. DOI: 10.7544/issn1000-1239.202330167
Zhang Xiaojian, Zhang Leilei, Zhang Zhizheng. Federated Learning Method Under User-Level Local Differential Privacy[J]. Journal of Computer Research and Development, 2025, 62(2): 472-487. DOI: 10.7544/issn1000-1239.202330167
Citation: Zhang Xiaojian, Zhang Leilei, Zhang Zhizheng. Federated Learning Method Under User-Level Local Differential Privacy[J]. Journal of Computer Research and Development, 2025, 62(2): 472-487. DOI: 10.7544/issn1000-1239.202330167
张啸剑, 张雷雷, 张治政. 基于用户级别本地化差分隐私的联邦学习方法[J]. 计算机研究与发展, 2025, 62(2): 472-487. CSTR: 32373.14.issn1000-1239.202330167
引用本文: 张啸剑, 张雷雷, 张治政. 基于用户级别本地化差分隐私的联邦学习方法[J]. 计算机研究与发展, 2025, 62(2): 472-487. CSTR: 32373.14.issn1000-1239.202330167
Zhang Xiaojian, Zhang Leilei, Zhang Zhizheng. Federated Learning Method Under User-Level Local Differential Privacy[J]. Journal of Computer Research and Development, 2025, 62(2): 472-487. CSTR: 32373.14.issn1000-1239.202330167
Citation: Zhang Xiaojian, Zhang Leilei, Zhang Zhizheng. Federated Learning Method Under User-Level Local Differential Privacy[J]. Journal of Computer Research and Development, 2025, 62(2): 472-487. CSTR: 32373.14.issn1000-1239.202330167

基于用户级别本地化差分隐私的联邦学习方法

基金项目: 国家自然科学基金项目(62072156,61502146,91646203,91746115);河南省高等学校重点科研项目计划基础研究专项(25ZX012)
详细信息
    作者简介:

    张啸剑: 1980年生. 博士,教授,硕士生导师. 主要研究方向为差分隐私、数据挖掘、图形数据管理

    张雷雷: 1996年生. 硕士研究生. 主要研究方向为差分隐私、联邦学习

    张治政: 1996年生. 硕士研究生. 主要研究方向为差分隐私、联邦分析

  • 中图分类号: TP392

Federated Learning Method Under User-Level Local Differential Privacy

Funds: This work was supported by the National Natural Science Foundation of China (62072156, 61502146, 91646203, 91746115) and the Basic Research Special Projects of Key Research Projects in Higher Education Institutes in Henan Province (25ZX012).
More Information
    Author Bio:

    Zhang Xiaojian: born in 1980. PhD, professor, master supervisor. His main research interests include differential privacy, data mining, and graph data management

    Zhang Leilei: born in 1997. Master candidate. His main research interests include differential privacy and federated learning

    Zhang Zhizheng: born in 1996. Master candidate. His main research interests include differential privacy and federated analytics

  • 摘要:

    基于用户级别本地化差分隐私的联邦学习得到了研究者的广泛关注,联邦数据的类型、本地更新的裁剪、隐私预算的分配以及用户掉线问题直接制约着全局联邦学习模型的精度. 针对现有方法难以有效应对该类问题的不足,提出了一种有效基于用户级别本地化差分隐私的联邦学习算法ULDP-FED. 该算法能够同时处理同分布与非同分布的联邦数据类型;不同于现有的固定裁剪设置方法,ULDP-FED算法采用裁剪阈值动态衰减策略来实现高斯机制造成的误差与裁剪造成的偏差之间的均衡;为了节省用户手中的隐私预算,该算法通过遍历用户所有历史本地噪音梯度更新来寻找当前轮本地梯度更新的替代更新. 若存在高度相似的历史更新,用户只需要上传该历史梯度更新的索引即可,进而减少了用户与服务器之间的通信代价. ULDP-FED算法与现有算法在MNIST和CIFAR 10数据上的实验结果表明,其模型精度均高于同类方法.

    Abstract:

    Federated learning with user-level local differential privacy (ULDP) has attracted considerable research attention in recent years. The trade-off among federated data types, the mechanism of clipping local updates, the allocation of privacy budget, and user dropout directly constrain the accuracy of the global learning model. All existing federated learning methods are vulnerable to handling these problems. To remedy the deficiency caused by the current methods, we employ ULDP to propose an efficient algorithm, called ULDP-FED, to achieve global federated optimization. ULDP-FED can simultaneously handle IID and non-IID federated data types. Compared with those methods with fixed clipping thresholds, ULDP-FED uses a threshold dynamic decay strategy to balance the noise error caused by the Gauss mechanism and the bias caused by update clipping. To allocate the privacy budget of each user carefully, in each round, ULDP-FED relies on the similarity to replace the current local update with the historical noise updates. If the historical updates are obtainted, the user only sends the index of the historical update to the server, which can reduce the communication cost. ULDP-FED is compared with existing methods over MNIST and CIFAR 10 datasets. The experimental results show that our algorithm outperforms its competitors, and achieves the accurate results of federated learning.

  • 联邦学习[1]是打破数据孤岛、实现数据共享的常用分布式学习架构. 该框架遵循用户数据不离开本地且保护其数据隐私的原则,协同完成某种学习任务. 在该学习框架中,每轮被选中的用户需要把本地梯度或者本地梯度更新报告给服务端. 然而,本地梯度或者本地梯度更新作为新型数据,无论是在全局模型训练阶段还是模型推理阶段均面临多种攻击. 例如,模型投毒攻击[2-3]、拜占庭攻击[4]、梯度反演攻击[5-6]等. 由于联邦学习训练过程需要服务器与部分用户进行多轮梯度或者梯度更新的交换,恶意攻击者可以利用梯度反演攻击[5-6]重构某个用户的部分原始数据,也可以利用中间交换的参数对用户数据进行成员攻击[7]. 为了保护用户隐私梯度或者梯度更新以及防止梯度反演攻击等,系列基于示例级别的差分隐私(instance-level differential privacy,ILDP)[8-9]与基于用户级别的差分隐私(user-level differential privacy:ULDP)[10-13]的梯度更新保护方法被相继提出. 文献[8-9]中的方法通常假设每个用户仅贡献1个训练示例或者样本. 而实际的联邦系统中,每个用户通常贡献多个样本,例如,某个病人在一家医院产生多条健康医疗记录,以及通过该医院的APP产生挂号记录等,该病人希望自己的所有记录得到保护. ULDP保护模型更适合此类应用需求. 从用户级别来保护每个用户的所有数据,而不是单个训练样本. 目前,基于ULDP模型下的联邦学习方法包括DP-FedAvg[10],DP-FedSGD[10],CS-DPFL[11],CRD[12],NbAFL[13],DP-FedAvgAC[14],D2P-Fed[15],DP-FedSAM[16-17],DP-FedAvg-blur[18],DP-FedAvg-blurs[18]等. DP-FedAvg,DP-FedSGD,CS-DPFL这3种方法把ULDP模型引入联邦学习,其主要区别在于DP-FedAvg与DP-FedSGD利用固定阈值裁剪梯度更新,而CS-DPFL利用L2范式度量梯度更新幅值,并用L2范式的中位数裁剪梯度更新. 不同于上述3种方法,CRD[19]利用矩审计机制实现了基于用户级别的本地差分隐私联邦学习,然而该方法没有考虑裁剪阈值对梯度的影响. NbAFL方法在服务器端和客户端均加入了高斯噪声来提高隐私保护程度,然而,该方法训练获得模型的可用性较低. DP-FedAvgAC在DP-FedAvg的基础上考虑了裁剪阈值对模型可用性的影响,提出了牺牲部分隐私预算计算自适应阈值的方法. 该方法裁剪阈值的自适应性提高了模型可用性,却增加了算法的复杂性. DP-FedSAM仅在DP-FedAvg的基础上引入SAM优化器,DP-FedAvg-blur与DP-FedAvg-blurs分别在DP-FedAvg基础上增加了正则化与稀疏化操作. 尽管上述方法都是基于ULDP模型下的联邦学习方法,但是依然存在2点不足:1)大都直接将高斯噪声添加在梯度更新上,没有考虑梯度更新在训练过程中的前后变化情况. 此外,很难找到合适的固定裁剪阈值. 裁剪阈值设置过小导致摈弃梯度的信息过多,偏差过大;而裁剪阈值设置过大会导致本地添加的噪音过大. 2)大都采用基本序列组合定理、强组合定理或者矩审计定理确保每轮迭代满足(ε, δ)-差分隐私. 然而,基本序列组合定理不适合迭代总轮数T过大的情况,T过大会造成过大的隐私损失,即(, )-DP. 强组合定理虽然对隐私损失进行了定界,然而这种定界仅给出理想的εδ的关系. 矩审计机制给出了比强组合定理更紧的界. 然而,该方法容易受迭代轮数T的影响. 在实际联邦系统中,参与每轮训练的用户时常会因为网络或设备故障无法上传自己的本地更新而发生掉线现象. 因此,每个参与用户并非在T轮中每轮都贡献自己的数据.

    为了探寻前后迭代轮次之间梯度更新的关系,我们基于MNIST和CIFAR 10数据集测试了梯度更新符号之间的相似性. 设置裁剪阈值为2,用户总数为1000,迭代轮次T=1000. 从图1中可以发现在1000轮的迭代过程中,MNIST数据集相邻2轮全局梯度更新的符号最大相似度为0.82,最小为0.47,超过58%左右的全局梯度更新的相似度大于0.56. CIFAR 10数据集在1000轮的训练过程中,相邻2轮的全局更新相似度最大为0.96,最小为0.47,超过60%左右的全局更新相似度大于0.6.

    图  1  全局更新符号相似性变化
    Figure  1.  Sign similarity changing of global updates

    为了验证设置固定阈值的不合理性,我们基于MNIST和CIFAR 10数据集度量裁剪阈值与迭代轮数的关系. 根据图2可以看出,随着迭代轮数的增加,无论是MNIST数据还是CIFAR 10数据,相邻2轮全局梯度更新的符号相似性逐渐减小. 这是由于在训练初期,模型的损失很大,梯度符号包含着更多的信息;随着训练进行,模型逐渐收敛,梯度符号所包含的信息逐渐减少. 如果采用恒定的裁剪阈值,不符合本地梯度更新的变化趋势. 恒定的裁剪阈值会带来恒定的高斯噪音. 由图2可知,训练初期梯度包含的信息较多,应该添加较大的噪音. 而在训练后期,应添加较少的噪音.

    图  2  基于MNIST与CIFAR 10的梯度变化
    Figure  2.  Gradient changing based on MNIST and CIFAR 10

    基于以上2组实验结果与现有方法的不足,我们提出了一种基于ULDP的联邦学习方法ULDP-FED. 本文主要贡献有4点:

    1)为了更好地利用矩审计机制,本文利用梯度更新回溯策略寻找历史记录中有哪些梯度更新可以替代当前轮的梯度更新. 通过计算当前轮梯度更新与全局更新的相似性来判断是否触发替换操作. 如果触发替换,当前轮在不消耗隐私预算的情况下仅发送给服务器1个标记信号即可.

    2)不同于现有自适应裁剪策略,本文根据梯度更新的变化趋势,提出了一种动态衰减梯度更新裁剪策略. 该策略结合前后迭代轮次梯度更新的变化情况,动态调整下一轮裁剪阈值的大小.

    3)为了解决用户掉线问题,本文限制每个用户的参与训练轮数. 我们假设每个用户最多参加r轮的训练,即每个用户以r/T概率参与每轮训练,进而减少训练的交互次数,降低通信代价.

    4)理论分析了ULDP-FED的收敛性以及满足(ε, δ)-ULDP. 通过真实数据实验分析,ULDP-FED具有较高的可用性.

    用户级别差分隐私(ε, δ)-ULDP实际上是本地差分隐私模型的一种拓展,其目的是保护所有与用户关联的数据. 该模型的形式化定义如下所示.

    定义1. (ε, δ)-ULDP. 设DD′为近邻数据集且相差1个用户所有数据,D, DD. 给定随机算法MRange(M)为M的输出域,若MDD′上任意输出结果o(oRange(M))的概率满足下列不等式,则M满足(ε, δ)-ULDP.

    Pr[M(pi)=o] (1)

    其中ε为隐私预算,δ为隐私损失概率. (ε, δ)-ULDP保护模型通常具有序列组合性质.

    性质1[20]. 给定Dn个随机算法M1, M2, …, Mn,且Mi满足(εi, δi)-ULDP,则在D上的序列组合满足(ε, δ)-ULDP,且\varepsilon= \displaystyle\sum_{i=1}^n \varepsilon_i\delta= \displaystyle\sum_{i=1}^n \delta_i .

    定义2. L2-敏感度. 给定函数f: \mathcal{D} \mathbb R^d ,且D, D \in \mathcal{D} . 则f的L2-敏感度可表示为

    \Delta S = \mathop {\max }\limits_{D,D' \in \mathcal{D}} {\left\| {f\left( D \right) - f\left( {D'} \right)} \right\|_2} . (2)

    定理1. 高斯机制[21]. 给定函数f \mathcal{D} \mathbb R^d ,且f的L2-敏感度为∆S. 高斯机制M可以表示为

    M = f\left( D \right) + \mathcal{N}\left( {0,{\sigma ^2}\Delta {S^2}{{\boldsymbol I}_d}} \right) \text{,} (3)

    M满足(ε, δ)-ULDP. 其中,σ2S2Id表示高斯分布的方差,Id表示单位矩阵.

    U={u1, u2, …, un}是所有用户的集合,且|U|=n. D={D1, D2, …, Dn}表示所有用户数据组成的分布式数据集,其中Di表示第i个用户的本地数据集. 设Fi表示第i个用户的本地损失函数,Wi为第i个用户的模型参数. 第i个用户的本地损失函数可表示为

    {F_i}\left( {{{\boldsymbol{W}}_i},{D_i}} \right) = \dfrac{1}{{\left| {{D_i}} \right|}}\displaystyle\sum_{s \in {D_i}} {{F_i}\left( {{{\boldsymbol{W}}_i},s} \right)} \text{,} (4)

    其中s表示Di中的一个样本.

    基于分布式数据集D的联邦优化函数为:

    \mathop {\arg \min }\limits_{\boldsymbol W} F\left( {{\boldsymbol{W}},D} \right) = \displaystyle\sum_{i \in U} {{p_i}} {F_i}\left( {{{\boldsymbol{W}}_i},{D_i}} \right) \text{,} (5)

    其中pi=|Di|/|D|,且|Di|与|D|分别表示DiD的大小. F( \cdot )为全局损失函数,W全局模型参数.

    为了解决式(5)中的联邦优化问题,通常采用基于随机梯度下降的联邦平均方法FedAvg. 通过T轮迭代达到全局模型收敛,即可获得W. FedAvg方法通常包括4个步骤:1)用户选择. 在第t轮迭代中,服务器随机选取|U^t| 个用户. 2) 本地更新. U^t 集合中每个用户从服务器下载全局模型参数\boldsymbol W^{t-1} ,结合自身本地数据Di进行更新,进而获得本地模型参数Wit,如式(6)所示. 最后将Wit上传给服务器. 3) 全局聚合. 服务器收集U^t 中所有用户的模型参数进行聚合,如式(7)所示. 4)迭代. 重复1)~3)过程.

    {\boldsymbol{W}}_i^t = {{\boldsymbol{W}}^{t - 1}} - {\eta _i}\nabla {F_i}({{\boldsymbol{W}}^{t - 1}},{D_i}) \text{,} (6)

    其中ηi表示本地学习率.

    {{\boldsymbol{W}}^t} = \displaystyle\sum_{i \in {U^t}} {{p_i}} {\boldsymbol{W}}_i^t . (7)

    在联邦优化过程中,为了避免泄露用户的梯度更新或者本地模型参数,需要修改FedAvg方法中的步骤2). 首先由式(6)获得第t轮的本地更新 {\boldsymbol{\varDelta}} _i^t ,如式(8)所示:

    {\boldsymbol{\varDelta}} _i^t = {\boldsymbol{W}}_i^t - {{\boldsymbol{W}}^{t - 1}} . (8)

    然后,对 {\boldsymbol{\varDelta}} _i^t 进行裁剪,如式(9)所示:

    {\bar{{\boldsymbol{\varDelta}} }}_{i}^{t}={{\boldsymbol{\varDelta}} }_{i}^{t}\Big/\mathrm{max}\left(1\text{,}{\dfrac{{\Vert {{\boldsymbol{\varDelta}} }_{i}^{t}\Vert }_{2}}{C}}\right) , (9)

    其中C \bar {\boldsymbol{\varDelta}} _i^t 表示裁剪阈值和裁剪后的本地更新.

    最后,结合定理1对 \bar {\boldsymbol{\varDelta}} _i^t 添加高斯噪音,进而获得本地噪音更新 \tilde {\boldsymbol{\varDelta}} _i^t ,如式(10)所示:

    \tilde {\boldsymbol{\varDelta}} _i^t = \bar {\boldsymbol{\varDelta}} _i^t + \mathcal{N}(0,{C^2}{\sigma ^2}{{\boldsymbol I}_d}) . (10)

    根据式(9) (10)可知,每轮迭代均需要分割隐私预算ε. 假设T轮迭代后全局模型收敛,则每轮迭代花费的隐私预算为ε/T. 由于历史模型参数与当前轮的模型参数存在相似性,则可以利用此特性来节省部分隐私预算. 式(9) (10)中裁剪阈值C的设定是个大的挑战,不合适的C值通常会造成较大的高斯噪音和裁剪偏差. 此外,为了模拟现实环境用户掉线的情况,每个用户最多参与r轮训练,即每个用户以概率r/T参与每轮训练. 因此,本文要解决的问题是设计满足(ε, δ)-ULDP的联邦学习方法同时,要尽可能获得高可用性、降低通信代价以及安全的全局模型参数.

    在设计满足(ε, δ)-ULDP的联邦学习算法时需要考虑3条原则:1)保护用户数据安全与隐私;2)尽可能地提高模型可用性;3)尽可能地降低通信代价. 针对原则1~3,本文采用本地差分隐私、基于历史本地更新的回溯技术以及裁剪阈值动态衰减技术来设计高可用的联邦学习算法. 基于上述3种原则,本文设计了基于(ε, δ)-ULDP的联邦学习算法ULDP-FED,该算法的具体细节如算法1所示.

    算法1. ULDP-FED.

    输入:数据集D={D1, D2, …, Dn},隐私预算ε,全局学习率ηg,本地学习率ηi,本地完整的训练次数 \varGamma ,回溯阈值τ

    输出:全局模型参数W.

    服务器端:

    ① 广播全局初始化模型参数W0,全局初始化更 新\boldsymbol \varDelta^0 ,以及迭代总轮数T

    ② for each iteration t=1, 2, …, T do

    ③ for all user u_i \in U^t do in parallel /*被采样的用  户并行计算*/

    ④   \tilde {\boldsymbol{\varDelta}} _i^t UserUpdate (Di, \boldsymbol W^{t-1} , {\boldsymbol{\varDelta}}^{t-1} );

    ⑤   {\tilde {\boldsymbol{\varDelta}} ^t} \displaystyle\sum_{i \in {U^t}} {{p_i}} \tilde {\boldsymbol{\varDelta}} _i^t ;/*计算全局噪音更新 {\tilde {\boldsymbol{\varDelta}} ^t} */

    ⑥  \boldsymbol W^t =\boldsymbol W^{t-1}ηg {\tilde {\boldsymbol{\varDelta}} ^t} ;/*更新全局模型参数*/

    ⑦ end for

    ⑧ end for

    ⑨ return W t−1.

    用户端:

    /*UserUpdate函数*/

    {\boldsymbol{W}}_i^t \boldsymbol W^{t-1} ,  {\tilde {\boldsymbol{\varDelta}} ^{t - 1}} ;/*下载第t−1轮的全局模型 \boldsymbol W^{t-1} 与全局噪音更新 {\tilde{\boldsymbol \varDelta} ^{t - 1}} */

    ⑪ for each local epoch e\in \{1,2, …, \varGamma\} do

    ⑫  for each batch b do

    ⑬    {\boldsymbol{W}}_i^t \leftarrow {\boldsymbol{W}}_i^t - {\eta _i}\nabla {F_i}({\boldsymbol{W}}_i^t,b)

    ⑭ end for

    ⑮ end for

    {\boldsymbol{\varDelta}} _i^t \leftarrow {\boldsymbol{W}}_i^t - {{\boldsymbol{W}}^{t - 1}} ; /*计算本地更新*/

    {C^t} = {C^{t - 1}}{{\text{e}}^{ - \beta k}} ; /*进行阈值衰减*/

    \bar {\boldsymbol{\varDelta}} _i^t \leftarrow {\boldsymbol{\varDelta}} _i^t/\max \left(1,\dfrac{{{{\left\| {{\boldsymbol{\varDelta}} _i^t} \right\|}_2}}}{{{C^t}}}\right) ; /*裁剪*/

    \tilde {\boldsymbol{\varDelta}} _i^t \leftarrow \bar {\boldsymbol{\varDelta}} _i^t + \mathcal{N}(0,{\sigma ^2}{\left( {{C^t}} \right)^2}{{\boldsymbol I}_d}) ; /*加噪*/

    \tilde {\boldsymbol{\varDelta}} _i^t \leftarrow CheckS imilarity(\tilde {\boldsymbol{\varDelta}} _i^t,{\tilde {\boldsymbol{\varDelta}} ^{t - 1}}) ; /*计算相似性*/

    ㉑ return \tilde {\boldsymbol{\varDelta}} _i^t .

    /*CheckSimilarity函数*/

    ㉒ 利用式(11)或者式(13)计算 \tilde {\boldsymbol{\varDelta}} _i^t {\tilde {\boldsymbol{\varDelta}} ^{t - 1}} 之间的 相似度 s(\tilde {\boldsymbol{\varDelta}} _i^t,{\tilde {\boldsymbol{\varDelta}} ^{t - 1}})

    ㉓ if s(\tilde {\boldsymbol{\varDelta}} _i^t,{\tilde {\boldsymbol{\varDelta}} ^{t - 1}}) <τ then /*小于阈值则回溯*/

    ㉔ (i, k)={(i, k)| k \in \{1,2,…,t - 1\} \wedge \max \{ s(\tilde {\boldsymbol{\varDelta}} _i^{t - 1}, {\tilde {\boldsymbol{\varDelta}} ^{t - 1}}),  …, s(\tilde {\boldsymbol{\varDelta}} _i^k,{\tilde {\boldsymbol{\varDelta}} ^{t - 1}})…\} },其中ik分别表示第  i用户,用户i的历史本地更新中第k个  本地更新的索引;

    ㉕ return (i, k);

    ㉖ else

    ㉗ return \tilde {\boldsymbol{\varDelta}} _i^t ;/*大于阈值时返回当前轮本地  更新*/

    ㉘ end if

    ULDP-FED算法包含服务器端与用户端2个角色. 服务器端聚合每轮用户上传的本地更新,以及更新全局模型参数,并将最新的全局模型参数广播给用户(行②~⑥). 参与每轮训练的所有用户利用UserUpdate函数计算当前轮的本地更新(行④). 在UserUpdate函数中,每个用户首先下载上一轮的全局噪音更新与全局模型参数(行⑩),利用本地数据更新全局模型(行⑬),进而获得本地更新(行⑯). 利用动态衰减阈值裁剪该本地更新后,添加相应的高斯噪音(行⑰~⑲). 为了节省用户的隐私预算,利用CheckSimilarity函数(行⑳)在该用户历史本地噪音更新中寻找当前本地更新的替代品. 在CheckSimilarity函数中,计算上一轮全局噪音更新与当前轮噪音本地更新之间的相似性(行㉒),如果相似性值小于给定的阈值,我们需要在该用户历史本地噪音更新中进行回溯操作. 即是在历史噪音更新中寻找与上一轮全局更新最相似的更新,来替代当前轮的本地更新(行㉓~㉕). 否则该用户上传当前轮的本地噪音更新(行㉗).

    结合图2与ULDP-FED算法可知,全局模型在训练初期,本地更新蕴含着丰富的信息. 而在模型训练后期,本地更新趋于平滑. 基于此,为了提高全局模型的可用性、节省用户手中的隐私预算,以及减少用户与服务器之间的通信代价,本文设计了一种本地更新回溯机制. 该机制的主要思想是利用本地更新的历史数据替代当前轮的本地更新. 而如何在历史本地更新中寻找替代更新面临2个问题:1)为了与全局更新收敛方向保持一致,我们不能直接计算当前本地更新与历史本地更新的相似性. 而是利用上一轮的全局更新作为介质,来计算当前本地更新、历史更新与该介质的相似性,进而判断是上传历史更新还是当前轮的本地更新. 2)如何计算本地更新与上一轮全局更新相似性,以及历史本地更新与上一轮全局更新的相似性. 为了解决上述2种问题,本文设计了2种相似性计算方法,具体操作为:

    由于本地更新和全局更新本质是张量且具有方向性,我们采用文献[22]中的符号计数方法或者余弦计算方法来度量两者之间的相似性. 具体表示如式(11) (13)所示. 假设当前轮为第t轮,用户i在第t轮的本地噪音更新为 \tilde {\boldsymbol{\varDelta}} _i^t . {\tilde{\boldsymbol{ \varDelta}} ^{t - 1}} 表示第t−1轮的全局噪音更新.

    s(\tilde{\boldsymbol \varDelta} _i^t,{\tilde{\boldsymbol \varDelta} ^{t - 1}}) = \dfrac{1}{l}\displaystyle\sum_{j = 1}^l {I({{\mathrm{sgn}}} (\tilde {\boldsymbol{\varDelta}} _{i,j}^t) = {{\mathrm{sgn}}} (\tilde {\boldsymbol{\varDelta}} _j^{t - 1}))} \text{,} (11)

    其中l表示本地更新张量的元素个数, {{\mathrm{sgn}}} (\tilde {\boldsymbol{\varDelta}} _{i,j}^t) {{\mathrm{sgn}}} (\tilde {\boldsymbol{\varDelta}} _j^{t - 1}) 分别表示张量 \tilde {\boldsymbol{\varDelta}} _{i,j}^t \tilde {\boldsymbol{\varDelta}} _j^{t - 1} j位对应的符号(−, +, 0). I( \cdot )为标识函数,当 {{\mathrm{sgn}}} (\tilde {\boldsymbol{\varDelta}} _{i,j}^t) = {{\mathrm{sgn}}} (\tilde {\boldsymbol{\varDelta}} _j^{t - 1}) 时,I( \cdot )=1,否则I( \cdot )=0.

    同理,在用户i的历史本地噪音更新中寻找与第t−1轮全局噪音更新的相似性如式(12)所示:

    s(\tilde {\boldsymbol{\varDelta}} _i^k,{\tilde {\boldsymbol{\varDelta}} ^{t - 1}}) = \dfrac{1}{l}\displaystyle\sum_{j = 1}^l {I({{\mathrm{sgn}}} (\tilde {\boldsymbol{\varDelta}} _{i,j}^k) = {{\mathrm{sgn}}} (\tilde {\boldsymbol{\varDelta}} _j^{t - 1}))} , (12)

    其中k表示历史本地更新中第k轮的噪音更新索引.

    此外,我们利用余弦函数度量本地噪音更新与全局噪音更新之间的相似性,以及度量历史本地噪音更新与第t−1轮全局噪音更新的相似性. 具体计算方式如式(13)所示:

    s(\tilde {\boldsymbol{\varDelta}} _i^t,{\tilde {\boldsymbol{\varDelta}} ^{t - 1}}) = \cos (\tilde {\boldsymbol{\varDelta}} _i^t,{\tilde {\boldsymbol{\varDelta}} ^{t - 1}}) = \dfrac{{\tilde {\boldsymbol{\varDelta}} _i^t \cdot {{\tilde {\boldsymbol{\varDelta}} }^{t - 1}}}}{{\left\| {\tilde {\boldsymbol{\varDelta}} _i^t} \right\|\times\left\| {{{\tilde {\boldsymbol{\varDelta}} }^{t - 1}}} \right\|}} . (13)

    由式(11)~(13)可知,若上一轮的全局噪音更新或者用户i的历史本地噪音更新能够替代当前轮中该用户的本地噪音更新,我们只需要发送(i, k)给服务器即可(参阅CheckSimilarity的行㉔),不需要发送维度为d的整个张量. 进而可以节省本轮隐私预算,减少用户与服务器之间的通信代价. 如若仅发送(i, k)给服务器,则该轮的通信代价为O(1).

    如果用户i在当前轮利用式(11) (13)寻找到自身本地更新的替代更新,则用户i本轮的隐私预算就会被节省下来. 然而,节省下来的隐私预算如何应用到将来的迭代中是需要解决的问题. 假设每个用户在T轮迭代中最多参加r轮迭代. t表示迭代的当前轮,a表示用户i当前已参与的轮数(a<r). 给定隐私预算ε,在规定的r轮迭代中,每轮预分配的隐私预算为ε/r. 假设j表示用户i在{1, 2, …, a}轮中首次发生回溯的轮次索引. 用户ir轮迭代中的隐私预算分配可分为如下情况进行计算:

    1)用户i首次参与全局训练,则i的可用轮数为r.

    ①当r \leqslant Tt+1时,算法整体可训练的轮数覆盖了用户i的可参与轮数r,此时该用户当前的隐私预算为ε/r

    ②当r>Tt+1时,用户i可参与训练的轮数大于整体剩余的训练轮数,此时该用户最多可参与的轮数为Tt+1,当前消耗的隐私预算为ε/Tt+1.

    2)用户i非首次参与全局训练,该用户可用轮数为ra. 此时,算法整体运行到第t轮. 假设在{1, 2, …, a}轮中,用户i首次在第j( j \in \{ 1,2,…,a\} )轮发生了本地更新回溯,即节省了第j轮的隐私预算. 那么在j+1轮时,用户i手中可用的隐私预算为

    \varepsilon'=\varepsilon-\dfrac{\varepsilon(j-1)}{r}, (14)

    则用户ij+1轮参与训练的情况有2种,即发生回溯或者不发生回溯. 隐私预算为

    {\varepsilon}''=\left\{\begin{aligned} &{\varepsilon}'-\dfrac{{\varepsilon}'}{r-j},\;\; 不发生回溯,\\ &{\varepsilon }',\;\quad\quad\quad 发生回溯,\end{aligned}\right. (15)

    其中{\varepsilon}'' 为第j+1轮执行后用户i所剩的隐私预算.

    不失一般性,如果按照式(14)(15)计算第a+1轮用户i可用的隐私预算,我们同样可以表示为{\varepsilon}'' . 此时,用户i在剩余的ra轮迭代中隐私预算分配情况为:

    ①当ra \leqslant Tt+1时,算法整体可训练的轮数覆盖了用户i的可参与轮数,此时该用户当前的消耗隐私预算为{\varepsilon}'' /ra

    ②当r>Tt+1时,用户i可参与训练的轮数大于算法整体剩余的训练轮数,此时该用户最多可参与的轮数为Tt+1,当前消耗的隐私预算为{\varepsilon}'' /Tt+1.

    为了说明2.1节与2.2节中回溯策略和隐私预算分配策略,本文给出例子进行解释. 假设T=8,t=4,r=4. 如果用户i从当前轮t=4首次参加全局训练如图3(a)所示,此种情况下a=0,j=0. 给定隐私预算ε,由于r \leqslant Tt+1(即r=4 \leqslant T−t+1=5),则在当前轮t=4时,该用户不发生回溯,所分配的隐私预算为ε/4;如果用户i在当前轮t=4时并非首次参与训练,此种情况下a \ne 0,j \ne 0. 如图3(b)所示,假设用户it=1首次参与训练. a=3,j=3. 该用户在j=3时发生回溯,即在该轮节省ε/4. 则在j+1=4即t=4时,用户i手中的隐私预算为2ε/4. 该用户不发生回溯,全部消耗掉2ε/4,剩余的隐私预算为0.

    图  3  本地更新回溯示意图
    Figure  3.  An illustration of local update recall

    根据ULDP-FED算法中UserUpdate函数的行⑰~⑲可知,设置过大的裁剪阈值C会较好地保护本地更新,并且裁剪操作产生的更新偏差较小. 然而,过大的C值导致过大的高斯噪音,高斯机制产生的误差会很大,进而造成最终聚集的全局模型可用性较低;设置过小的C值尽管产生较小的高斯噪音,且由高斯机制产生的误差比较小,但是会对用户的本地更新过度裁剪,进而导致本地更新信息损失严重,即由裁剪操作产生的更新偏差会很大. 同样也会对最终全局模型的可用性造成严重影响. 因此,每个用户如何选择合适的裁剪阈值来有效均衡高斯机制产生的误差与裁剪操作产生的偏差是一个大的挑战.

    图4描述了MNIST数据集上的本地更新与裁剪阈值变化情况. 可以看出,本地更新在训练初期包含的信息更多,随着迭代轮数的增加本地更新趋于平滑. 因此,裁剪阈值的设定应该能够符合本地更新的变化趋势. 基于此,本文提出一种基于动态衰减机制的裁剪阈值设置方法,如图4C={\rm e}^{-\beta k}C 所示,其中k \in {1, 2, …, r},β表示衰减因子. 为了阐述动态衰减阈值设置的合理性,本文给出定理2进行解释.

    图  4  本地更新裁剪阈值选择
    Figure  4.  Selection of clipping threshold of local update

    定理2. 给定参数rk,且k \in {1, 2, …, r}. 在用户i参与的r轮迭代中,每一轮均可获得合适的裁剪阈值 C = {{\left\| {{\boldsymbol{\varDelta}} _i^t} \right\|} \big/ {{{\rm e}^{ - \beta k}} + \dfrac{{2{\sigma ^2}}}{{\left| {{U^t}} \right|}}d}} ,使得高斯噪音误差与裁剪产生的偏差均衡. 其中d表示本地更新的维度,U^t 表示当前参与训练的用户集合,σ2表示高斯机制的方差.

    证明. 设 {\boldsymbol{\varDelta}} _i^t 为用户i未裁剪未加噪的本地更新, \overline {\boldsymbol{\varDelta}} _i^t 表示该用户已裁剪未加噪的本地更新, \tilde {\boldsymbol{\varDelta}} _i^t 表示该用户已裁剪已加噪的本地更新. 根据均方误差度量标准可知如下式(16)成立.

    \begin{split} & { E}\left[ {\dfrac{1}{d}\left\| {\tilde {\boldsymbol{\varDelta}} _i^t - {\boldsymbol{\varDelta}} _i^t} \right\|_2^2} \right] = \dfrac{1}{d}{ E}\left[ {\left\| {\overline {\boldsymbol{\varDelta}} _i^t - {\boldsymbol{\varDelta}} _i^t} \right\|_2^2} \right] + \dfrac{1}{d}{ E}\left[ {\left\| {\tilde {\boldsymbol{\varDelta}} _i^t - \overline {\boldsymbol{\varDelta}} _i^t} \right\|_2^2} \right] = \\ &\quad \dfrac{1}{d}{ E}\left[ {\left\| {{\boldsymbol{\varDelta}} _i^t\min \left( {1,\dfrac{{C{{\rm e}^{ - \beta k}}}}{{\left\| {{\boldsymbol{\varDelta}} _i^t} \right\|}}} \right) - {\boldsymbol{\varDelta}} _i^t} \right\|_2^2} \right] +\\ &\quad \dfrac{1}{d}{ E}\left[ {\left\| {\mathcal{N}\left( {0,\dfrac{{{\sigma ^2}{{(C{{\rm e}^{ - \beta k}})}^2}}}{{\left| {{U^t}} \right|}}{I_d}} \right)} \right\|_2^2} \right] =\\ &\quad \dfrac{1}{d}{ E}\left[ {\left\| {\dfrac{{{\boldsymbol{\varDelta}} _i^t}}{{\left\| {{\boldsymbol{\varDelta}} _i^t} \right\|}}\min \left( {0,C{{\rm e}^{ - \beta k}} - \left\| {{\boldsymbol{\varDelta}} _i^t} \right\|} \right)} \right\|_2^2} \right] +\\ & \quad \dfrac{1}{d}d{ E}\left[ {\mathcal{N}{{\left( {0,\dfrac{{{\sigma ^2}{{(C{{\rm e}^{ - \beta k}})}^2}}}{{\left| {{U^t}} \right|}}} \right)}^2}} \right]= \\ &\quad \dfrac{1}{d}\min {\left( {0,C{{\rm e}^{ - \beta k}} - \left\| {{\boldsymbol{\varDelta}} _i^t} \right\|} \right)^2} + { E}\left[ {\mathcal{N}{{\left( {0,\dfrac{{{\sigma ^2}{{(C{{\rm e}^{ - \beta k}})}^2}}}{{\left| {{U^t}} \right|}}} \right)}^{ 2}}} \right]= \\ &\quad \dfrac{1}{d}\max {\left( {0,\left\| {{\boldsymbol{\varDelta}} _i^t} \right\| - C{{\rm e}^{ - \beta k}}} \right)^2} + \dfrac{{{\sigma ^2}{{(C{{\rm e}^{ - \beta k}})}^2}}}{{\left| {{U^t}} \right|}}.\\[-1pt] \end{split} (16)

    由式(16)可知, \left\| {{\boldsymbol{\varDelta}} _i^t} \right\| σ|U^t |d为常数,可以优化的参数为Cβ. 为了计算方便,把式(16)表示成式(17).

    \begin{split} f\left( C \right) = & {E}\left[ {\dfrac{1}{d}\left\| {\tilde {\boldsymbol{\varDelta}} _i^t - {\boldsymbol{\varDelta}} _i^t} \right\|_2^2} \right]= \\ & \dfrac{1}{d}\max {\left( {0,\left\| {{\boldsymbol{\varDelta}} _i^t} \right\| - C{{\rm e}^{ - \beta k}}} \right)^2} + \dfrac{{{\sigma ^2}{{(C{{\rm e}^{ - \beta k}})}^2}}}{{\left| {{U^t}} \right|}}. \end{split} (17)

    式(17)两侧同时对C进行求导,可得

    f'(C) = \left\{ {\begin{aligned} & \dfrac{2}{d}\left( {C{{\rm e}^{ - \beta k}} - \left\| {{\boldsymbol{\varDelta}} _i^t} \right\|} \right){{\rm e}^{ - \beta k}} + \dfrac{{2{\sigma ^2}{{\rm e}^{ - \beta k}}}}{{\left| {{U^t}} \right|}}C,\;\; C \leqslant \dfrac{{\left\| {{\boldsymbol{\varDelta}} _i^t} \right\|}}{{{{\rm e}^{ - \beta k}}}}, \\ & \dfrac{{2{\sigma ^2}{{\rm e}^{ - \beta k}}}}{{\left| {{U^t}} \right|}}C,\;\;\quad\quad\quad\quad\quad\quad\quad\quad\quad\; C > \dfrac{{\left\| {{\boldsymbol{\varDelta}} _i^t} \right\|}}{{{{\rm e}^{ - \beta k}}}}, \end{aligned}} \right.

    f'(C)=0时,函数f(C)在 C = \dfrac{{\left\| {{\boldsymbol{\varDelta}} _i^t} \right\|}}{{{{\rm e}^{ - \beta k}} + \dfrac{{2{\sigma ^2}}}{{\left| {{U^t}} \right|}}d}} 取得最小值. 因此,用户i在参与的{1, 2, …, r}轮次中,每轮均可寻找到合适的裁剪阈值C来均衡高斯噪音误差与裁剪产生的偏差.证毕.

    由于ULDP-FED算法通过反复迭代求解全局模型,每个参与用户需要合理地分配隐私预算才能确保每轮满足差分隐私,进而保证每个用户在r轮后满足(ε, δ)-ULDP. 本文通过差分隐私的基本组合定理、强组合定理以及矩审计来阐述ULDP-FED算法的隐私性. ULDP-FED算法中只有UserUpdate函数消耗隐私预算,只要证明其满足(ε, δ)-ULDP,则ULDP-FED算法同样满足. 为了阐述方便,我们给出UserUpdate函数的隐私损失定义,如式(18)所示:

    c_M(o;M,aux,D,D')=log\dfrac{Pr[M(aux,D)=o]}{Pr[M(aux,D')=o]}, (18)

    其中M表示UserUpdate函数执行r轮的整体算法,即M=(M1, M2, …, Mr),D表示用户拥有的训练数据,D′表示D的近邻数据集,aux表示辅助输入,o表示M的输出结果.

    若式(18) \leqslant ε,即可说明ULDP-FED算法满足(ε, δ)-ULDP. 我们重写式(18)后获得式(19).

    \begin{split} & {c_M}(o;M,aux,D,D') = \log \dfrac{{Pr[M(aux,D) = o]}}{{Pr[M(aux,D') = o]}} = \\& \quad\log \dfrac{{Pr\left[ {{M_1}(aux,D) = o, … ,{M_r}(aux,D) = o} \right]}}{{Pr\left[ {{M_1}(aux,D') = o, … ,{M_r}(aux,D') = o} \right]}} = \\& \quad \log \dfrac{{Pr\left[ {{M_1}(aux,D) = o} \right] \times … \times Pr\left[ {{M_r}(aux,D) = o} \right]}}{{Pr\left[ {{M_1}(aux,D') = o} \right] \times … \times Pr\left[ {{M_r}(aux,D') = o} \right]}}. \end{split} (19)

    结合式(19),设置第k轮的隐私损失,如式(20)所示:

    log\dfrac{Pr\left[M_k(aux,D)=o\right]}{Pr\left[M_k(aux,D')=o\right]}=c\left(o;M_k,o_{1:\left(k-1\right)},D,D',g_k\right), (20)

    其中gk表示第k轮是否发生回溯.

    结合式(19) (20),可知式(21)成立.

    {c_M}(o;M,aux,D,D') \leqslant \displaystyle\sum_{k = 1}^r {c\left( {o;{M_k},{o_{1:\left( {k - 1} \right)}},D,D',{g_k}} \right)} . (21)

    1)基于基本组合定理的隐私性度量. 结合式(21),对c(o; Mk, o1:(k−1), D, D′, gk)进行定量分析. 对于参与整体训练的任意用户,该用户有效参与轮次1, 2, …, r中任意一个轮次j,其隐私损失为c(o; Mj, o1:(j−1), D, D′, gj). 当gj =1时,说明第j轮发生回溯,则此时第j轮的隐私损失c(o; Mj, o1:(j−1), D, D′, gj)=0. 否则,结合式(14) (15)可获得c(o; Mj, o1:(j−1), D, D′, gj)=εj. 根据本文的本地更新回溯规则、隐私预算分配策略,以及基本组合定理可知, \displaystyle\sum_{k = 1}^r {c\left( {o;{M_k},{o_{1:\left( {k - 1} \right)}},D,D',{g_k}} \right)} \leqslant \varepsilon . 进而可知cM (o; M, aux, D, D′) \leqslant ε. 结合式(18)与文献[19]可知ULDP-FED算法满足(ε, δ)-ULDP.

    2)基于强组合定理的隐私性度量. 根据文献[19]可知,强组合定理通常计算隐私损失c(o; Mk, o1:(k−1), D, D′, gk)的期望值,即E(c(o; Mk, o1:(k−1), D, D′, gk)). 结合本地更新回溯规则与隐私预算分配策略可知,如果第j轮发生回溯,则E(c(o; Mj, o1:(j−1), D, D′, gj))=0,否则,E(c(o; Mj, o1:(j−1), D, D′, gj)) \leqslant εj(eεj−1). 根据文献[19]可知,强组合定理的隐私损失边界比较松散,即ULDP-FED满足(O( q\varepsilon \sqrt {r\log (1/\delta )} ), (rq+1)δ)-ULDP.

    3)基于矩审计机制的隐私性度量. 不同于基本组合定理与强组合定理,文献[19]给出的矩审计机制利用矩母函数重新定义每轮隐私损失c(o; Mk, o1:(k−1), D, D′, gk). 结合马尔可夫不等式与尾界理论给出c(o; Mk, o1:(k−1), D, D′, gk)更紧的边界. 为了使得矩审计机制符合实际的联邦学习系统,本文把该机制拓展到允许部分用户掉线的情况,即每个用户最多参与r轮训练. 对于有效参与训练的每个用户,我们能够精确地计算出r轮中每一轮的高斯噪音尺度σk,如定理3所示.

    定理3. 给定采样概率q=|U^t|/|U| ,整体算法迭代轮次T,每个用户最多参与的训练轮次r. 若第i个用户满足(εi, δi)-ULDP,对于任意轮次k \in {1, 2, …, r},该轮次中高斯机制的噪声尺度σk满足下列不等式:

    {\sigma _k} = \left\{ {\begin{aligned} & \dfrac{{2qC{{\rm e}^{ - \beta k}}\sqrt {r\log (1/{\delta _i})} }}{{{\varepsilon _i}}},\;\;\quad\quad\, T - t \geqslant r, \\ & \dfrac{{2qC{{\rm e}^{ - \beta k}}\sqrt {(T - t)\log (1/{\delta _i})} }}{{{\varepsilon _i}}},\;\; T - t < r, \end{aligned}} \right.

    其中U^t 表示当前轮t中参与训练的用户集合,U表示全部的用户集合,β表示裁剪阈值的衰减因子.

    证明. 为了证明方便,令μ0表示高斯机制 \mathcal{N}(0,\sigma _k^2) 的概率密度函数,μ1表示 \mathcal{N}(C{{\rm e}^{ - \beta k}},\sigma _k^2) 的概率密度函数,μ为混合高斯分布 q\mathcal{N}(C{{\rm e}^{ - \beta k}},\sigma _k^2) + (1 - q)\mathcal{N} (0,\sigma _k^2) 的概率密度函数. 根据文献[19]与式(18),设置Mk表示UserUpdate函数执行第k轮的整体过程,Mk隐私损失的λ阶对数矩母函数如式(22)所示:

    {\alpha _{{M_k}}}\left( {\lambda ;aux,D,D'} \right) = \log {E}\left( {{{\text{e}}^{\left( {\lambda c\left( {o;{M_k},aux,D,D'} \right)} \right)}}} \right) . (22)

    根据文献[19]可知,式(23)成立.

    {\alpha _M}(\lambda ) \leqslant \displaystyle\sum_{k = 1}^r {{\alpha _{{M_k}}}(\lambda )} . (23)

    结合式(22) (23)可知,式(24)成立.

    \alpha_{M_k}\left(\lambda\right):=log\left(\max\left\{E_0,E_1\right\}\right), (24)

    其中 {{E}_0} = {{E}_{z \sim {\mu _0}}} {\left[ {\dfrac{{{\mu _0}(z)}}{{\mu (z)}}} \right]^\lambda } = {{E}_{z \sim {\mu _0}}} {\left[ {\dfrac{{\mu (z)}}{{{\mu _0}(z)}}} \right]^{ - \lambda }} {{E}_1} = {{E}_{z \sim \mu }} {\left[ {\dfrac{{\mu (z)}}{{{\mu _0}(z)}}} \right]^\lambda } = {{E}_{z \sim {\mu _0}}}{\left[ {\dfrac{{\mu (z)}}{{{\mu _0}(z)}}} \right]^{\lambda + 1}} .

    由文献[11]可知,E1>E0成立. 利用二项展开式对E1展开可获得式(25).

    \begin{split} {{E}_1} = & {{E}_{z \sim {\mu _0}}}\left[ {{{\left( {\dfrac{{\mu (z)}}{{{\mu _0}(z)}}} \right)}^{\lambda + 1}}} \right] = {{E}_{z \sim {\mu _0}}}\left[ {{{\left( {1 + \dfrac{{\mu (z) - {\mu _0}(z)}}{{{\mu _0}(z)}}} \right)}^{\lambda + 1}}} \right] = \\ & \displaystyle\sum_{a = 0}^{\lambda + 1} {\left( {\begin{aligned} & {\lambda + 1} \\ a \end{aligned}} \right)} {{E}_{z \sim {\mu _0}}}\left[ {{{\left( {\dfrac{{\mu (z) - {\mu _0}(z)}}{{{\mu _0}(z)}}} \right)}^a}} \right].\\[-1pt] \end{split} (25)

    根据式(25)可知,E1二项展开式的第1项为1,第2项如式(26)所示:

    {{E}_{z \sim {\mu _0}}}\left[ {\dfrac{{\mu (z) - {\mu _0}(z)}}{{{\mu _0}(z)}}} \right] = \int_{ - \infty }^{ + \infty } {{\mu _0}(z)\dfrac{{\mu (z) - {\mu _0}(z)}}{{{\mu _0}(z)}}{\rm d}z = 0} . (26)

    由于 u(z) \geqslant (1 - q){u_0}(z) ,为了便于计算式(25),我们把E1展开式的第3项变换为:

    \begin{split} & {{E}_{z \sim {\mu _0}}}\left[ {{{\left( {\dfrac{{\mu (z) - {\mu _0}(z)}}{{{\mu _0}(z)}}} \right)}^2}} \right] =\\ & {{ E}_{z \sim {\mu _0}}}\left[ {{{\left( {\dfrac{{q{\mu _1}(z) + (1 - q){\mu _0}(z) - {\mu _0}(z)}}{{{\mu _0}(z)}}} \right)}^2}} \right] = \\ & {q^2}{{ E}_{z \sim {\mu _0}}}\left[ {{{\left( {\dfrac{{{\mu _1}(z) - {\mu _0}(z)}}{{{\mu _0}(z)}}} \right)}^2}} \right] = \\ & {q^2}{{ E}_{z \sim {\mu _0}}}\left[ {{{\left( {{{\rm e}^{\left( {\tfrac{{2zC{{\rm e}^{ - \beta k}} - {{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{2\sigma _k^2}}} \right)}} - 1} \right)}^2}} \right] = \\& {q^2}\left\{ {1 - 2{{ E}_{z \sim {\mu _0}}}\left[ {{{\rm e}^{\tfrac{{2zC{{\rm e}^{ - \beta k}} - {{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{2\sigma _k^2}}}}} \right] + {{ E}_{z \sim {\mu _0}}}\left[ {{{\rm e}^{\tfrac{{4zC{{\rm e}^{ - \beta k}} - 2{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{2\sigma _k^2}}}}} \right]} \right\} = \\& {q^2}\left[ {1 - 2{{\rm e}^{\tfrac{{{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{2\sigma _k^2}}}} \times {{\rm e}^{\tfrac{{ - {{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{2\sigma _k^2}}}} + {{\rm e}^{\tfrac{{4{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{2\sigma _k^2}}}} \times {{\rm e}^{\tfrac{{ - 2{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{2\sigma _k^2}}}}} \right] = \\& {q^2}\left[ {{{\rm e}^{\tfrac{{{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{\sigma _k^2}}}} - 1} \right]. \end{split}

    因此E1展开式的第3项如式(27)所示:

    \begin{split} & \left( {\begin{array}{*{20}{c}} {1 + \lambda } \\ 2 \end{array}} \right){{ E}_{z \sim {\mu _0}}}\left[ {{{\left( {\dfrac{{\mu (z) - {\mu _0}(z)}}{{{\mu _0}(z)}}} \right)}^2}} \right] = \\&\quad \dfrac{{\lambda (1 + \lambda ){q^2}}}{2}\left[ {{{\rm e}^{\tfrac{{{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{\sigma _k^2}}}} - 1} \right] \leqslant \dfrac{{\lambda (1 + \lambda ){q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{\sigma _k^2}}. \end{split} (27)

    结合式(27) (24)可得式(28)成立.

    \begin{split} {\alpha _{{M_k}}}(\lambda ) \leqslant & \dfrac{{\lambda (1 + \lambda ){q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{\sigma _k^2}} + O\left( {\dfrac{{{\lambda ^3}{q^3}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^3}}}{{\sigma _k^3}}} \right)\approx \\ & \dfrac{{\lambda (1 + \lambda ){q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{\sigma _k^2}}.\\[-1pt] \end{split} (28)

    结合式(23),可知r轮总的隐私损失如式(29)所示:

    {\alpha }_{M}(\lambda )\le {\displaystyle \sum _{k=1}^{r}{\alpha }_{{M}_{k}}(\lambda )}=\dfrac{r\lambda (1+\lambda ){q}^{2}{\left(C{\rm e}^{-\beta k}\right)}^{2}}{{\sigma }_{k}^{2}} . (29)

    根据尾界理论可得: {\delta _i} \geqslant {{\rm e}^{{\alpha _M}\left( \lambda \right) - \lambda {\varepsilon _i}}} 成立. 当 {\delta _i} = \mathop {\min }\limits_\lambda {{\rm e}^{{\alpha _M}\left( \lambda \right) - \lambda {\varepsilon _i}}} 时,算法M获得隐私损失最紧的上界.

    然后把式(29)带入 {\delta _i} = \mathop {\min }\limits_\lambda {{\rm e}^{{\alpha _M}\left( \lambda \right) - \lambda {\varepsilon _i}}} ,可知式(30)成立.

    \mathop {\min }\limits_\lambda {{\rm e}^{{\alpha _M}\left( \lambda \right) - \lambda {\varepsilon _i}}} \leqslant \mathop {\min }\limits_\lambda {{\rm e}^{\tfrac{{r\lambda (1 + \lambda ){q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{\sigma _k^2}} - \lambda {\varepsilon _i}}}. (30)

    \lambda = \dfrac{{{\varepsilon _i}\sigma _k^2}}{{2r{q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}} - \dfrac{1}{2} 时,不等式(31)成立.

    {\delta _i} \geqslant - \dfrac{{\varepsilon _i^2\sigma _k^2}}{{4r{q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}} + \dfrac{{{\varepsilon _i}}}{2} - \dfrac{{r{q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{4\sigma _k^2}} . (31)

    对不等式(31)两边同时取倒数后再取对数,可获得不等式(32).

    \log \left( {\dfrac{1}{{{\delta _i}}}} \right) \leqslant \dfrac{{\varepsilon _i^2\sigma _k^2}}{{4r{q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}} - \dfrac{{{\varepsilon _i}}}{2} + \dfrac{{r{q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{4\sigma _k^2}} . (32)

    由于δi \in (0,1],则不等式(33)成立.

    \dfrac{{r\lambda (1 + \lambda ){q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{\sigma _k^2}} - \lambda {\varepsilon _i} < 0 . (33)

    由于λ>0,则可以把不等式(33)放缩成 \dfrac{{r{q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{\sigma _k^2}} < {\varepsilon _i} . 然后,把 \dfrac{{r{q^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}}}{{\sigma _k^2}} < {\varepsilon _i} 带入式(32),进而获得不等式(34).

    \log \left( {\dfrac{1}{{{\delta _i}}}} \right) < - \dfrac{{{\varepsilon _i}}}{4} + \dfrac{{\varepsilon _i^2\sigma _k^2}}{{4r{q^2}{{(C{{\rm e}^{ - \beta k}})}^2}}} < \dfrac{{\varepsilon _i^2\sigma _k^2}}{{4r{q^2}{{(C{{\rm e}^{ - \beta k}})}^2}}} . (34)

    结合式(34)可获得不等式(35)成立.

    {\sigma _k} \geqslant \dfrac{{2qC{{\rm e}^{ - \beta k}}\sqrt {r\log (1/{\delta _i})} }}{{{\varepsilon _i}}} . (35)

    由于参数r是每个用户参与的最多轮数,则r与当前轮t以及全局总轮数T存在如下关系:

    Tt<r时,说明用户i最多参与的轮数为Tt. 此时, {\sigma _k} = \dfrac{{2qC{{\rm e}^{ - \beta k}}\sqrt {\left( {T - t} \right)\log (1/{\delta _i})} }}{{{\varepsilon _i}}} .

    Tt \geqslant r时,说明用户i在剩余的轮数Tt中可以完成r轮的迭代. 此时, {\sigma _k} = \dfrac{{2qC{{\rm e}^{ - \beta k}}\sqrt {r\log (1/{\delta _i})} }}{{{\varepsilon _i}}} .

    证毕.

    联邦学习算法的收敛性是衡量该类算法的主要标准之一. 为了说明ULDP-FED算法的收敛性,基于1.2节联邦优化问题,对优化函数给出相应假设:1)Fi(W)为强凸函数;2)Fi(W)满足 L-Lipschitz光滑,对任意的WW'存在 \left\| {\nabla {F_i}(\boldsymbol W) - \nabla {F_i}(\boldsymbol W')} \right\| \leqslant L\left\| {\boldsymbol W - \boldsymbol W'} \right\| ,其中L是大于0的常数;3)用户中的随机参数都有界 {E}{\text{[}}{\left\| {\nabla {F_i}(\boldsymbol W,s) - \nabla {F_i}(\boldsymbol W)} \right\|^2}{\text{]}} \leqslant \gamma _l^2 ,其中sDi;4)对于对全局参数和局部参数满足不等式 \dfrac{1}{n}\displaystyle\displaystyle\sum_{i = 1}^n \| \nabla {F_i}(\boldsymbol W) - \nabla F(\boldsymbol W) \|^2 \leqslant \gamma _g^2 ;5)用户本地损失函数的梯度对于任意的sDi满足 \left\| {\nabla {F_i}(\boldsymbol W,s)} \right\| \leqslant G . 根据上述5种假设,本文给出定理4.

    证明. 定理4. 在假设1)~5)的条件下,当 {\eta _l} \leqslant \dfrac{1}{{\sqrt {60} \varGamma L}} 时,算法ULDP-FED满足下列不等式:

    \begin{split} & \dfrac{1}{T}\displaystyle\sum_{t = 1}^T {{E}\left[{{\bar \alpha }^t}{{\left\| {\nabla F({\boldsymbol W^t})} \right\|}^2}\right]} \leqslant\\ &\quad O\left(\dfrac{1}{{{\eta _g}{\eta _l}\varGamma T}} + \eta _l^2{\varGamma ^2} + \dfrac{{{\eta _g}{\eta _l}}}{{\left| {{U^t}} \right|}} + \dfrac{{{\eta _g}{\sigma ^2}{{\left( {C{{\rm e}^{ - \beta k}}} \right)}^2}d}}{{{\eta _l}\varGamma {{\left| {{U^t}} \right|}^2}}}\right),\end{split}

    其中 \varGamma 表示本地完整的训练次数, {\eta _l} 表示本地学习率, {\eta _g} 表示全局学习率.

    {\bar \alpha ^t} = \dfrac{1}{n}\displaystyle\sum_{i = 1}^n {\alpha _i^t},\;\;\alpha _i^t =\dfrac{{C{{\rm e}^{ - \beta k}}}}{{\max \left(C{{\rm e}^{ - \beta k}},{\eta _l}\left\| {\displaystyle\sum_{e = 1}^\varGamma {g_i^{t,e}} } \right\|\right)}}.

    根据文献[18]与文献[23]可知,定理4成立.

    证毕.

    本文实验平台是4核Intel CPU(4 GHz),16 GB内存,Win7系统,代码采用Python语言实现,深度学习框架为PyTorch. 实验采用了2种数据集,分别是MNIST和CIFAR 10. 这2种数据集均是从PyTorch框架下载,其中MNIST为手写数字数据集,共70000张灰度图像,大小为28×28,类别为10分类0~9;CIFAR 10数据集是大小为32×32的彩色图片,共60000张,同样拥有10个类别,包括飞机、汽车、鸟类等. 2种数据集具体细节如表1所示.

    表  1  数据集的属性
    Table  1.  Characteristics of Datasets
    数据集 大小 通道数 训练集张数 测试集张数
    MNIST 28×28 1 60000 10000
    CIFAR 10 32×32 3 50000 10000
    下载: 导出CSV 
    | 显示表格

    为了模拟真实环境,我们将MNIST数据集非独立同分布地平均分配给1000个用户. 根据数据集的标签对数据集做了排序处理,并将其分成了200份,每份拥有300张图片,每个用户从其中任意选择2份,即每个用户拥有600条数据集并且只拥有0~9中的2个数字. 对于CIFAR 10数据集,将50000张数据图片随机均匀分配给1000个用户,平均每个用户500张数据图片. 这种随机均匀分配方式符合独立同分布.

    本文采用的机器学习算法是卷积神经网络(convolution neural network,CNN),由于MNIST和CIFAR 10数据集的通道数不同,分别设计了不同的网络结构. 对于MNIST数据集,网络模型由2个卷积层(卷积核大小是5×5,第1层通道是10,第2层通道是20)、2个池化层(池化窗口大小为2×2)、2个全连接层(神经元个数为50,激活函数为ReLu)以及1个softmax输出层组成. CIFAR 10数据集的模型结构则是由2个卷积层(卷积核大小是5×5,第1层通道是6,第2层通道是16,激活函数为ReLu)、2个池化层(池化窗口大小为2×2)、3个全连接层(神经元个数为120,84,激活函数为ReLu)以及1个softmax输出层组成. 由于MNIST和CIFAR 10数据集都是10分类问题,本文采用测试准确率(test accuracy)作为评价指标. 对于通信代价,则采用相同准确率下,对算法所需的迭代轮数进行对比.

    本文在实验阶段将ULDP-FED算法拆分为基于符号比较的DSDP-FedAvg算法和基于余弦比较的DCDP-FedAvg算法,并且引入了相似性比较、本地更新回溯以及动态衰减策略. 为了探索算法准确率的提高是源自于回溯策略还是动态衰减策略或是两者的共同作用,本文又设计了DDP-FedAvg,SDP-FedAvg,CDP-FedAvg算法用于消融实验. 各算法的具体细节如表2所示.

    表  2  对比算法介绍
    Table  2.  Introduction of Comparative Algorithms
    算法 算法介绍
    FedAvg[24] 原始的联邦平均算法,不添加噪声
    DP-FedAvg[10] 在FedAvg算法基础上增加了差分隐私保护
    NbAFL[13] 在FedAvg算法基础上增加了本地与全局加噪方法
    DP-FedAvg-blur[18] 在DP-FedAvg算法基础上增加了稀疏化操作
    DP-FedAvg-blurs[18] 在DP-FedAvg算法基础上增加了正则化与稀疏化操作
    DP-FedSAM[16-17] 在DP-FedAvg算法基础上引入SAM优化器
    DDP-FedAvg 在DP-FedAvg算法基础上引入了动态衰减策略
    SDP-FedAvg 在DP-FedAvg算法基础上引入了回溯策略,相似计算方式为符号
    CDP-FedAvg 在DP-FedAvg算法基础上引入了回溯策略,相似计算方式为余弦函数
    DSDP-FedAvg 在DP-FedAvg算法基础上引入了动态衰减和回溯策略,相似性计算方式为符号相似
    DCDP-FedAvg 在DP-FedAvg算法的基础上引入了动态衰减和回溯策略,相似性计算方式为余弦函数
    下载: 导出CSV 
    | 显示表格

    1)基于MNIST数据集的算法比较

    图5描述了DSDP-FedAvg,DCDP-FedAvg, DDP-FedAvg这3种算法的实验结果,实验参数设置为:用户采样率q=0.1,初始裁剪阈值C=2,算法迭代总轮数T=300,用户最多参与轮数r=50,ε=10,衰减因子\beta \in {0.02,0.04,0.06,0.08,0.10}. 图5(a)描述了DDP-FedAvg在MNIST数据集上的测试准确率的变化情况. 当β=0.06时,该算法的测试准确率达到0.9412. 其原因是当β过大时,对用户本地更新的裁剪过大,导致本地更新的原始信息损失过多;而β过小时,会导致本地更新所加入的噪声较大. 图5(b)描述了当ε=8,r改变时,DDP-FedAvg测试准确率变化情况. 当r=50,60,70时,该算法的测试准确率逐渐降低. 其原因是用户参与的轮数越多,每一轮分到的ε越小,导致添加的高斯噪音越多. 图5(c)描述了DDP-FedAvg在r=60,ε改变情况下的测试准确率变化情况. 从图5(c)可发现,随着ε增大,该算法的测试准确率逐渐增加.

    图  5  基于MNIST数据集的算法对比
    Figure  5.  Algorithms comparison based on MNIST dataset

    图5(d)~(f)与图5(g)~(i)分别描述了DSDP-FedAvg,DCDP-FedAvg在rετ变化情况下的实验结果. 图5(d) (g)描述了r=50,ε=10,β=0.06时,回溯阈值τ如何影响这2种算法的测试准确率. 从图5(d) (g)可知,τ分别取值0.25,0.006时,这2种算法的测试准确率最高,其原因是回溯操作节省了部分隐私预算. 图5(e) (h) (f) (i)描述了固定β=0.06,rε分别变化时,DSDP-FedAvg与DCDP-FedAvg测试准确率的变化情况. 结果显示,固定ε时,r值越大,算法的测试准确率越低;固定r时,ε值越大,算法的测试准确率越高. 其原因是ε值越大,每轮分到的预算越大.

    图5(j)~(l)描述了q=0.1,ε=8,r=50, 60, 70时,DSDP-FedAvg训练结束后,1000个用户所剩余的隐私预算ε和参与轮数r的分布情况. 假设用户按照顺序参与训练,用户最终剩余的轮数为20,30,40. 例如,在图5(j)中,当r=50时,用户的剩余轮数在20左右,这是由于MNIST数据集具有Non-IID属性,用户数据的差异会导致回溯发生.

    2)基于CIFAR 10数据集的算法比较

    图6描述了DDP-FedAvg,DSDP-FedAvg, DCDP-FedAvg这3种算法的实验结果,实验参数为:用户采样率q=0.1,初始裁剪阈值C=2,算法迭代总轮数T=500. 图6(a)描述了r=80,ε=10,\beta \in 0.02,0.04,0.06, 0.08,0.1 时,DDP-FedAvg的测试准确率变化情况. 当β=0.08时,该算法的测试准确率最高,达到0.5129. 图6(b) (c)描述了分别固定εr时,DDP-FedAvg的测试准确率表现. 当ε=10时,该算法的测试准确率随着r的增加逐渐降低. 当r分别取值80, 90, 100时,测试准确率为0.476,0.42070.3873. 图6(d)~(f)和图6(g)~(i)分别描述了DSDP-FedAvg和DCDP-FedAvg在rετ变化情况下的实验结果. 当r=100,ε=9,β=0.08时,DSDP-FedAvg的最优回溯阈值τ=0.4;当r=90,ε=10,β=0.08时,该算法的最优回溯阈值τ=0.02. 从实验结果中可以发现,在τ值的探索过程中,τ值的改变对算法准确率影响不是很显著,这是因为CIFAR 10数据集满足IID属性;而图5中的MNIST数据集具有Non-IID属性,τ值的改变对算法准确率的影响比较明显.

    图  6  基于CIFAR 10数据集的算法对比
    Figure  6.  Algorithms comparison based on CIFAR 10 dataset

    1)基于MNIST数据集的算法比较

    图7描述了表2中11种算法的实验结果. 图7(a)描述了q=0.1,r=50,噪音参数σ=10,β=0.02,0.04,0.06,0.08,0.1时,DDP-FedAvg的测试准确率变化情况. 当β=0.06时,该算法的测试准确率最高,其原因是β=0.06时高斯噪音误差与裁剪偏差最为平衡. 从图7(b)可以发现,σ增大会导致DDP-FedAvg的测试准确率降低,其原因是σ越大导致高斯噪音过大. 图7(c)~(f)描述了SDP-FedAvg和CDP-FedAvg准确率变化情况. 同样可知σ越大导致测试准确率越低. 图7(c) (e)分别给出了这2种算法最优回溯阈值τ=0.45和τ=0.03.

    图  7  基于MNIST数据集的算法对比
    Figure  7.  Algorithms comparisons based on MNIST dataset

    图7(g) (h)描述了β=0.06,τ=0.45,τ=0.03时,DSDP-FedAvg和DCDP-FedAvg测试准确率受σ变化的影响情况,σ越大导致添加的高斯噪音越多,进而测试准确率越低. 图7(i)描述了DP-FedAvg,NbAFL,DP-FedAvg-blur,DP-FedAvg-blurs,DP-FedSAM,DDP-FedAvg,SDP-FedAvg,CDP-FedAvg,DSDP-FedAvg,DCDP-FedAvg这10种算法的准确率对比情况. σ从6变化到14时,这10种算法的测试准确率整体呈下降趋势. DSDP-FedAvg和DCDP-FedAvg的测试准确率变化趋于平缓,其主要原因是这2种算法均同时采用了裁剪阈值动态衰减和回溯策略. 尽管NbAFL采用中心化与本地化高斯噪音处理本地模型与聚集模型、DP-FedAvg-blur与DP-FedAvg-blurs采用正则化与稀疏化处理本地模型、DP-FedSAM采用SAM优化器处理本地模型,然而这些方法均没有考虑裁剪阈值的衰减与隐私预算的节省. 图7(j)是在上述10种算法的基础上增加了FedAvg算法. 从实验结果可知,随着迭代轮数的增加,模型的测试准确率增加. 非隐私FedAvg的测试准确率高达0.9816,本文提出5种算法的测试准确率均在0.92以上. 特别是DSDP-FedAvg算法,在200轮测试准确率达到0.95,且优于其他9种算法. 其主要原因是裁剪阈值的动态衰减和本地梯度回溯能够有效提升整体模型精度. 图7(k)描述了DSDP-FedAvg,DCDP-FedAvg,DDP-FedAvg,DP-FedAvg测试准确率首次达到0.95时所需要的迭代轮数,分别为226,224,259与271. 相比于DP-FedAvg的轮数,DSDP-FedAvg,DCDP-FedAvg分别减少了45轮和47轮,进而减少了通信代价. 而NbAFL,DP-FedAvg-blur,DP-FedAvg-blurs,DP-FedSAM在300轮内均没有达到0.95的测试准确率. 图7(l)描述了不同ε取值下DCDP-FedAvg的测试准确率变化情况,结果显示ε增大,算法的测试准确率逐渐增大.

    2)基于CIFAR 10数据集的算法比较

    为了验证文中算法的健壮性,在CIFAR 10做了类似的实验,结果如图8所示. 表2中11种算法在CIFAR 10数据集上的变化趋势与MNIST数据集的类似. 然而,CIFAR 10与MNIST数据集的实际分布对回溯策略的效果影响较大. 由于CIFAR 10是由 10个类别彩色图片组成的数据集,本文提出5个算法的测试准确率在0.50左右,而与其对比分析的5个算法的测试准确率在0.40左右. 图8(i)描述了本文提出的5种算法与DP-FedAvg,NbAFL,DP-FedAvg-blur,DP-FedAvg-blurs,DP-FedSAM的测试准确率对比分析. 当噪音参数σ从6变化到14时,DSDP-FedAvg与DCDP-FedAvg的测试准确率趋于平滑,而剩余算法的精度趋于下降,其原因是σ引起的. 图8(j)描述了表2中11种算法关于迭代轮数对其测试准确率的影响. 从实验结果可知,随着迭代轮数的增加,模型的测试准确率增加. FedAvg的测试准确率达到0.5829, DSDP-FedAvg与DCDP-FedAvg的测试准确率均在0.50以上,DSDP-FedAvg算法的测试准确率在300轮时达到0.5524. 其原因是本文提出的算法采用了裁剪阈值动态衰减与梯度回溯策略. 图8(k)描述了在测试准确率为0.50时,算法DP-FedAvg,DDP-FedAvg,DSDP-FedAvg以及DCDP-FedAvg之间的训练轮数差异性. 结果显示当测试准确率达到0.50时,DSDP-FedAvg和DCDP-FedAvg只需要迭代120轮左右,而DP-FedAvg则需要迭代380轮左右. 而NbAFL,DP-FedAvg-blur,DP-FedAvg-blurs,DP-FedSAM在500轮内测试准确率均没有达到0.50. 图8(l)描述了不同ε取值下DCDP-FedAvg的测试准确率变化情况,结果显示ε增大其准确率逐渐增大,其原因是ε越大高斯噪音越小.

    图  8  基于CIFAR 10数据集的算法对比
    Figure  8.  Algorithms comparison based on CIFAR 10 dataset

    针对用户级别本地化差分隐私保护下联邦学习问题,本文结合现有方法存在的不足,提出了一种有效的联邦学习算法ULDP-FED. 该算法通过动态衰减策略修正每一轮本地更新的裁剪阈值,进而较好地平衡高斯噪音误差与裁剪偏差. 结合本地噪音更新之间的相似性,利用历史本地更新替代当前轮的本地更新,进而能够节省部分隐私预算. 从基本组合定理、强组合定理以及矩审计机制的角度证明ULDP-FED满足用户级别本地化差分隐私. 最后通过2种数据集验证了ULDP-FED算法的学习精度. 未来工作考虑瑞丽差分隐私保护下的联邦学习问题.

    作者贡献声明:张啸剑负责论文的算法设计、相关定理设置及论证,并负责整篇论文的撰写;张雷雷和张治政负责论文算法的实现与实验结果分析.

  • 图  1   全局更新符号相似性变化

    Figure  1.   Sign similarity changing of global updates

    图  2   基于MNIST与CIFAR 10的梯度变化

    Figure  2.   Gradient changing based on MNIST and CIFAR 10

    图  3   本地更新回溯示意图

    Figure  3.   An illustration of local update recall

    图  4   本地更新裁剪阈值选择

    Figure  4.   Selection of clipping threshold of local update

    图  5   基于MNIST数据集的算法对比

    Figure  5.   Algorithms comparison based on MNIST dataset

    图  6   基于CIFAR 10数据集的算法对比

    Figure  6.   Algorithms comparison based on CIFAR 10 dataset

    图  7   基于MNIST数据集的算法对比

    Figure  7.   Algorithms comparisons based on MNIST dataset

    图  8   基于CIFAR 10数据集的算法对比

    Figure  8.   Algorithms comparison based on CIFAR 10 dataset

    表  1   数据集的属性

    Table  1   Characteristics of Datasets

    数据集 大小 通道数 训练集张数 测试集张数
    MNIST 28×28 1 60000 10000
    CIFAR 10 32×32 3 50000 10000
    下载: 导出CSV

    表  2   对比算法介绍

    Table  2   Introduction of Comparative Algorithms

    算法 算法介绍
    FedAvg[24] 原始的联邦平均算法,不添加噪声
    DP-FedAvg[10] 在FedAvg算法基础上增加了差分隐私保护
    NbAFL[13] 在FedAvg算法基础上增加了本地与全局加噪方法
    DP-FedAvg-blur[18] 在DP-FedAvg算法基础上增加了稀疏化操作
    DP-FedAvg-blurs[18] 在DP-FedAvg算法基础上增加了正则化与稀疏化操作
    DP-FedSAM[16-17] 在DP-FedAvg算法基础上引入SAM优化器
    DDP-FedAvg 在DP-FedAvg算法基础上引入了动态衰减策略
    SDP-FedAvg 在DP-FedAvg算法基础上引入了回溯策略,相似计算方式为符号
    CDP-FedAvg 在DP-FedAvg算法基础上引入了回溯策略,相似计算方式为余弦函数
    DSDP-FedAvg 在DP-FedAvg算法基础上引入了动态衰减和回溯策略,相似性计算方式为符号相似
    DCDP-FedAvg 在DP-FedAvg算法的基础上引入了动态衰减和回溯策略,相似性计算方式为余弦函数
    下载: 导出CSV
  • [1]

    Kairouz P, McMahan H B, Avent B, et al. Advances and open problems in federated learning[J]. Foundations and Trends® in Machine Learning, 2021, 14(1/2): 1−210

    [2]

    Fang Minghong, Cao Xiaoyu, Jia Jinyuan, et al. Local model poisoning attacks to Byzantine-robust federated learning[C]//Proc of the 29th USENIX Security Symp (S&P 2020). Berkeley, CA: USENIX Association, 2020: 1623−1640

    [3]

    Cao Di, Chang Shan, Lin Zhijian, et al. Understanding distributed poisoning attack in federated learning[C]//Proc of the 25th Int Conf on Parallel and Distributed Systems (ICPADS 2019). Piscataway, NJ: IEEE, 2019: 233−239

    [4]

    So J, Güler B, Avestimehr A S. Byzantine-resilient secure federated learning[J]. IEEE Journal on Selected Areas in Communications, 2020, 39(7): 2168−2181

    [5]

    Zhu Ligeng, Liu Zhijian, Han Song. Deep leakage from gradients[C]//Proc of the 33rd Neural Information Processing Systems (NIPS 2019). Cambridge, MA: MIT, 2019: 14774–14784

    [6]

    Zhao Bao, Mopuri K R, Bilen H. iDLG: Improved deep leakage from gradients[J]. arXiv preprint, arXiv: 2001.02610, 2020

    [7]

    Nasr M, Shokri R, Houmansadr A. Comprehensive privacy analysis of deep learning: Passive and active white-box inference attacks against centralized and federated learning[C]//Proc of the 40th Symp on Security and Privacy (SP 2019). Piscataway, NJ: IEEE, 2019: 739−753

    [8]

    Liu Ruixuan, Cao Yang, Chen Hong, et al. Flame: Differentially private federated learning in the shuffle model[C]//Proc of the 35th Association for the Advance of Artificial Intelligence (AAAI 2021). Palo Alto, CA: AAAI, 2021: 8688−8696

    [9]

    Sun Lichao, Qian Jianwei, Chen Xun, et al. Ldp-FL: Practical private aggregation in federated learning with local differential privacy[C]//Proc of the 30th Int Joint Conf on Artificial Intelligence (IJCAI 2021). San Francisco, CA: Morgan Kaufmann, 2021: 1571−1578

    [10]

    McMahan H B, Ramage D, Talwar K, et al. Learning differentially private recurrent language models[J]. arXiv preprint, arXiv: 1710.06963, 2017

    [11]

    Geyer R C, Klein T, Nabi M. Differentially private federated learning: A client level perspective[J]. arXiv preprint, arXiv: 1712.07557, 2017

    [12]

    Wei Kang, Li Jun, Ding Ming, et al. User-level privacy-preserving federated learning: Analysis and performance optimization[J]. IEEE Transactions on Mobile Computing, 2021, 21(9): 3388−3401

    [13] Wei Kang, Li Jun, Ding Ming, et al. Federated learning with differential privacy: Algorithms and performance analysis[J]. IEEE Transactions on Information Forensics and Security, 2020, 15: 3454−3469

    Wei Kang,Li Jun,Ding Ming,et al. Federated learning with differential privacy:Algorithms and performance analysis[J]. IEEE Transactions on Information Forensics and Security,2020,15:3454−3469

    [14]

    Andrew G, Thakkar O, McMahan B, et al. Differentially private learning with adaptive clipping[C]//Proc of the 35th Neural Information Processing Systems (NIPS 2021). Cambridge, MA: MIT, 2021: 17455−17466

    [15]

    Wang Lun, Jia Ruoxi, Song Dawn. D2P-Fed: Differentially private federated learning with efficient communication[J]. arXiv preprint, arXiv: 2006.13039, 2020

    [16]

    Shi Yi, Wei Kang, Li Shen, et al. Towards the flatter landscape and better generalization in federated learning under client-level differential privacy[J]. arXiv preprint, arXiv: 2305.00873, 2023

    [17]

    Shi Yi, Liu Yingqi, Wei Kang, et al. Make landscape flatter in differentially private federated learning[J]. arXiv preprint, arXiv: 2303.11242, 2023

    [18]

    Cheng Anda, Wang Peisong, Jian Cheng et al. Differentially private federated learning with local regularization and sparsification[C]//Proc of the 36th Computer Vision and Pattern Recognition (CVPR 2022). Los Alamitos, CA: IEEE Computer Society, 2022: 10112−10121

    [19] Abadi M, Chu Andy, Goodfellow I, et al. Deep learning with differential privacy[C]//Proc of the 2016 ACM SIGSAC Computer and Communications Security(CCS 2016). New York: ACM, 2016: 308−318

    Abadi M,Chu Andy,Goodfellow I,et al. Deep learning with differential privacy[C]//Proc of the 2016 ACM SIGSAC Computer and Communications Security(CCS 2016). New York:ACM,2016:308−318

    [20]

    Frank M. Privacy integrated queries: An extensible platform for privacy-preserving data analysis[C]//Proc of the 53rd ACM SIGMOD Int Conf on Management of Data (SIGMOD 2009). New York: ACM, 2009: 19–30

    [21]

    Dwork C, Roth A. The algorithmic foundations of differential privacy[J]. Foundations and Trends in Theoretical Computer Science, 2014, 9(3/4): 211−407

    [22]

    Wang Luping, Wang Wei, Li Bo. CMFL: Mitigating communication overhead for federated learning[C]//Proc of the 39th Int Conf on Distributed Computing Systems (ICDCS 2019). Piscataway, NJ: IEEE, 2019: 954−964

    [23]

    Zhang Xinwei, Chen Xiangyi, Hong Mingyi, et al. Understanding clipping for federated learning: Convergence and client-level differential privacy[C]//Proc of the 19th Int Conf on Machine Learning (ICML 2022). New York: ACM, 2022: 26048−26067

    [24]

    McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Proc of the 20th Artificial Intelligence and Statistics (AISTATS 2017). Cambridge, MA: MIT, 2017: 1273−1284

  • 期刊类型引用(0)

    其他类型引用(1)

图(8)  /  表(2)
计量
  • 文章访问数:  300
  • HTML全文浏览量:  46
  • PDF下载量:  113
  • 被引次数: 1
出版历程
  • 收稿日期:  2023-03-16
  • 修回日期:  2024-01-07
  • 录用日期:  2024-03-05
  • 网络出版日期:  2024-03-06
  • 刊出日期:  2025-01-31

目录

/

返回文章
返回