文献阅读--数据集推断 DATASET INFERENCE: OWNERSHIP RESOLUTION IN MACHINE LEARNING

内容摘要

本文通过观察发现了:训练集所蕴含的 knowledge 会在基于其训练的模型上体现出来(以及根据此模型通过一定方法复制出来的模型)。因此,本文踢出了一个概念:dataset inference,用于检测一个可疑模型是否含有原始模型训练集的 private knowledge ,以此抵御模型窃取。

1 原理

1.1 prediction margin

在本文中,作者提出了一个概念:prediction margin,用来指 the disparity in the response of an ML model to inputs that it saw during training time, versus those that it did not.它反映了模型输出的置信度。也是后文的 Δ ( x , x + δ ) \Delta(\textbf{x},\textbf{x}+\delta) Δ(x,x+δ)
本文的中心工作也是量化这样的 disparity,并证明了 MI 在本场景下的失效。

在这里插入图片描述
看上图,本文的 basie idea:成员数据在模型预测下到各类 非标签 的距离 大于 非成员数据。

1.2 白盒场景

这样的场景适用于有客观的、可以做出公正裁决的第三方机构鉴定数据集、模型的侵犯,第三方可以看到模型内部结构以及利用梯度下降算法生成指定扰动 δ \delta δ 。为此,作者提出了 MinGD 算法,此算法基于梯度下降算法,寻找:
arg min ⁡ δ Δ ( x , x + δ ) , s . t .   f ( x + δ ) = t {\argmin}_{\delta} \Delta(\textbf{x},\textbf{x}+\delta),s.t.~f(x+\delta)=t argminδΔ(x,x+δ)s.t. f(x+δ)=t
这里 t t t 是指样本 x \textbf{x} x 真实标签附近的其他标签, Δ \Delta Δ 是一种样本间范数距离度量方法:
Δ ( x , x + δ ) = ∥ ( x , x + δ ) ∥ p \Delta(\textbf{x},\textbf{x}+\delta)=\Vert (\textbf{x},\textbf{x}+\delta) \Vert _{p} Δ(x,x+δ)=(x,x+δ)p,p可以代表1、2、∞范数。
这种算法类似于对抗样本的生成,只不过是针对每一类标签都进行梯度下降的迭代寻找那个最小距离。

这样计算出来的使得模型预测为每一类别的范数最小扰动 ( Δ 1 , . . . , Δ k − 1 , Δ k = 0 , Δ k + 1 , . . . , Δ c ) (\Delta_{1},...,\Delta_{k-1},\Delta_{k}=0,\Delta_{k+1},...,\Delta_{c}) (Δ1,...,Δk1,Δk=0,Δk+1,...,Δc)(假设此样本真实标签为 k k k) ,就是后续验证所有权需要的 embedding vector 。

1.3 黑盒场景

有时候,受害者得验证公开部署的模型的所有权,这样部署的模型仅可以给定输入预测标签,这种场景下,作者提出了 Blind Walk 算法。此算法通过添加随机噪声于给定样本,来衡量该数据点的鲁棒性,以此用来估计模型的 prediction margin 。
和白盒场景下的算法类似,我们随机生成初始 δ \delta δ ,注意这里的 δ \delta δ 在整个算法中是一个定值。对于一个输入 ( x , y ) (\textbf{x},y) (x,y) ,寻找一个 k ∈ N k \in \mathbb{N} kN(自然数),同样要求满足 f ( x + k δ ) = t ; t ≠ y t r u e f(x+k\delta)=t;t \ne y^{true} f(x+kδ)=t;t=ytrue,这样一来,通过不断增加迭代增加 k k k,我们最终找到的满足条件的 δ \delta δ 下的 Δ ( x , x + k δ ) \Delta(\textbf{x},\textbf{x}+k\delta) Δ(x,x+kδ) 就是我们需要用到的东西(prediction margin)。

1.4 所有权验证流程

本文提出的验证方法在于最小化 FPR,并分为2个阶段:1.回归模型推断可疑模型在特定样本上的预测是否包含了受害者的隐私数据;2.对那些被检验样本的所有推断结果进行聚合,假设检验,判断 dataset inference 的最终结果。相比 MI,这种方法多了一个步骤2。
可以概括如下图所示:
在这里插入图片描述

(1)Embedding generation

对于白盒的 MinGD 算法,我们设置在每一种距离上的学习步长为 { α ∞ , α 2 , α 1 } = { 0.001 , 0.01 , 0.1 } \{α_∞, α_2, α_1\} = \{0.001, 0.01, 0.1\} {α,α2,α1}={0.001,0.01,0.1}。然后利用梯度下降算法通过不断迭代,找到产生距离最小且能使模型分为其他类的 δ \delta δ,并计算三种情况 l 1 , l 2 , l ∞ l_1,l_2,l_{\infty} l1,l2,l下 的 Δ ( x , x + δ ) \Delta(\textbf{x},\textbf{x}+\delta) Δ(x,x+δ) ,每一类标签可以计算得到大小为3的矢量 { l 1 , l 2 , l ∞ l_1,l_2,l_{\infty} l1,l2,l}。
所以在10分类训练任务中,针对一个数据样本,可以计算得到 总分类数目(10)*范数类别数目(3) = 30大小的矢量,作为 Embedding。

对于黑盒条件下 Blind Walk 算法,我们利用三种噪声来寻找 prediction margin 。对于噪声的选取,我们规定 均匀噪声 对应 l ∞ l_{\infty} l高斯噪声 对应 l 2 l_{2} l2拉普拉斯噪声 对应 l 1 l_{1} l1。用这三种噪声可以联合有效地抽取数据样本鲁棒性的信息。注意只有在 Blind Walk 算法中我们才使用这三种噪声。

Embedding generation中 两种算法的对比分析

而在实验结果来看, Blind Walk 算法 效果更好,因为 白盒的 MinGD 算法 类似对抗样本,利用梯度下降,能够得到到达某一类别的局部最低点的最小距离,存在偶然性。相比之下, Blind Walk 算法能够计算到达某一类的平均距离,可能更加能够体现 prediction margin

这样得到的综合距离的流程被称为 Embedding generation ,也就是后面回归模型的训练数据。

(2)Confidence Regressor 置信回归模型

为了完成步骤1,我们需要训练一个回归模型 。根据我们在白盒、黑盒场景下 f v f_v fv 对成员数据 S v S_v Sv(受害者的隐私数据集)和非成员数据(除了受害者隐私数据集以外的数据集)计算得到的 ( Δ 1 , . . . , Δ k − 1 , Δ k = 0 , Δ k + 1 , . . . , Δ c ) (\Delta_{1},...,\Delta_{k-1},\Delta_{k}=0,\Delta_{k+1},...,\Delta_{c}) (Δ1,...,Δk1,Δk=0,Δk+1,...,Δc),结合真实成员标签,可以训练一个回归模型 g v g_{v} gv g v g_{v} gv 的作用是给定一样本在可疑模型下计算得到的 prediction margin,预测出一个概率(认为该条数据包含了 f v f_v fv 隐私信息的置信度),在我们的假设检验中,我们要求 g v g_{v} gv 对来自 S v S_v Sv 样本的预测值更小。受害者对 S v S_v Sv所有数据进行计算,以训练更加精确的 g v g_v gv
具体来说,回归模型的损失函数定义为: L o s s ( x , y ) = − b ∗ g v ( x ) Loss(\mathbf{x},y)=-b*g_v(\mathbf{x}) Loss(x,y)=bgv(x),当该数据来自 public training set 时, b=1 ;当来自 victim’s private set 时,b=-1。这样优化下来的结果是,来自 public training set 计算得到的 prediction margin 会大于 来自 victim’s private set。 所以训练以后模型的结果,confidence越大,说明该数据越接近 public training set。

(3)Hypothesis Testing 假设检验

在上一步骤得到了 Confidence Regressor 以后,给定 m m m 条成员和非成员数据,我们依然重复之前的步骤:计算 ( Δ 1 , . . . , Δ k − 1 , Δ k = 0 , Δ k + 1 , . . . , Δ c ) (\Delta_{1},...,\Delta_{k-1},\Delta_{k}=0,\Delta_{k+1},...,\Delta_{c}) (Δ1,...,Δk1,Δk=0,Δk+1,...,Δc)作为 g v g_v gv 的输入,得到输出它们各自的矢量形式的置信分数 c = ( c 1 , c 2 , . . . , c m ) {\boldsymbol{c}}=(c_1,c_2,...,c_m) c=(c1,c2,...,cm) c m c_m cm代表第一个样本的置信分数) 和 c v {\boldsymbol{c}}_{v} cv。然后检验无效假设 H 0 : μ < μ v H_0: \mu < \mu_v H0:μ<μv where μ = c ˉ \mu=\bar{\boldsymbol{c}} μ=cˉ and μ v = c ˉ v \mu_v=\bar{\boldsymbol{c}}_{v} μv=cˉv are mean confidence score。这样一来,检验就可以拒绝 H 0 H_0 H0 并决定性地宣称 f A f_A fA 是 “偷来的” ,或给出一个不确定(无法判定)的结果。

具体而言,我们用来自 public datasets 和 private datasets 的等量样本 查询模型,计算得到的 embeddings ,然后输入 Confidence Regressor 得到 confidence score vectors c \boldsymbol{c} c and c v \boldsymbol{c_v} cv,对这两个 矢量的分布 进行双样本T检验,计算单边检验 H 0 : μ < μ v H_0: \mu < \mu_v H0:μ<μv H a l t : μ > μ v H_{alt}: \mu > \mu_v Halt:μ>μv 的p值。从损失函数的优化方向来看, g v g_v gv 学习去最小化对来自 S v S_v Sv 的样本的输出 g v ( x ) g_v(\mathbf{x}) gv(x) , x ∈ S v \mathbf{x} \in S_v xSv,并最大化来自 pubic dataset 的样本的输出分数。因此,一个矢量 c {\boldsymbol{c}} c 中如果包含了来自 S v S_v Sv 的数据,会产生更低的 confidence scores,从而减小了检验的 p值。如果p值低于前面定义的显著水平 α \alpha α H 0 H_0 H0 就被拒绝,从而得出结论:模型被盗用了。

2 实现及实验

数据集

本文在 CIFAR10, CIFAR100, SVHN and ImageNet datasets 进行了实验。

模型

受害者的模型为 WideResNet ,深度28宽度10, dropout rate of 0.3,适用于CIFAR10 and CIFAR-100 数据集。对于2.1节模型窃取的验证,我们采用了更小的结构,例如 WRN-16-1 on CIFAR10 and WRN-16-10 on CIFAR100。

2.1 讨论可能的模型窃取攻击

本文考虑了多种强大的模型窃取攻击,并引出了针对 dataset inference 的攻击方法,以对我们的方法做一个 adaptive evaluation (适应性评估)。攻击者 A A A 所获取受害者 V V V 的private knowledge可以被分为以下几类:

(1) A Q A_Q AQ f v f_v fv 的查询访问权。这里,我们考虑在这种场景下的模型萃取攻击
(1.a) 即在给定输入样本,仅获取预测矢量( prediction vectors)的场景下,最小化copy模型和原始模型在这些样本上预测结果的 KL散度
(1.b) 更恶劣的场景下,攻击者仅可以获取预测矢量置信度最高的那一类的标签。

(2) A M A_M AM 有受害者的整个模型 f v f_v fv (包括结构及参数),还可以细分为:
(2.a) A M A_M AM 可以对 f v f_v fv 进行 fine-tune
(2.b) 使用 f v f_v fv 在仅仅使用合成数据的零样本学习框架中,进行无数据的知识蒸馏

(3) A D A_D AD 获取了受害者训练 f v f_v fv 时完整的训练集 S v S_v Sv,然后利用这些数据:
(3.a) 进行有数据的知识蒸馏,从而copy出一个子模型
(3.b) 基于其他结构的模型重新训练一个模型

PS:知识蒸馏分为有数据的知识蒸馏和无数据的知识蒸馏,取决于能否利用母模型的训练集来进行蒸馏。

2.2 实验结果

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学渣渣渣渣渣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值