[论文翻译]PPA: Preference Profiling Attack Against Federated Learning
文章目录
- 摘要
- 一、介绍
- 1、最先进的攻击方式
- 2、PPA
- 3、贡献
- 二、背景和相关工作
- 1、联邦学习
- 2、成员推理攻击
- 3、属性推理攻击
- 4、GAN攻击
- 5、联邦学习中的隐私推理攻击
- 三、PPA
- 1、威胁模型与攻击目标
- (1)威胁模型
- (2)攻击目标
- 2、PPA 概述
- 3、元分类器离线训练
- (1)算法1
- (2)算法2
- 4、用户本地模型训练
- 5、模型敏感度提取
- 6、偏好类别剖析
- 7、选择性聚合
- 四、实验
- 1、实验设置
- (1)数据集与模型结构
- (2)数据分布指标
- 2、攻击性能
- (1)CP 下的攻击准确率
- (2)CD 下的攻击准确率
- (3)UD 下的攻击准确率
- (4)ID 下的攻击准确率
- (5)本地数据量与类别数量
- (6)攻击准确率 vs 模型效用
- (7)攻击性能:算法 1 vs 算法 2
- 3、有选择聚合和无选择聚合的对比
- (1)模型敏感度差异比较
- (2)攻击性能对比
- (3)选择聚合参数 x 的取值
- 4、真实世界案例研究
- (1)案例一:顾客偏好推理器
- (2)案例二:用户心理特征推理器
- 5、PPA的可扩展性
- (1)用户数量
- (2)本地训练轮数(Epoch)
- (3)辅助数据数量
- 五、讨论
- 1、PPA的原理
- 2、防御措施
- 3、计算开销
- 4、复杂模型
- 六、总结
摘要
联邦学习(Federated Learning,FL)是一种在多个去中心化用户之间训练全局模型的方法,每个用户拥有本地数据集。与传统的集中式学习相比,FL 无需直接访问本地数据,从而旨在缓解数据隐私问题。然而,由于推理攻击(包括成员推理、属性推理和数据还原)等因素,FL 中仍存在数据隐私泄露的风险。
在本研究中,我们提出了一种新型的隐私推理攻击,称为偏好画像攻击(Preference Profiling Attack,PPA),该攻击能够准确描绘本地用户的私人偏好,例如:用户在线购物中最喜欢(或最不喜欢)的商品、自拍中最常用的表情等。总体而言,PPA 能够基于本地客户端(用户)的特征,推测其前 k 个偏好(即 top-k,k = 1, 2, 3,尤其是 k = 1 的情况)。
我们提出的核心观点是:本地用户模型的梯度变化对某一类别样本比例具有可区分的敏感性,尤其是对主类(多数类)和次类(少数类)。通过观察用户模型在某一类别上的梯度敏感性,PPA 能够推测该类别在本地数据集中的样本比例,进而揭示用户对该类别的偏好。FL 固有的统计异质性特征进一步助长了 PPA 攻击的效果。
我们在四个数据集(MNIST、CIFAR10、RAF-DB 和 Products-10K)上对 PPA 的有效性进行了广泛评估。结果显示,PPA 在 MNIST 和 CIFAR10 上实现了分别高达 90% 和 98% 的 top-1 攻击准确率。更重要的是,在真实的商业场景中(如购物:Products-10K)和社交网络场景(如表情识别:RAF-DB),PPA 在前者中获得了 78% 的 top-1 准确率(用于推测用户最常购买的商品,可用于商业竞争者),在后者中达到了 88% 的准确率(用于推测用户最常表现出的面部表情,例如“厌恶”)。在 Products-10K 和 RAF-DB 数据集上,PPA 的 top-3 攻击准确率最高可达 88%,top-2 准确率最高可达 100%。
此外,我们还表明,PPA 对 FL 的本地用户数量(测试最多为 100 个)和用户的本地训练轮数(测试最多为 20 轮)不敏感。尽管现有的对策(如 Dropout 和差分隐私)可以在一定程度上降低 PPA 的攻击准确率,但它们不可避免地会导致全局模型性能显著下降。
源代码可通过以下链接获取:https://github.com/PPAattack
一、介绍
由于传统的集中式深度学习需要将用户数据集中到一个地方,因此容易被滥用以泄露用户数据隐私,并可能违反国家法律法规,如《通用数据保护条例(GDPR)》[37]、《加州隐私权法案(CPRA)》[44] 和《中国数据安全法(CDSL)》[10]。
与集中式学习不同,联邦学习(Federated Learning,FL)通过使用本地用户模型的更新而非原始数据,从而规避了集中数据的需求,大大缓解了数据隐私泄露问题 [52],[55],[63],[5]。因此,FL 已成为最流行的分布式机器学习技术,广泛应用于对隐私高度敏感的场景,如智能医疗、社交网络和无线通信 [59],[45],[62],[35],[42],[9]。
1、最先进的攻击方式
尽管如此,FL 中的用户私密信息仍可能通过 推理攻击(Inference Attack) 被泄露 [33],如图1所示。
目前已知的三种隐私推理攻击包括:
成员推理攻击(Membership Inference Attack)[41],[34]:判断某条特定数据是否用于训练受害用户上传的模型;
属性推理攻击(Property Inference Attack)[13],[32]:推测某个目标属性是否存在于受害用户的本地数据集中;
生成对抗网络(GAN)攻击[19],[50]:基于受害者上传的模型逆向生成目标标签的图像。
在隐私敏感的应用中,这些攻击会导致用户的私人信息泄露,对用户隐私构成严重威胁 [30]。以 DNA 判定为例,成员推理攻击可以利用统计距离测量方法判断某已知个体是否存在于某个混合 DNA 样本中 [16]。
然而,上述推理攻击都无法描绘联邦学习中本地用户的数据偏好——这是攻击者极为关注的一类高度敏感信息,类似于在社交网络中对用户进行偏好画像 [6],[53],[3],[15]。
例如,在基于 FL 的推荐系统中 [54],[2],[39],攻击者可能会试图获取某个参与用户最喜欢或最不喜欢的物品信息,因为这些信息可以揭示一个购物平台的热销或滞销产品,对于商业竞争者极具吸引力。
2、PPA
核心观察:
模型在训练时会记忆数据分布特征,并在梯度变化中无意中表现出这种特征。具体来说,当模型在某个数据集上训练时,其梯度变化与每类样本的数量相关。
例如:如果某个类别的数据在本地数据集中不存在或数量很少,模型在初期无法对该类进行泛化,此时就会对相关神经元权重进行较大幅度的调整以最小化损失。
也就是说,模型在训练过程中的梯度变化(或敏感性)与类别的样本数量成反比:当样本量少时,梯度变化较大;样本量多时,梯度变化较小(详见第 V-A 节)。
此外,FL 具有两大固有特性:系统异构性和统计异构性[26],[21]。其中统计异构性意味着用户之间的数据分布本质上是不同的,这会放大本地数据集中不同类别之间的梯度敏感性差异,从而有利于实施 PPA 攻击。
实现 PPA 所面临的三大挑战:
如何提取并量化本地模型对每个类别的梯度敏感性?
如何以更细粒度提高梯度敏感性的精度?
在已量化的敏感性基础上,如何推断类别样本的占比?
我们的解决方案:
第一个挑战:我们对用户上传的模型进行迭代再训练,对每个类别使用少量样本,从而提取每类的梯度敏感性变化。样本占比越大,该类的梯度敏感性越低。
第二个挑战:我们采用策略性用户选择机制,即仅聚合部分用户的模型(目标用户所在子集),称为“选择性聚合(Selective Aggregation)”。这是为了避免全量聚合掩盖了个别用户的数据特征,从而使得攻击难以提取关键敏感性差异。通过控制聚合范围,攻击者可以在下一轮 FL 中获取感兴趣用户的更精细的敏感性信息,同时不降低全局模型性能,实现隐蔽攻击。
第三个挑战:我们构建了一个元分类器(Meta-classifier)攻击模型,通过输入用户上传模型和聚合模型的敏感性信息,自动推断目标用户的数据偏好。
3、贡献
(1)首次揭示一种新型隐私推理攻击 —— 偏好画像攻击(PPA),该攻击利用模型会“记住”本地数据偏好(如多数类/少数类),并在训练中留下“痕迹”的事实。通过设计的梯度敏感性提取算法和元分类器,PPA 能推断出用户本地数据集中对特定类别的偏好。
(2)设计了“选择性聚合”机制,显著提高 PPA 的攻击成功率。该机制聚合受害用户模型与其他在多数类(少数类)上具有相反敏感性的 x 个用户模型,以放大模型之间的敏感性差异,从而提升元分类器的攻击准确性。
(3)在多个隐私敏感任务上对 PPA 进行了全面评估,包括在线购物(Products-10K)和自拍分享(RAF-DB),并在 MNIST 和 CIFAR10 上做了大量验证。实验结果表明,PPA 能根据用户特征精确推断其数据集的 top-k 偏好(如 k = 1, 2, 3),且在增加 FL 用户数量及本地训练轮数后仍保持高效。我们还对 dropout [43] 和差分隐私 [12] 等非加密防御手段进行了测试,结果显示:只要不显著损害全局模型精度,PPA 攻击仍然非常有效。
二、背景和相关工作
1、联邦学习
FL 消除了从分布式用户处收集原始数据的问题。在 FL 中,每个用户在本地训练模型,仅上传模型参数,而不是原始数据,用于服务器计算每一轮的全局模型。FedAvg [31] 是 FL 中最著名的聚合机制。
在 FedAvg 中,第 t 轮的全局模型参数 θ a g g t \theta^t_{agg} θaggt的计算公式为:
其中, N u s e r N_{user} Nuser是参与 FL 的用户总数, D n D_n Dn是第 n 个用户用于本地模型训练的数据量, θ n t \theta^t_n θnt是第 t 轮该用户上传的模型参数。
此外,FedAvg 通常使用一个参数 C,表示每轮参与聚合的用户比例。该参数可以应对网络不稳定或用户退出等问题所引发的“慢节点”(straggler)问题。文献 [31] 指出,当采样率 C 设置为 0.1-0.2 时,FL 在计算效率和收敛速度之间取得良好平衡。因此,在本文的选择性聚合实验中,我们遵循前人工作 [31],通常将每轮参与聚合的用户比例设置为 x = 1–4(如果 N u s e r = 10 N_{user}=10 Nuser=10)以获得最佳实验效果。
2、成员推理攻击
Shokri 等人提出的成员推理攻击 [41] 利用模拟目标模型行为的“影子模型”训练攻击模型,以推断某条数据是否在训练集中。Salem 等人 [40] 优化了该攻击方法,将影子模型数量从多个减少到一个。Nasr 等人 [34] 针对集中式和 FL 环境提出了基于随机梯度下降(SGD)漏洞的白盒成员推理攻击。Zari 等人 [57] 还展示了在 FL 环境下的被动成员推理攻击。Chen 等人 [8] 提出了一种通用的成员推理攻击方法,用于攻击深度生成模型,并通过校准技术判断图像是否属于受害者训练集。Leino 等人 [24] 利用模型过拟合特性设计了白盒攻击方法,并证明其优于黑盒方法。Pyrgelis 等人 [38] 针对聚合的位置时间序列数据提出了基于博弈论的成员推理攻击任务,以推断位置隐私信息。此外,还有多项成员推理攻击 [20],[17],[18] 针对生成模型进行了白盒和黑盒攻击研究。
3、属性推理攻击
Ganju 等人 [13] 指出,全连接神经网络对每层节点的排列不变,并基于此设计了可从模型中提取属性信息的攻击方法。Melis 等人 [32] 在协同学习中提出了特征泄露攻击,可以推断出与联合模型目标属性无关的其他属性。Mathias 等人 [36] 研究了模型复杂度对卷积神经网络中属性推理攻击的影响,结果表明,即使模型复杂度不高,隐私泄露风险仍然存在。Gopinath 等人 [14] 提出一种推断前馈神经网络属性的攻击方法,使用输入空间中的凸谓词编码技术来提取输入属性。
4、GAN攻击
Hitaj 等人 [19] 首次提出针对 FL 的 GAN 攻击。攻击者伪装成普通用户参与训练,并通过 GAN 模拟其他用户的数据,从而重建目标训练集中图像的原型。Wang 等人 [50] 提出了一种基于 GAN 和多任务判别器的推理攻击方法,可在不干扰训练流程的前提下,在服务器端恢复目标用户的私有数据。
5、联邦学习中的隐私推理攻击
在 FL 中,已经有大量工作探索通过各种推理攻击泄露用户隐私,包括成员推理 [34], [57],属性推理 [32] 以及 GAN 攻击 [19], [50]。这些攻击能从本地模型中获取多种用户隐私信息。然而,目前尚无攻击能够推断用户数据集中的偏好类别(Preference Class)。
因此,本文提出的 PPA 攻击可视为一种新型的隐私推理攻击,且与现有方法互补,其定位如图 1 所示。
三、PPA
在本节中,我们首先定义了 PPA(偏好剖析攻击)的威胁模型并明确其攻击目标,随后概述了 PPA 的整体流程,并进一步介绍了其各组件的实现细节。为了便于接下来的描述和理解,我们主要使用多数类偏好剖析为例进行说明。但该攻击同样适用于少数类偏好剖析,并可进一步扩展至前 k 个偏好类剖析(top-k)。
1、威胁模型与攻击目标
(1)威胁模型
在联邦学习(FL)中,存在两类实体:本地用户与服务器(FL 协调者)。值得注意的是,这里的“用户”并不一定是人,也可以是机构或组织,例如商场或医院。
通常假设服务器是恶意的,其通过观察受害者上传的模型来执行 PPA,从而剖析受害者的偏好(如图 2 所示)。PPA 在明文域中执行剖析——即服务器聚合的是明文模型——这与现有的隐私推理攻击方式一致(参考文献 [41]、[34]、[13]、[32]、[19],如图 1 总结所示)。
以下是双方的能力和知识假设:
受害者(用户):
受害者是指其本地数据偏好被服务器或攻击者感兴趣的用户。这些用户参与联邦学习,协作训练全局模型,但不会直接共享本地数据。由于数据的统计异质性,不同用户每类样本数量不同,形成了各自多样化的数据分布。我们假设用户彼此不信任,且不会共享本地数据或模型参数。他们会真实地遵循联邦学习协议,并可能采用一些常见的隐私增强技术,如差分隐私和Dropout。
攻击者(服务器):
服务器的目标是分析受害者的偏好,尤其是她上传模型中的多数类信息。比如,商店基于用户购物记录参与联邦学习,服务器可借此分析用户的购物偏好。由于联邦学习通过本地训练而非上传数据实现隐私保护,因此在大多数推理攻击场景中 [34]、[32]、[19],服务器通常充当攻击者,试图从用户上传的模型中推测隐私信息。我们假设服务器已知用户训练数据的类别类型,并能从公共渠道获得一小部分覆盖所有类别的良性样本作为辅助数据集。该辅助数据集与任意用户的数据不交叉。这个假设符合多个已有工作 [34]、[61]、[7]、[11] 的前提。我们还假设服务器会有选择性地聚合部分本地模型用于更新全局模型,这是为应对网络不稳定或用户中途退出等“滞后用户”问题而采取的常见联邦学习策略 [26]、[27]。
(2)攻击目标
总体而言,PPA 是一种白盒攻击,攻击者可以同时剖析所有参与用户的偏好,目标如下:
攻击有效性:
即使用户应用了常见的隐私保护机制(如差分隐私和 Dropout),PPA 也能保持较高的攻击成功率,准确地剖析所有用户的偏好信息。
攻击隐蔽性:
确保全局模型的可用性与性能不受影响,准确率与普通 FL 模型相当。由于攻击采用了常规的模型选择策略(并未伪造模型),用户难以察觉自己的模型正遭受攻击。
攻击泛化性:
PPA 应具备良好的泛化能力,适用于不同联邦学习场景(例如数据异构性)、各种偏好剖析目标(如最偏好、最不偏好、前 k 偏好类)、不同用户数量以及不同本地训练轮数设置。
2、PPA 概述
PPA 基于这样一个关键观察:训练数据集中各类别样本比例的大小会直接影响模型梯度变化的敏感度。服务器作为攻击者,利用用户模型的敏感度提取来剖析用户的偏好类别,特别是对多数类和少数类的偏好,这在商业应用中非常重要,正如我们稍后评估所示。与此同时,用户所访问的全局模型不会降低其效用,同时通过选择性聚合用户模型的子集来促进 PPA,称为选择性聚合。总体而言,PPA 包括四个步骤,如图 3 所示,下面简要描述每个步骤,然后进行详细展开。符号总结见表 I。
-
用户本地模型训练:
用户在异构数据上进行本地训练并将训练好的模型上传到服务器。 -
模型敏感度提取:
服务器在接收到用户本地模型后,利用辅助数据集重新训练该模型,以提取每个类别的模型敏感度。 -
用户偏好剖析:
在获取模型敏感度后,使用元分类器预测用户的偏好类别。 -
选择性聚合:
服务器并非通过所有用户模型形成全局模型,而是对目标本地模型,只选择与目标模型相比,在其多数类或少数类上敏感度最高(或最低)的 x 个模型进行聚合。然后将这个聚合模型发送给目标用户——每个用户可能会接收到不同的聚合模型。这样做是为了提高 PPA 的攻击准确性。
第 3 步需要一个元分类器,这个分类器在离线阶段进行准备。换句话说,在多个用户之间的 FL 过程开始之前,服务器会基于辅助数据集 Daux 离线训练元分类器。接下来将详细展开每个步骤的实现细节及离线元分类器的训练过程。根据时间顺序,我们从元分类器的离线训练开始。
3、元分类器离线训练
(1)算法1
在联邦学习(FL)开始之前,服务器需要使用辅助数据集 D a u x D_{aux} Daux来训练一个元分类器(meta-classifier),该过程在算法 1 中有详细描述。
首先,服务器从 D a u x D_{aux} Daux中采样生成多个子集,以模拟不同用户的数据异质性分布。这个采样过程会重复多次。对于每一个采样子集,服务器训练一个影子模型(shadow model),并将该模型的偏好类别(即模型表现最好的类别)作为标签。
接下来,服务器将 Daux 划分为 N_label 个子数据集:
D a u x D_{aux} Daux→ { D a u x 1 D_{aux_1} Daux1, …, D a u x t D_{aux_t} Dauxt, …, D a u x N l a b e l D_{aux_{N_{label}}} DauxNlabel}
其中 N l a b e l N_{label} Nlabel是总类别数,每个子集仅包含一个类别的样本。每个 D a u x t D_{aux_t} Dauxt只包含属于第 t 类的数据,用于后续在每类数据上单独对影子模型进行再训练,从而提取模型在各类数据上的敏感度(尤其是梯度变化)。
最后,将提取的模型敏感度及其对应的偏好类别组成训练数据,用于训练元分类器。该分类器最终能够识别数据集的偏好类别(即用户主要数据类型)。
(2)算法2
然而,以上这种“直接方式”训练出的元分类器只适用于集中式深度学习,而不适用于协同式学习,尤其是在联邦学习场景下。原因在于,在联邦学习中,局部模型上传后会被聚合成全局模型,这个聚合过程会掩盖每个用户本地数据的分布特征,导致模型敏感度无法有效反映用户的偏好类别。
为了应对这一挑战,作者提出了改进版的算法 2,使得元分类器在联邦学习场景中也适用(具体的算法性能对比见第四章 B7 节)。
该改进主要包括两点:
配对聚合(Paired Aggregation)
连续两轮模型敏感度差分(Differential Sensitivity)
在联邦学习中的元分类器训练流程如下:
1)对于第 i 个影子模型,其偏好类别为 mc_i,服务器从其他影子模型中选择一个对该类别敏感度最高的模型进行配对聚合(即该类别是对方模型的“少数类”)。
2)将这两个模型进行聚合,形成一个新的聚合模型。然后,服务器对该聚合模型使用对应影子模型的数据集进行再训练,并提取该模型的第一轮敏感度 S1。
3)接着,服务器对这个聚合模型使用影子模型对应的数据进行一次局部更新(模拟下一轮联邦学习中客户端的训练),得到更新后的模型。再用该模型分别在每一类数据上训练,提取第二轮敏感度 S2。
4)最后,计算两轮模型敏感度的差值 |S1 - S2|,并将其与偏好类别 mc_i 一起作为训练元分类器的数据 ( |S1 - S2|, mc_i )。
注意事项:
1)在第 1 步中,如果目标类别是“少数类”,则选择该类别敏感度最低的模型进行配对;
2)S1 是从聚合模型中提取,而 S2 是从模拟本地训练后的模型中提取;
3)元分类器的输入为两轮模型敏感度的差值 |S1 - S2|,该输入可以在实际联邦学习过程中通过提取用户上传模型的敏感度获得。
为了进一步提升元分类器的分类准确性,作者提出在训练阶段引入**选择性聚合(selective aggregation)**策略,以显著提升 S1 的敏感度变化值。而 S2 对选择性聚合的敏感度相对较低,因此可以制造出更明显的 |S1 - S2| 差异,从而提高用户偏好分类的准确率。
4、用户本地模型训练
在实践中,FL 涉及多个用户,并且用户可能位于不同地区,这意味着存在统计和系统异质性。PPA 相关的统计异质性可能来源于收集的个性化数据[58]。因此,每个用户的训练集都有其独特的偏好类别(类别)。如图 3 中步骤(1)所示,每个用户的本地数据都有其独特的数据分布。每个用户都有一个多数类(mcn)和一个少数类,即数据集中样本最多(最少)的类别。例如,在图 3 中,标签 1 和标签 6 分别是 user1 和 usern 的多数类,而标签 4 和标签 7 分别是 user1 和 usern 的少数类。在 FL 中,本地模型可能会在上传到服务器之前进行多个训练轮次。PPA 自然能够容忍这种变化,这种变化与用户采用的训练轮数无关(见 IV-E2 节)。本地训练之后,每个用户会更新模型参数 θ n t θ^t_n θnt并在第 t 轮将其上传到服务器。本地模型在不经意间记住了相应用户的偏好,这是元分类器后续要分析的私人信息。
5、模型敏感度提取
为了量化模型对偏好类别的敏感度,我们利用本地用户模型重新训练前后的梯度变化的绝对值之和,表示为:
其中, θ n t θ^t_n θnt 和 θ n t ′ θ^{t'}_n θnt′ 分别表示第 t 轮上传和重新训练的用户 n 的模型参数向量,L(·) 表示损失函数。给定一个上传的本地模型,服务器根据重新训练数据集{ D a u x 1 D_{aux_1} Daux1, …, D a u x t D_{aux_t} Dauxt, …, D a u x N l a b e l D_{aux_{N_{label}}} DauxNlabel}中的 D a u x t D_{aux_t} Dauxt对其进行重新训练,以提取每个类别的模型敏感度。 θ i ′ \theta_i' θi′表示重新训练后的模型。该过程的详细步骤见算法 3。
6、偏好类别剖析
我们在 FL 的训练阶段启动 PPA。在此阶段,服务器利用已训练的元分类器,在提取上传的模型敏感度后,剖析用户的偏好类别。元分类器根据连续两轮之间的差分模型敏感度来剖析偏好类别。为提高攻击准确性,我们考虑了两个方面。
首先,仅根据一个 FL 轮次提取的敏感度来判断用户的偏好类别可能不准确。因此,我们仅在多个连续轮次中,元分类器预测的偏好类别完全相同的情况下,才确定用户的偏好类别。这个连续的轮次数称为 T h r o u n d Th_{round} Thround。当元分类器连续 T h r o u n d Th_{round} Thround轮 FL 轮次输出相同的偏好类别时,这个偏好类别会被锁定,PPA 针对该用户的攻击完成,这意味着不再需要对该用户进行监控。该过程的详细步骤见算法 4。
其次,FL 的聚合过程可能会使推断攻击变得更加困难,因为全局模型会合并所有用户的数据特征。在一个或多个 FL 轮次中,给定用户的数据特征会被掩盖和淡化,从而阻止 PPA 准确提取反映用户本地数据特征的模型敏感度。为了解决这个问题,我们提出了选择性聚合,具体方法如下。
7、选择性聚合
PPA(偏好剖析攻击)在实施选择性聚合时面临两个挑战:
1)如何防止用户模型的敏感度在多轮联邦学习(FL)聚合之后被削弱或掩盖?
2)如何进一步放大用户模型的敏感度,以更好地反映用户本地数据的特征?
在选择性聚合中,针对某个目标用户,服务器会选择另外 x 个用户的模型,这些用户的多数类(或少数类)与目标用户相反,其模型对该类的模型敏感度也相反(也就是说,对多数类的模型敏感度较低,对少数类的敏感度较高——因为较低的敏感度对应的是多数类)。然后,将这 x + 1 个模型聚合为一个全局模型,并仅发送给目标用户,如图 4 所示。而对于攻击者不关注的其他用户,则继续采用正常的聚合结果进行发送。
在下一轮的元分类器剖析前,服务器会提取这些经过选择性聚合后的模型的敏感度。由于以下两个原因,选择性聚合对本地用户来说是“隐形的”:
首先,用户只与服务器通信,而不直接与其他用户通信,并且这种通信通常通过标准的安全通信通道进行。这对于防止隐私泄露(例如财产推理攻击 [32])非常重要,因为受害用户的本地模型不会直接暴露给恶意用户,从而避免用户之间的攻击行为。
其次,FL 实际上可以向不同的用户分发不同的全局模型,例如个性化 FL [29] 就使用聚类技术将用户分组,并向不同组的用户分发不同的全局模型。因此,使用户对是否使用了选择性聚合不知情是可行的。我们在后续实验中也会展示,从用户的角度来看,全局模型预测本地数据的准确率(即模型效用)在使用与不使用选择性聚合的情况下是相似的。
元分类器的输入是连续两轮之间的模型敏感度差值。我们将其定义为差分模型敏感度(DS),计算公式如下:
其中, S a g g n t − 1 S^{t-1}_{agg_n} Saggnt−1表示第 t-1 轮中聚合模型的敏感度,而 S n t S^t_n Snt表示第 t 轮中用户更新后模型的敏感度。
通过选择性聚合,可以显著提高每个模型的 S a g g n t − 1 S^{t-1}_{agg_n} Saggnt−1(即前一轮的敏感度),而 S n t S^t_n Snt相对稳定,与未使用选择性聚合时相当。因此,每一轮的 DS(差分模型敏感度)将大幅提升。
由于元分类器是基于 DS 训练的,因此 DS 越大,剖析准确率越高。
需要注意的是,为了最大化下一轮 PPA 的 DS,服务器会对不同用户发送不同的聚合模型来实现选择性聚合。
四、实验
在本部分中,我们通过实验评估 PPA(偏好剖析攻击)的效果,并分析其在联邦学习(FL)中基于四种数据异质性指标(CP、CD、UD 和 ID)下的攻击性能。此外,我们还在多种不同的设置下验证了选择性聚合的有效性。同时,我们还对 PPA 的可扩展性进行了验证与评估。
1、实验设置
在我们的实验中,普通的个人计算机作为联邦学习中的用户节点,其配置一致(因为系统异质性并非我们关注的重点):配备了英特尔 i5 四核处理器(主频为 3.20 GHz)和 12GB 内存。作为联邦学习中的聚合节点(也即攻击者),我们使用了 H3C UIS 3010 G3 8SFF 服务器,其配置为:两个英特尔 Xeon 银牌 4214 处理器、128GB 内存,以及两个 480GB 的固态硬盘。
为了评估 PPA 推理攻击的有效性,我们在四个不同的数据集上开展了实验。特别地,Products-10K 被用来代表商业场景,而面部表情数据集 RAF-DB 代表了个人隐私信息的场景。
(1)数据集与模型结构
我们选择了四个数据集用于 PPA 的评估。MNIST 和 CIFAR10 用于全面展示 PPA 在四种数据异质性指标下的性能以及选择性聚合的效果。Products-10K 和 RAF-DB 是现实世界数据集,分别用于展示 PPA 在购物商业场景和社交网络私密信息场景下的攻击性能,以及验证 PPA 的可扩展性。
MNIST 是一个手写数字图像数据集,数字范围为 0 到 9 [23]。该数据集中的图像为 28×28 的灰度图像,包括 60,000 张训练图像和 10,000 张测试图像。
CIFAR10 是一个用于通用物体识别的图像数据集 [22]。包含 10 个类别的彩色图像,每张图像大小为 32 × 32 × 3(RGB),共有 50,000 张训练样本和 10,000 张测试样本。
Products-10K 是由京东 AI 研究院构建的产品识别数据集,包含大约 10,000 种中国消费者常购买的商品,涵盖服饰、食品、保健、家居等多个类别 [4]。我们使用该数据集来模拟现实世界中的联邦学习购物场景,并评估我们攻击的效果。
RAF-DB(Real-world Affective Faces Database)是一个大规模的现实世界人脸表情数据集 [25],包含约 30,000 张具有高度多样性的人脸图像。该数据集中图像的年龄、性别、种族、头部姿态、光照条件、遮挡情况、图像后处理等方面具有很大差异。
模型结构方面:
MNIST 的训练模型为一个卷积神经网络(CNN),包含两个卷积层,后接一个最大池化层,再接一个全连接层。
CIFAR10、Products-10K 和 RAF-DB 使用的模型结构包含四个卷积块:每个卷积块由一个卷积层和一个最大池化层组成,最后连接两个全连接层。
我们指出,这些模型结构与之前主流的隐私推理攻击工作保持一致。特别是,以往最复杂的模型结构(如 [13], [19], [32], [41] 所使用的)通常是包含三个卷积层的 CNN。PPA 同样适用于更复杂的模型结构(例如 VGG),这一点我们将在第 V-D 节中进一步验证。
(2)数据分布指标
我们使用以下四种指标来模拟联邦学习(FL)中用户本地数据的统计异质性。总体而言,前两个指标用于评估在不同数据分布情况下 PPA 的攻击性能,而后两个指标用于验证**选择性聚合(selective aggregation)**的适用性。
需要注意的是,全面地实验这四种数据分布指标的所有组合是不可行的,因此我们选择了常见的、具有代表性的组合(每个指标的取值范围都经过了仔细设计,例如:CP、CD、UD 分别从 10% 到 100%)。
2、攻击性能
在本节中,我们使用 CIFAR10 和 MNIST 数据集,对 PPA 在上述四个异质性指标下的攻击性能进行了全面评估。PPA 主要是针对**多数类(majority class)**进行评估。如果元分类器(meta-classifier)预测出的多数类不是目标用户的真实多数类,即便该类是第二多数类,也会视为一次失败的攻击尝试。不过需要指出的是,在实际应用中,推测出第二多数类依然对攻击者具有重要价值,比如商场中最受欢迎与次受欢迎的商品排名。在 IV-D 节 中评估了这种 top-k 轮廓识别准确率(k≥1)。
除非另有说明,所有实验均在 10 个 FL 用户下进行。每个用户本地数据集包含 4,000 个样本。在四个异质性指标下,我们进行了多轮评估,以全面涵盖 FL 中的一般数据分布情况 [31], [32], [34]。在服务器端,每个类别有 150 个辅助样本,这些样本与任何用户的数据无重叠。在 PPA 过程中,服务器采用选择性聚合(其与普通聚合的对比在 IV-C 节中给出)。
(1)CP 下的攻击准确率
我们将 CP 从 100% 逐渐降低至 10%。较高的 CP 值意味着用户偏好的类别样本更多,从而加大了该多数类与其他类别之间的模型敏感度差距。因此,攻击准确率会提高,因为元分类器更容易区分多数类。MNIST 和 CIFAR10 的结果如图 5(a) 所示,验证了这一趋势。同时,CIFAR10 的性能优于 MNIST,因为其特征更丰富,导致模型敏感度的变化更显著。当 CP 高于 40% 时,各种情况下的攻击准确率均超过 90%。
(2)CD 下的攻击准确率
我们将 CD 从 10% 增加至 100%,MNIST 与 CIFAR10 的实验结果如图 5(b) 所示。当 CD 接近 0% 时,即多数类与第二多数类样本数接近,PPA 准确率较低。这是因为模型对多数类和第二多数类的敏感度相近,使得元分类器难以判断真实的多数类。但随着 CD 增大,攻击准确率显著提高。
从 CP 和 CD 的实验结果可以看出,PPA 能在较广的数据异质性范围内有效识别用户偏好。此外,特征更丰富的数据(如 CIFAR10)更有利于元分类器执行 PPA 攻击。
(3)UD 下的攻击准确率
UD 表示不同用户群体之间偏好差异的程度,反映了 FL 中的整体偏好趋势。它可能影响每轮选择性聚合中用户模型的选择,因此我们评估了不同 UD 情况下的攻击准确率,如图 5© 所示。无论用户偏好更一致(UD 接近 1)还是更分散(UD 接近 0),PPA 都能准确推测出每个用户的偏好类别。
(4)ID 下的攻击准确率
为验证选择性聚合在数据不均衡情况下的适用性,我们评估了 PPA 在不同 ID 下的表现,如图 5(d) 所示。实验结果表明,用户持有的数据量不会影响 PPA 的有效性。
从 UD 和 ID 的评估结果中可以验证,PPA 利用选择性聚合在可扩展性方面的表现良好。
(5)本地数据量与类别数量
在前述实验中,本地数据量固定为 4,000,类别数为 10。在本部分实验中,我们保留 CP 为 40%、CD 为 50%,对这两个参数进行变动。具体来说:
本地数据量从 2,000 增加到 4,000,步长为 500;
用户本地数据类别数从 1 增加到 9,步长为 2。
每种设置重复实验 10 次。图 6 显示了攻击准确率的结果。结果表明,PPA 的性能与用户本地类别数无关。至于本地数据量,当样本特征较贫乏(如 MNIST)时会对准确率有一定影响,但在特征更丰富的数据(如 CIFAR10)下,数据量对攻击准确率影响极小。
(6)攻击准确率 vs 模型效用
为了提高隐蔽性,PPA 不应影响用户下载的全局模型的效用(准确率),否则用户可能注意到训练过程中模型性能的异常(如由选择性聚合引起的准确率变化)。因此,我们在每一轮中评估用户模型的效用(准确率),同时记录攻击性能。
如表 II 总结(CP=40%,CD=50%),在攻击性能方面,我们评估了元分类器的训练与测试准确率;在模型效用方面,我们比较了用户上传前的本地模型准确率与下一轮接收到的全局模型准确率。实验结果显示,在数据异质性广泛存在的情况下,PPA 在 MNIST 和 CIFAR10 上的攻击准确率分别为 0.894 和 0.967。最关键的是,在有无攻击(选择性聚合)情况下,用户模型的效用几乎没有差别,这意味着用户无法仅凭模型效用察觉 PPA 的存在。
此外,我们还比较了有无攻击情况下,用户模型准确率随训练轮数变化的趋势,如图 7 所示。实验表明,PPA 并未篡改用户模型参数,因此模型准确率变化趋势无差异,从而满足了攻击的隐蔽性要求。
(7)攻击性能:算法 1 vs 算法 2
为了验证 PPA 从算法 1 升级为算法 2 后性能的显著提升,我们评估了两种算法下元分类器的损失与准确率,结果如表 III 所示。实验确认算法 2 中的元分类器具有更低的损失和更高的准确率。
在 FL 场景下,算法 2 利用选择性聚合来提取数据子集(DS)用于训练元分类器,因而更适用于区分多个用户偏好类别的场景。
3、有选择聚合和无选择聚合的对比
到目前为止,所有实验均在使用选择聚合的情况下进行。我们尚未验证选择聚合相对于不使用选择聚合、而采用常规聚合算法(即 FedAvg)时在效率上的提升。接下来将从四个方面对比 PPA 在有无选择聚合时的性能表现:
(1)模型敏感度差异比较
每轮联邦学习(FL)包括两个步骤:服务器端的模型聚合和用户端的本地模型更新。在每轮中,我们分别在选择聚合和 FedAvg 聚合下提取多数类的模型敏感度,如图 8(a) 和 (b) 所示。随后,我们也比较了两种聚合方式下的模型敏感度差异,如图 8© 和 (d) 所示。
从图 8(a) 和 (b) 可以看出,每一轮选择聚合都会提升模型的敏感度,而接下来的本地训练则再次降低模型敏感度。虽然 FedAvg 聚合下用户上传模型的模型敏感度(记为 𝑆 𝑛 a g g n 𝑆_𝑛^{aggn} Snaggn
与选择聚合方式差异不大,但聚合模型的敏感度(记为 𝑆 a g g n t − 1 𝑆_{aggn}^{t-1} Saggnt−1)之间的差异则明显更大。
由于差分敏感度 Δ S n t = S a g g n t − 1 − S n t ΔS^t_n=S^{t-1}_{aggn}-S^t_n ΔSnt=Saggnt−1−Snt,所以选择聚合方法下的 S n t S^t_n Snt被显著放大。图 8© 和 (d) 清楚地表明了选择聚合方法的 S n t S^t_n Snt始终高于 FedAvg。
(2)攻击性能对比
图 9 展示了默认 FedAvg 聚合 [31] 和选择聚合下 PPA 的准确率对比。我们在这两种模型聚合方式下设置了 5 组实验。实验设置如下:FL 中有 10 个用户,每个用户拥有 6,000 条 MNIST 数据,服务器端每类有 150 条辅助样本,CP 和 CD 随机取值在 40% 到 60% 之间,选择聚合中的参数x=4。
实验结果证实:与默认的 FedAvg 相比,选择聚合下的 PPA 拥有更高的攻击准确率。因为元分类器是基于差分敏感度(DS)来分析用户偏好的,相较之下,选择聚合可以在每一轮中增强 DS,从而提升元分类器的性能。
(3)选择聚合参数 x 的取值
本部分评估 PPA 性能与选择聚合参数x的关系。x表示每轮选择用于聚合的模型数量(参见图4)。我们在 MNIST 和 CIFAR10 数据集上进行了实验,总用户数为 12,每个用户拥有 4,000 条样本。图 10 展示了x从1到11时的攻击准确率。
实验表明:当x取 1–4 时攻击效果最佳,随着聚合模型数量的增加,攻击成功率下降。这一趋势并不难理解,例如当x=11时,选择聚合退化为默认的 FedAvg 聚合。在此情形下,攻击准确率主要取决于特定用户的数据分布,攻击者难以通过调整聚合方式增强模型敏感度。
因此,直观的模型聚合带来的偏好敏感度变化较小,使得元分类器更难准确推断用户偏好。在此背景下,应根据 FL 中用户数量合理设置
x,以实现最佳攻击效果。
4、真实世界案例研究
除了前述的 MNIST 和 CIFAR10 实验任务,我们还利用两个更贴近现实场景的案例来模拟 PPA(偏好推理攻击)所带来的潜在威胁。第一个案例中,PPA 试图推测热销商品;第二个案例中,PPA 推断用户情绪。
值得注意的是,在此部分我们进一步推理用户的前 k 个偏好类别(包括主类和次类)。这是因为在真实场景中,前 k 个偏好类别就已足以暴露用户数据分布的隐私信息。因此,我们评估的是元分类器输出的 top-k 类别,结果汇总在表 IV 中。实验细节如下所示。
注意:这里的 top-k 准确率与图像分类任务中常见的 top-k 有所不同。我们要求预测的 top-k 类别与真实 top-k 类别完全一致,但不关注这 k 个类别的排序。例如,如果真实偏好类是 A、B、C、D、E(按偏好降序排列),那么预测为 {(A,B,C)、(A,C,B)、(B,A,C)} 都被认为是正确的。
(1)案例一:顾客偏好推理器
我们模拟了一个基于 Products-10K 数据集的联邦学习场景,该数据集包含 10 家商店,每家商店有 4,000 条购物记录。实验中设定的 CP(分类偏好)为 35%,CD(类区分度)为 32.5%,服务器端共拥有 1,500 条辅助数据。
这 10 家商店协同训练一个全局模型。我们随机选择其中一家商店作为 PPA 的攻击目标,试图推理该商店的购物偏好(例如热销商品可能属于商业隐私)。我们提取其本地数据的 top-k(即 k = 2, 3)偏好类别。实验结果显示,该商店用户的 top-3 类别为 Food(食品)、Clothing(服装)和 Cosmetics(化妆品);而 PPA 最终输出的是 Food、Cosmetics 和 Clothing,攻击准确率为 78%。因此,在不考虑顺序的前提下,PPA 能以 78% 的准确率推断出用户的购物习惯。由此可见,服务器可借此推送精准广告,甚至将此信息售卖给竞争对手。
(2)案例二:用户心理特征推理器
本实验使用 RAF-DB 表情数据集,设定的 CP 为 67.5%,CD 为 62.2%。服务器试图从用户上传的表情模型中推测其个性特征。例如,当 PPA 发现上传模型中以负面情绪图像为主时,便可能推测该用户具有负面性格。
实验结果列于表 IV。被攻击用户的图库中,最常见的两种情绪是“厌恶”和“中性”,由此可推断该用户倾向于消极性格。这说明即便用户只是用日常照片参与 FL 训练,PPA 仍可潜在地对其心理特征进行分析。
5、PPA的可扩展性
我们进一步探讨了影响 PPA 在联邦学习中可扩展性的三个关键因素:
1)联邦学习参与用户数;
2)本地训练轮数(epoch);
3)攻击者所持有的辅助数据数量。
(1)用户数量
我们将 FL 中的用户数量设置为 10、50 和 100,进行评估。需要指出的是,这里评估的 100 个用户,已超出目前主流的正交隐私攻击研究中所考虑的最大用户数(如 [19] 中最多为 41)。
我们基于 RAF-DB 数据集进行实验,每个用户有 4,000 条训练数据,CP 为 62.5%,CD 为 57.5%,每类样本有 100 条辅助数据。在此设定下,我们对具有不同偏好类别的 7 位用户进行攻击。实验结果如表 V 所示,结果表明:PPA 的攻击性能对用户数量不敏感,即使在 100 个用户的规模下,攻击准确率仍高达 83.2%。
这主要是由于选择聚合机制会将受害者模型与最有利于攻击的其他用户模型进行聚合,而与用户总数无关。此外,我们也验证了在大规模用户场景中,PPA 并不会影响全局模型的效用——如表 V 所示,在 50 和 100 个用户时,全局模型在有无 PPA 情况下的性能基本一致。
(2)本地训练轮数(Epoch)
用户可自行设定本地训练轮数。在实验中,我们评估 PPA 对本地训练轮数的敏感性。仍以 RAF-DB 为任务数据集,辅助数据每类 150 条,每个用户拥有 3,000 条训练数据,CP 为 62.5%,CD 为 56%。
首先我们将本地训练 epoch 设为 1,并随机选择 4 位用户进行攻击;随后将 epoch 增加至 20。实验结果如表 VI 所示。
可以看到,即使用户将本地训练轮数增至 20,PPA 的攻击性能仍较为稳定,仅有轻微波动(例如用户 4 的准确率有所上升),总体没有明显趋势。因此,我们的实证结论是:PPA 的攻击效果与本地训练 epoch 数无关。
(3)辅助数据数量
提取模型敏感度需要使用辅助数据。辅助数据越多,样本特征越全面,模型敏感度越接近真实情况,因此理论上,辅助数据越多,攻击准确率越高。
我们在相同实验设定下,测试不同数量辅助数据对 PPA 性能的影响。我们分别设置每类辅助数据为 20、100 和 150,并记录攻击准确率,结果如表 VII 所示。
实验确认:辅助数据越多,PPA 表现越好。即使仅有 20 条辅助数据时,攻击准确率仍达到 67.5%(对比盲猜准确率仅为 14.3%)。综合来看,在我们的实验中,每类 100 条辅助数据即可支持 PPA 获得良好性能。
五、讨论
1、PPA的原理
我们通过更多实验进一步探讨了 PPA 的洞察力。此外,我们还展示了即使本地用户应用了常见的隐私保护机制(尤其是差分隐私和 dropout),PPA 依然有效。接着,我们评估了 PPA 的开销,并展示了其在攻击复杂模型时的实用性。
A. PPA 的原理
通常,我们发现用户的模型在训练过程中会“记住”数据集的偏好类别(多数类或少数类),并通过梯度变化体现出来。神经网络的梯度值决定了模型的收敛方向,是促使模型拟合的一个重要指标。我们发现,这种变化可以被用来推断模型是否对某些数据敏感。为验证这一点,我们进行了系列初步和详细的实验,具体内容如下所述。
为简化研究,我们首先聚焦于一个二分类任务。我们基于 MNIST 数据集修改训练集中 A 类和 B 类的分布比例,然后在这些样本上重新训练模型,并提取其梯度变化。具体来说,我们将训练集中 A 和 B 的比例从 1:9 逐步调整到 9:1,训练 9 个二分类器,每个模型的训练集总量为 6000。模型训练完毕后,我们用 A 类和 B 类样本分别对模型进行微调,再记录模型对 A 和 B 的敏感性,如图 11(a) 所示。实验结果显示,模型敏感性与给定类别样本数量呈线性相关。
在简化的二分类之外,我们还提取了 MNIST 和 CIFAR10 模型中每个类别的模型敏感性,如图 11(b) 和图 11© 所示。在此实验中,我们分别基于 MNIST 和 CIFAR10 训练两个模型,每个训练集为随机选取的 6000 个样本,以模拟 FL 用户的数据分布。其中,MNIST 中的类 1 和 CIFAR10 中的 Bird(鸟)类为多数类,占比 50%,而 MNIST 中的类 8 和 CIFAR10 中的 Airplane(飞机)类为少数类,占比 2%,其余类均匀分布。我们确认,多数类与最小的模型敏感性对应,而少数类对应最大模型敏感性。
为了进一步可视化,我们从模型的最后一个卷积层中随机选择 36 个神经元,展示在用多数类和少数类样本微调后它们的梯度变化,绘制为 6×6 的灰度图。如图 12 所示,颜色越深表示梯度变化越大。图 12(a) 为多数类样本微调后的梯度变化,图 12(b) 为少数类样本微调后的梯度变化。从图中可以看出,多数类的梯度变化明显较小。
神经网络中的梯度值决定了模型的收敛方向,是引导模型拟合的关键因素,可本质上反映模型对某些数据分布特征的敏感性。更具体地说,训练集中的每个样本都通过随机梯度下降算法参与最小化模型损失。对于在训练集中不存在或数量较少的数据点,模型通常泛化能力较差,特别是在训练初期。因此,这些数据点将对模型权重产生更大的梯度影响,以最小化损失。这其实也是联邦学习采用模型聚合的重要动因:当各个用户拥有不同数据分布时,服务器可以通过聚合所有本地模型来使全局模型适配所有类别的数据。因此,FL 中这种天然的数据异质性特征极易受到 PPA 攻击的利用。
2、防御措施
Dropout 和差分隐私是形式化验证、程序合成及深度学习隐私保护领域广泛采用的两种技术。在此,我们研究了当它们被用于防御 PPA 时的攻击准确率和模型可用性。如表 VIII 所示,实验结果表明,在采用差分隐私时,PPA 元分类器的准确率会随着隐私预算 ε 的减小而降低(ε 越小,隐私保护越强);而在使用 dropout(如 CIFAR10 场景)时,准确率保持稳定。在前一种情况下,即使隐私预算低至 1.21,我们的攻击准确率依然能达到 57%(相比之下,随机猜测准确率仅为 10%)。
然而,这些保护机制会严重影响模型的可用性(即准确率)。实验结果也证明了:更强的隐私保护水平(更小的 ε)会导致模型性能下降。虽然 dropout 和差分隐私在一定程度上缓解了用户偏好泄露问题,但这种防护代价巨大。
此外,用户可能会尝试检查发送给其他客户端的全局模型是否相同,因为 PPA 使用了选择性聚合策略,会向不同用户发送不同的全局模型。然而这种检查并非总是可行。一方面,普通用户无法获取其他用户所接收到的全局模型,因为 FL 强制实施安全通信信道以防止模型泄露。否则,恶意用户可以利用这一点窃取其他用户的属性隐私。另一方面,近期的一些个性化 FL 方法(如 [29])使用聚类技术将用户分组,并确实设计上向不同组发送不同的全局模型。
为了更有效地缓解 FL 中的隐私泄露问题,可以使用基于密码学的 FL 方法,在该方法中本地模型在加密态下被聚合。在这种背景下,包括本研究提出的 PPA 在内的现有隐私推理攻击都无法立即奏效。然而,密码学方法会显著增加计算和通信开销,使得计算资源有限、带宽受限的用户难以参与 FL。
3、计算开销
我们评估了 PPA 攻击整个生命周期的计算开销,如表 IX 所示。本实验中,共有 10 个用户参与 FL,每个用户拥有 6000 条数据。辅助数据集中每类有 200 个样本,模型学习率为 0.001。攻击中,shadow 模型训练和元分类器训练时间占据主要开销,因为每一类都需要构建 shadow 模型。更准确的 shadow 模型需要更长的训练时间,但可以提升 PPA 的在线攻击准确率(如表 VI 所示)。但我们强调,这些耗时操作都是由服务器在离线阶段完成的,不影响 FL 正常用户的在线训练体验。
在在线阶段,模型敏感性提取的计算开销高于其他在线操作。首先,可以通过利用更多计算资源(例如并行化)或未来优化提取过程来加速敏感性提取。更重要的是,在真实场景中,这些延迟可以被掩盖,因为 FL 用户间计算资源和通信带宽本身存在差异。例如,上传/下载本地/全局模型就会导致明显但正常的延迟,而当用户规模扩大时,这种延迟更是普遍现象。因此,用户往往能够容忍一定的训练延迟。
4、复杂模型
更复杂的模型同样易受 PPA 攻击。在这里我们考察了 VGG16。在 CIFAR10 数据集上进行实验,每个用户拥有 5000 条训练数据,CP 为 60%,CD 为 57.5%。服务器拥有每类 800 条辅助样本。实验结果显示,PPA 在所有十个用户上平均 Top-1 攻击准确率达到 88%。
我们观察到,PPA 在 VGG16 上的准确率相比一个四层卷积神经网络略微下降约 8%。潜在原因是:VGG16 总参数约为 14,714,688,其中最后一个卷积层参数为 2,359,808,占比约 16.04%;而四层模型总参数为 1,448,266,最后一层参数为 295,168,占比为 20.38%。由于敏感性提取仅依赖最后一层卷积层,这意味着在 VGG16 中只利用了较小比例的参数,导致敏感性降低,从而造成略低的攻击准确率。
不过,PPA 即使只利用复杂模型(如 VGG16)中单层的敏感性信息,依然可实现 88% 的 Top-1 攻击准确率,证明了其在攻击大模型场景下的实用性。
六、总结
本研究揭示了一种在联邦学习(FL)中进行偏好类推断的全新隐私攻击方式(即 PPA)。基于我们关键的观察——梯度变化反映了数据集中某类样本的数量,我们提出了量化和提取该变化(称为模型敏感性)的方法,并借助元分类器对用户偏好类进行分析建模。
大量实验证明,PPA 在各种环境下都非常有效,并对现实中的偏好敏感型应用构成了实质性威胁,文中通过两个商业应用对其进行了验证。此外,我们还证明了 PPA 具有良好的可扩展性,它对 FL 参与用户数量及其本地训练轮数并不敏感。
虽然可以通过通用的隐私保护机制来缓解 PPA(如差分隐私和 Dropout),但这些方法都会带来不可接受的模型性能下降。
相关文章:
[论文翻译]PPA: Preference Profiling Attack Against Federated Learning
文章目录 摘要一、介绍1、最先进的攻击方式2、PPA3、贡献 二、背景和相关工作1、联邦学习2、成员推理攻击3、属性推理攻击4、GAN攻击5、联邦学习中的隐私推理攻击 三、PPA1、威胁模型与攻击目标(1)威胁模型(2)攻击目标 2、PPA 概述…...
北三短报文数传终端:筑牢水利防汛“智慧防线”,守护江河安澜
3月15日我国正式入汛,较以往偏早17天。据水利部预警显示,今年我国极端暴雨洪涝事件趋多趋频趋强,叠加台风北上影响内陆的可能性,灾害风险偏高,防汛形势严峻复杂。面对加快推进“三道防线”建设,提升“四预”…...
函数加密(Functional Encryption)简介
1. 引言 函数加密(FE)可以被看作是公钥加密(PKE)的一种推广,它允许对第三方的解密能力进行更细粒度的控制。 在公钥加密中,公钥 p k \mathit{pk} pk 用于将某个值 x x x 加密为密文 c t \mathit{ct} c…...
思维链实现 方式解析
思维链的实现方式 思维链的实现方式除了提示词先后顺序外,还有以下几种: 增加详细的中间步骤提示:通过提供问题解决过程中的详细中间步骤提示,引导模型逐步推导和思考。例如,在解决数学证明题时,提示词可以具体到每一步需要运用的定理、公式以及推理的方向,帮助模型构建…...
深入学习Zookeeper的知识体系
目录 1、介绍 1.1、CAP 理论 1.2、BASE 理论 1.3、一致性协议ZAB 1、介绍 2、角色 3、ZXID和myid 4、 历史队列 5、协议模式 6、崩溃恢复模式 7、脑裂问题 2、zookeeper 2.1、开源项目 2.2、功能 2.3、选举机制 3、数据模型 3.1、介绍 3.2、znode分类 4、监听…...
电商平台一站式安全防护架构设计与落地实践
引言:安全即业务,防御即增长 国际权威机构 Forrester 最新报告指出,2024 年全球电商平台因安全防护不足导致的直接营收损失高达 $180 亿,而采用一体化防护方案的头部企业客户留存率提升 32%。本文基于 10 万 节点防护实战数据&a…...
【Pandas】pandas DataFrame cummin
Pandas2.2 DataFrame Computations descriptive stats 方法描述DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 TrueDataFrame.any(*[, axis, bool_only, skipna])用于判断…...
奇妙小博客
import matplotlib.pyplot as plt# 定义顶点坐标 A [0, 0] B [6, 1] C [4, 6] P [4, 3]# 绘制三角形 ABC plt.plot([A[0], B[0], C[0], A[0]], [A[1], B[1], C[1], A[1]], b-, labelTriangle ABC) # 绘制点 P plt.scatter(P[0], P[1], colorr, labelPoint P(4,3))# 标注顶点…...
嵌入式学习笔记 - HAL_ADC_ConfigChannel函数解析
贴函数原型: 一 首先配置规则通道序列 其实所有的配置函数都是在对寄存器进行操作,要想看懂Hal库底层函数驱动就先把寄存器如何配置看懂,以下是配置规则通道寄存器的介绍,以ADC_SQR3为例,也就是通道序列1到序列6&…...
Java反射详细介绍
的反射(Reflection)是一种强大的机制,允许程序在运行时动态获取类的信息、操作类的成员(属性、方法、构造器),甚至修改类的行为。它是框架开发(如 Spring、MyBatis)、单元测试工具&a…...
2025年土木建筑与水利工程国际会议(ICCHE 2025)
2025 International Conference on Civil and Hydraulic Engineering (ICCHE 2025) (一)会议信息 会议简称:ICCHE 2025 大会地点:中国银川 投稿邮箱:icchesub-paper.com 收录检索:提交Ei Compendex,CPCI,C…...
适应性神经树:当深度学习遇上决策树的“生长法则”
1st author: Ryutaro Tanno video: Video from London ML meetup paper: Adaptive Neural Trees ICML 2019 code: rtanno21609/AdaptiveNeuralTrees: Adaptive Neural Trees 背景 在机器学习领域,神经网络(NNs)凭借其强大的表示学习能力&…...
IBM BAW(原BPM升级版)使用教程第十四讲
续前篇! 一、流程设计中的编程 在 IBM Business Automation Workflow (BAW) 中,编程部分涵盖了多种技术、工具和策略,帮助用户定制和扩展流程。BAW 主要通过脚本、集成、服务和自定义代码来实现流程的灵活性和定制化。下面将详细讲解 BAW …...
【计算机网络 第8版】谢希仁编著 第四章网络层 题型总结3 SDN OpenFlow
SDN OpenFlow题型 这题其实,认真看书P196-197的例子也不难理解。我个人认为所谓防自学设计主要就是你没看懂这张图的时候就是天书,你知道怎么读这张图的时候就很简单。不过我相信这个用心一点应该也都是能懂的。 题目 4.66-4.69 4-66 我最大的一个问题…...
【React中函数组件和类组件区别】
在 React 中,函数组件和类组件是两种构建组件的方式,它们在多个方面存在区别,以下详细介绍: 1. 语法和定义 类组件:使用 ES6 的类(class)语法定义,继承自 React.Component。需要通过 this.props 来访问传递给组件的属性(props),并且通常要实现 render 方法返回 JSX…...
多线程代码案例-1 单例模式
单例模式 单例模式是开发中常见的设计模式。 设计模式,是我们在编写代码时候的一种软性的规定,也就是说,我们遵守了设计模式,代码的下限就有了一定的保证。设计模式有很多种,在不同的语言中,也有不同的设计…...
langChain存储文档片段,并进行相似性检索
https://python.langchain.ac.cn/docs/how_to/document_loader_pdf/#vector-search-over-pdfs 这段代码展示了如何使用LangChain框架中的InMemoryVectorStore和OpenAIEmbeddings来存储文档片段,并基于提供的查询进行相似性搜索。下面是对每一行代码的详细解释&…...
MQTT协议技术详解:深入理解物联网通信基础
MQTT协议技术详解:深入理解物联网通信基础 1. MQTT协议概述 MQTT (Message Queuing Telemetry Transport) 是一种轻量级的发布/订阅消息传输协议,专为资源受限设备和低带宽、高延迟或不可靠网络环境设计。作为物联网通信的核心协议之一,MQTT…...
python中的进程锁与线程锁
在Python中,线程和进程使用锁的机制有所不同,需分别通过threading和multiprocessing模块实现。以下是具体用法及注意事项: 一、线程锁(Thread Lock) 基本用法 线程锁用于多线程环境下保护共享资源,防止数据…...
导出导入Excel文件(详解-基于EasyExcel)
前言: 近期由于工作的需要,根据需求需要导出导入Excel模板。于是自学了一下下,在此记录并分享!! EasyExcel: 首先我要在这里非常感谢阿里的大佬们!封装这么好用的Excel相关的API,真…...
仿正点原子驱动BMP280气压传感器实例
文章目录 前言 一、寄存器头文件定义 二、设备树文件中添加节点 三、驱动文件编写 四、编写驱动测试文件并编译测试 总结 前言 本文驱动开发仿照正点原子的iic驱动实现,同时附上bmp280的数据手册,可访问下面的链接: BMP280_Bosch(博世…...
Java 反射机制(Reflection)
一、理论说明 1. 反射的定义 Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为 Jav…...
每日Prompt:发光线条解剖图
提示词 一幅数字插画,描绘了一个 [SUBJECT],其结构由一组发光、干净且纯净的蓝色线条勾勒而成。画面设定在深色背景之上,以突出 [SUBJECT] 的形态与特征。某个特定部位,如 [PART],通过红色光晕加以强调,以…...
从新手到高手:全面解析 AI 时代的「魔法咒语」——Prompt
引言:AI 时代的「语言炼金术」 在人工智能技术突飞猛进的今天,我们正在经历一场堪比工业革命的生产力变革。从聊天机器人到图像生成,从数据分析到自动化写作,AI 模型正在重塑人类与信息交互的方式。而在这一切背后,隐…...
【SpringBoot】集成kafka之生产者、消费者、幂等性处理和消息积压
目录 配置文件 application.properties启动类 ApplicationKafka 配置Message 消息实体类MessageRepository 消息处理消息积压监控服务Kafka消息消费者服务Kafka消息生产者服务API控制器提供测试接口关键特性说明生产环境建议 配置文件 application.properties # 应用配置 serv…...
[SAP] 通过事务码Tcode获取程序名
如何通过事务码查找对应的程序名? 方法一:直接运行事务码,跳转至功能详情页面,点击【系统】|【状态】即可获取对应事务码的程序名 从上面可以了解到自定义的事务码"ZMM01"对应的程序名为"ZYT36_ZMM001_01"&a…...
蓝桥杯12届国B 纯质数
题目描述 如果一个正整数只有 1 和它本身两个约数,则称为一个质数(又称素数)。 前几个质数是:2,3,5,7,11,13,17,19,23,29,31,37,⋅⋅⋅ 。 如果一个质数的所有十进制数位都是质数,我们称它为纯质数。例如࿱…...
国产大模型「五强争霸」,决战AGI!
来源 | 新智元 DeepSeek的横空出世,已经彻底改变了全球的AI局势。 从此,不仅中美大模型竞争格局改变,国产大模型的产业版图,也被一举打破! 纵观中国基础大模型的市场,可以看到,如今的基础大模…...
C++修炼:继承
Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路! 我的博客:<但凡. 我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》、《C修炼之路》 欢迎点赞,关注&am…...
Mysql新增
插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例: 连接:(3)发送查询给服务器:(2)分析查询:(2)插入记录:(1x记录大小)插入索引:(1x索引&#x…...
华秋2025电子设计与制造技术研讨会(华东站)成功举办!
“探索科技前沿,共筑创新未来”——华秋“2025电子设计与制造技术研讨会第一站:华东站”在江苏苏州圆满落幕。 随着电子信息产业的持续增长和数字化经济的加速转型,数字化电子供应链的作用愈发显著。本届研讨聚焦EDA设计、DFM软件分析、多层…...
[学习] RTKLib详解:qzslex.c、rcvraw.c与solution.c
RTKLib详解:qzslex.c、rcvraw.c与solution.c 本文是 RTKLlib详解 系列文章的一篇,目前该系列文章还在持续总结写作中,以发表的如下,有兴趣的可以翻阅。 [学习] RTKlib详解:功能、工具与源码结构解析 [学习]RTKLib详解…...
【Ubuntu】neovim Lazyvim安装与卸载
安装neovim # 下载 AppImage wget https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.appimage# 添加执行权限 chmod ux nvim-linux-x86_64.appimage# 移动到系统路径,重命名为 nvim sudo mv nvim-linux-x86_64.appimage /usr/local/b…...
数据结构(一) 绪论
一. 时间复杂度: (1)定义: 时间复杂度是衡量算法执行时间随输入规模(通常用n表示)增长的变化趋势的指标,时间复杂度用O符号表示 用于描述算法在最坏情况下或平均情况下的时间需求 时间复杂度关注的是操作次数的增长率,而非具体执行时间 常见的时间复杂度由小到大依次…...
数据库事务并发问题
目录 脏读 幻读 不可重复读 三者的区别 脏读、幻读和不可重复读是在数据库并发操作中可能出现的问题,以下是对它们的详细介绍: 脏读 定义:指一个事务读取了另一个未提交事务修改的数据。示例:事务 A 修改了一条数据…...
Android之横向滑动列表
文章目录 前言一、效果图二、使用步骤1.xml布局2.代码3.HomeHxBean3.adapter4.item布局5.两个drawable 总结 前言 横向滑动列表有多种实现方式,也可以用tablayout,也可以用recyclerview,今天主要介绍recyclerview。 一、效果图 二、使用步骤…...
系统稳定性之上线三板斧
📕我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、…...
aardio - godking.vlistEx.listbar + win.ui.tabs 实现多标签多页面切换
方法一: import win.ui; import godking.vlistEx.listbar; import fonts.fontAwesome; /*DSG{{*/ mainForm win.form(text"vlistEx - table adapter";right895;bottom503) mainForm.add({ custom{cls"custom";text"自定义控件";lef…...
鸿蒙 核心与非核心装饰器
HarmonyOS NEXT 版本中完整的 ArkTS 装饰器分类整理(含核心与非核心装饰器,已剔除废弃特性) 一、核心装饰器(Essential Decorators) 1. 组件基础 装饰器功能Entry应用入口组件,每个模块必须且仅有一个&am…...
TypeScript 知识框架
一、TypeScript 基础 1. 类型系统 基本类型: number, string, boolean, null, undefined, symbol, bigint 引用类型: object, array, function, class 特殊类型: any, unknown, void, never 类型推断与类型注解 类型断言 (as 语法和 <Type> 语法) 2. 接口与类型别名 接口…...
web-ui开源程序是建立在浏览器使用的基础上,旨在使 AI 代理可以访问网站
一、软件介绍 文末提供程序和源码下载 web-ui开源程序是建立在浏览器使用的基础上,旨在使 AI 代理可以访问网站。WebUI:基于 Gradio 构建,支持大部分 browser-use 功能。此 UI 设计为用户友好型,并支持与浏览器代理轻松交互。扩…...
【ns3】TCP三次握手源码解析
文章目录 TCP三次握手过程三次握手源码 TCP三次握手过程 三次握手源码 下面是ns3里三次握手整体过程的源码,和上面图解一一对应: TCP socket的状态枚举: 整体过程: 客户端首先connect:tcp-socket-base::connect调用Do…...
【YOLO模型】参数全面解读
使用YOLO模型时,需要调节各种参数,网络文章和官方文档有点不方便,整理了下面的内容备用: 获取最全最新的参数列表: Ultralytics官方文档: 这是获取YOLOv11(以及YOLOv8等)最权威、最详细参数信息的地方。通…...
跨境电商定价革命:亚马逊“逆向提价“策略背后的价值重构逻辑
导言:打破价格魔咒的销量奇迹 2024年Q3亚马逊平台上演商业悖论:在TOP5000卖家中,12%实施5%-15%温和提价的商户,41%实现单量30.4%的季度增长。这一现象颠覆"低价即流量"的电商铁律,揭开新消费时代"价值定…...
Kafka、RabbitMQ、RocketMQ的区别
以下是 RabbitMQ、RocketMQ、Kafka 的核心区别对比: 一、架构设计差异 Kafka 基于分布式日志的发布-订阅模型,通过分区(Partition)实现水平扩展,依赖 ZooKeeper 管理集群消费者通过消费者组(Consumer G…...
win10 局域网内聊天
在 Windows 10 的局域网 中,如果你想实现 多个用户之间的聊天功能,可以选择以下几种方案,取决于你需要的是: • ✅ 命令行纯文字聊天(如 Linux talk) • ✅ 图形界面聊天室 • ✅ 局域网广播消息 • ✅ 多人…...
【前端三剑客】Ajax技术实现前端开发
目录 一、原生AJAX 1.1AJAX 简介 1.2XML 简介 1.3AJAX 的特点 1.3.1AJAX 的优点 1.3.2AJAX 的缺点 1.4AJAX 的使用 1.4.1核心对象 1.4.2使用步骤 1.4.3解决IE 缓存问题 1.4.4AJAX 请求状态 二、jQuery 中的AJAX 2.1 get 请求 2.2 post 请求 三、跨域 3.1同源策略…...
论文学习_Trex: Learning Execution Semantics from Micro-Traces for Binary Similarity
摘要:检测语义相似的函数在漏洞发现、恶意软件分析及取证等安全领域至关重要,但该任务面临实现差异大、跨架构、多编译优化及混淆等挑战。现有方法多依赖语法特征,难以捕捉函数的执行语义。对此,TREX 提出了一种基于迁移学习的框架…...
数据压缩的概念和优缺点
一、数据压缩的概念 数据压缩是通过特定算法(压缩算法)对数据进行重新编码,以减少数据存储空间或传输带宽的技术。其核心目标是在不丢失关键信息(或允许一定程度信息损失)的前提下,降低数据量,…...
spaCy基础入门
spaCy 概览说明 spaCy 是一个现代、快速、工业级 NLP 工具库,专门为实际工程应用设计,提供: • 分词(Tokenization) • 词性标注(POS Tagging) • 命名实体识别(NER) •…...