Split learning攻防介绍(Threat model and defence)

Split learning攻防介绍(Threat model and defence)

本文内容整理自三篇Split learning相关研究论文,为叙述方便,分别用论文A、B、C标识。

论文A: Gradient Inversion Attack: Leaking Private Labels in Two-Party Split Learning

论文B:Defending Label Inference and Backdoor Attacks in Vertical Federated Learning

论文C:Label Leakage and Protection in Two-party Split Learning

本文首先梳理三篇文章的整体工作,然后对每篇论文进行详细介绍。

Split learning 是什么

在这里插入图片描述

如上图所示:Split learning通常被用于两方纵向联邦学习场景:一方有原始数据Inputs,另一方有标签Labels。双方共同训练一个 f ⋅ g f·g fg 的复合模型,Inputs端保留 f f f 模型,Labels端保留 g g g 模型。Split learning的目的是同时保留Inputs x i x_i xi 的隐私和Labels y i y_i yi 的隐私,所以在训练过程中,两方之间只会交换中间特征embedding z i z_i zi 以及中间梯度 ▽ z L i \bigtriangledown_zL_i zLi ,而不会交换原始数据 x i x_i xi y i y_i yi 。一个典型的场景:公司A拥有客户点击广告的数据(Inputs),公司B拥有客户实际购买商品的数据(Labels),两公司联合训练模型以学习广告转化率。

Split learning也可以应用于多方的场景:标签只在其中一方,原始数据 x i x_i xi 由多方保存,每方有几个维度的特征。典型场景:公司A有客户点击广告的数据,公司B有客户的社交数据,公司C有客户实际购买商品的数据(Labels)。

论文A和论文C只考虑了两方,论文B同时考虑了两方和多方。三篇论文针对的都是分类问题。

Split learning Threat model

Label Inference Attack

标签推测攻击是三篇论文中都有考虑到的Threat model并且都给出了defence,指的是Inputs端利用接收到的 ▽ z L i \bigtriangledown_zL_i zLi 去推测真实的标签 y i y_i yi

论文A:认为直接交换 ▽ z L i \bigtriangledown_zL_i zLi会泄露标签的隐私,并且提出了一种基于有监督学习的攻击模型Gradient Inversion Attack(GIA)去推测标签,在Multi-class image classification以及binary conversion问题中推测标签的准确率可以达到(97.01%-99.96%)。

论文B:强调传递一个batch的聚合梯度也可能泄露隐私,然后也提出利用有监督学习的方式可以推测Labels(攻击模型跟论文A没太大区别)。

论文C:只考虑二分类问题,发现通过观察中间梯度 g g g 的特征,进行统计分析, 就可以进行一定程度的标签推测。如下图所示,标签为1的数据的中间梯度与标签为0的数据的中间梯度存在显著差异,该信息就会泄露标签隐私。

在这里插入图片描述

Backdoor Attack

论文B提出了Backdoor attack。攻击者通过替换标签或中间梯度,让一些数据被错误的分类。(感觉就是恶意攻击模型,不让模型正确地训练)。Labels端可以很容易地发起Backdoor attack,比如直接将某些本来是猫的标签,替换为狗。但是论文B觉得Labels端发起backdoor attack太简单,不值得研究,然后发现 Inputs端通过对发送的embedding z i z_i zi 进行一些操作也可以发起Backdoor attack。

Split learning Defence

论文A:nothing but 添加高斯噪声

在这里插入图片描述

可想而知噪声越大,安全性越好,模型效果越差。由于该方法过于粗暴,作者也指出只在一些简单的数据集上适用,用在一些复杂的数据集效果就很差。

论文B:Label confusion。核心思想就是对标签进行替换,比如将所有数据猫、狗的标签对换。这样Inputs推测出的标签都是错的(本来是狗、误以为是猫)。但是这种太容易被发现,因为Inputs只要知道任何一个样本的真实标签,就可以知道所有样本的真实标签。

一种想法就是将标签替换成多维向量。基于此思想论文B提出了autoencoder,包括encode和decode两部分:

  • encode:在训练阶段,将真实标签替换为fake label,从而保护真实标签的隐私。
  • decode:在测试阶段,将fake label还原为真实标签。

论文C(二分类问题):添加精密计算过的噪声。对于不同标签对应的中间梯度添加不同的噪声,标签为1的数据对应的梯度添加 D 1 = N ( 0 , Σ 1 ) D^{1}=N(0, \Sigma_1) D1=N(0,Σ1) ,标签为0的数据对应的梯度添加 D 0 = N ( 0 , Σ 0 ) D^{0}=N(0, \Sigma_0) D0=N(0,Σ0) Σ 1 \Sigma_1 Σ1 Σ 0 \Sigma_0 Σ0是求解如下优化问题得到的最优解。

在这里插入图片描述

论文A:Gradient Inversion Attack: Leaking Private Labels in Two-Party Split Learning

Label Leakage Attack Objective

Attacker想要获得真实的标签 D l a b e l = { y i } D_{label} = \{y_i\} Dlabel={ yi},Attacker通过推理得到的标签为 D y ′ = { y ′ } D_{y'} = \{y'\} Dy={ y}

Attacker的目标就是让 y i y_i yi y i ′ y_i' yi尽可能接近,即:

在这里插入图片描述

由于实际中Attacker不知道真实标签,所以无法直接求解上述优化问题,于是该论文提出了GIA来窃取隐私。

Label Leakage Defence Objective

Labels端想要保护隐私需要平衡以下两个方面:

  • Privacy Objective:让attacker推理的 y i ′ y_i' yi 与真实标签 y i y_i yi 的差异尽可能大,即:

在这里插入图片描述

  • Utility Objective: 保护隐私也不能作茧自缚,要尽可能保证模型可用性。通过训练好的联合模型 f ⋅ g f·g fg,预测的标签要尽可能与真实标签接近,即:

在这里插入图片描述

攻击模型GIA

在这里插入图片描述

核心思想:Attacker(Inputs端)只有模型 f f f, 不知道模型 g g g ,也不知道标签 { y i } \{y_i\} { yi}。那么Attacker可以自己建立一个surrogate model g ′ g' g 以及surrogate labels { y i ’ } \{y_i’\} { yi} 。建得不准没有关系, g ′ g' g (对应参数 θ g ′ \theta_{g'} θg)和 { y i ’ } \{y_i’\} { yi} ( { y i ~ } \{\tilde{y_i}\} { yi~}) 都是可学习的参数,可以先随机初始化,然后通过学习过程让 θ g ′ \theta_{g'} θg

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值