本文提出了一种 multi-task 的 GAN(multi-task GAN for Auxiliary Identification (mGAN-AI)) ,可以恢复 client 级别的多种隐私,包括 数据所属的类别、真假、来自哪一个 client,最后还能实现 某位client 训练数据的恢复。
现有工作的不足
Hitaj et al. [4] proposed a GAN-based reconstruction attack against the collaborative learning by assuming a malicious client, which utilized the shared model as the discriminator to train a GAN.
本文对比 Hitaj et al. [4] 的论文,提出了其方法的三种局限性: (1)作为一种主动性的攻击,其会对原来的训练过程带来 adversarial influence。 (2)由于FL场景下的参数平均机制,单一 client 发起的主动攻击会被削弱。 (3)GAN-based attack 只能推断某一类的表征,并不能推断某一 client 训练数据的主要表征,即无法做到 client-level。
攻击场景
假设有一个 server (本文讨论了malicious 和 non-malicious两种情况,对应主动和被动攻击),其可以得到每一个 client 每轮上传的梯度,企图恢复 client 级别的隐私数据,包括 数据所属的类别、真假、来自哪一个 client,最后还能实现 某位client 训练数据的重建。 注意,这里的 主动攻击是指 server 把某一个 client 隔离起来,其他client 不会受影响,因此不会对 FL 模型训练造成影响。
Methodology
相比普通GAN结构的攻击,mGAN-AI 在 鉴别器D 这里还多了一个确定 victim id 的功能(原文: identification on the input sample to distinguish the victim from other clients.)。我们结合 mGAN-AI 的结构来看一下踏实如何实现的。
首先, discriminator (图中的D)和 FL model 具有相似的结构,只不过在输出层有所不同。
如何实现 client-level 的 privacy violation?:
Compared to the GAN-based attack [4],mGAN-AI incorporates discrimination on identity that is also fed to G as an important condition.
可以理解为 client identity 的引入,使 D 和 G 都具备了区分 client 的能力,从而 G可以生产 victim 特有分布的数据。
具体的,列出了三个优化目标:
x~
p
r
e
a
l
p_{real}
preal?来自 server 已有的辅助数据集。但是,在这里的 x~
p
v
i
c
t
i
m
p_{victim}
pvictim?和 x~
p
o
t
h
e
r
p_{other}
pother? 对于 server 来说,都是不可知的,因此本文还提出了一种根据 参数更新量 来 estimate the representatives of each client 的方法: 此外,为了防止噪声,本文还引入了一个图像平滑技术: 将某一像素点和其周边的像素进行相似,所以最终的优化目标是:
这样,就可以利用 梯度更新 根据 参数更新量 来还原 representatives 了。
之后,把还原得到的 representatives 当作 x~
p
v
i
c
t
i
m
p_{victim}
pvictim?和 x~
p
o
t
h
e
r
p_{other}
pother? 后,那三个需要优化的损失函数就迎刃而解啦。
Passive Attack
看一下算法就懂了:
Active Attack
将 victim 和其他 client 孤立起来,即仅仅利用 victim 上传的数据当作 鉴别器D 的属性。
不足和展望
本方法仅限于 FL 框架中 每个参与者仅上传一个样本数据的更新量。不适用于 batchsize > 1 的场景;
|