2022.1.19 第二篇 ICLR2021 精读
本文已授权发布在我爱计算机视觉公众号
论文链接:Undistillable: Making A Nasty Teacher That CANNOT teach students
代码链接:Undistillable: Making A Nasty Teacher That CANNOT teach students
文章目录
Introduction
知识蒸馏是一种模型压缩的常用手段,其通过将预训练好的教师模型的知识迁移到更轻量级的学生模型上,使学生模型能达到甚至超越老师模型的性能,从而达到无损模型压缩的效果。然而该技术一旦被居心不良者使用,可以轻易盗取研究者花很多时间、精力和设备训练好的模型被轻易复刻,从而导致知识产权(Intellectual Properties)被侵犯。因此本文设计了一种Nasty Teacher,使其正常使用时性能保持不变,而在被知识蒸馏时得到的学生模型性能很差,从而做到保护模型所有者知识产权的作用。
Contributions
- 引入了Nasty Teacher,在不牺牲性能的情况下,防止通过知识蒸馏的方式导致的知识泄漏和未经授权的模型克隆。作者认为这是迈向机器学习知识产权和隐私保护的第一步。
•作者提出了一个简单而高效的算法,叫做self-undermining knowledge distillation,模型通过最大化Nasty Teacher和正常训练的对手之间的差异来优化。
•我们在标准的知识蒸馏和 data-free的知识蒸馏方法上进行了广泛的实验,证明Nasty Teacher可以达到几乎相同的准确性(不到1%的准确性差距),而从Nasty Teacher学习的学生模型将降低准确度高达10%以上,甚至在训练过程中出现分歧。
Methodology
Revisiting Knowledge Distillation
Knowledge Distillation是由Hinhon等人提出的,被广泛应用的一种模型压缩手段。其训练的优化目标如下:
m
i
n
θ
S
∑
(
x
i
,
y
i
)
∈
X
α
τ
S
2
K
L
(
σ
τ
S
(
p
f
θ
T
(
x
i
)
)
,
σ
τ
S
(
p
f
θ
S
(
x
i
)
)
)
+
(
1
−
α
)
X
ε
(
σ
(
p
f
θ
S
(
x
i
)
)
,
y
i
)
\underset {\theta_S}{min} \sum_{(x_i,y_i) \in \mathcal{X}}{\alpha \tau_S^2 \mathcal{KL}(\sigma_{\tau_S}(p_{f_{\theta_T}}(x_i)),\sigma_{\tau_S}(p_{f_{\theta_S}}(x_i)))+(1-\alpha)\mathcal{X \varepsilon}(\sigma(p_{f_{\theta_S}}(x_i)),y_i)}
θSmin(xi,yi)∈X∑ατS2KL(στS(pfθT(xi)),στS(pfθS(xi)))+(1−α)Xε(σ(pfθS(xi)),yi)其中
K
L
(
)
\mathcal{KL}()
KL()和
X
ε
(
)
\mathcal{X \varepsilon}()
Xε()分别是KL散度和交叉熵损失,
f
θ
T
(
)
f_{\theta_T}()
fθT()和
f
θ
S
(
)
f_{\theta_S}()
fθS()分别表示老师和学生模型,该式旨在让学生模型学习老师模型的logit和ground true labels。并使用了softmax temperature
σ
τ
S
\sigma_{\tau_S}
στS。
logit是老师模型输出的对于各个类别的概率预测值。学习logit的一个非常感性的认知是:除了正例GroundTruth之外,负例也携带了很多有价值的信息。比如说:我们针对MNIST分类中,0~9的数字中,7和1写起来很像,但是7和5就很不像,GroundTruth只告诉了我们,这个图片是7,但是logit还告诉了我们:这个图片大概率是7,小概率是1,几乎不太像其他数字。这其中携带了的信息量,也就是我们希望学生模型通过知识蒸馏学到的。
Nasty Teacher
这里将介绍Nasty Teacher的优化函数设计,其旨在保证模型精度的条件下最大化对抗网络(攻击者使用的学生模型)和Nasty Teacher的KL散度,那么下式就很容易理解了: m i n θ T ∑ ( x i , y i ) ∈ X X ε ( σ ( p f θ T ( x i ) ) , y i ) − ω τ A 2 K L ( σ τ A ( p f θ T ( x i ) ) , σ τ A ( p f θ A ( x i ) ) ) \underset {\theta_T}{min} \sum_{(x_i,y_i) \in \mathcal{X}}{\mathcal{X \varepsilon}(\sigma(p_{f_{\theta_T}}(x_i)),y_i) - \omega \tau_A^2 \mathcal{KL}(\sigma_{\tau_A}(p_{f_{\theta_T}}(x_i)),\sigma_{\tau_A}(p_{f_{\theta_A}}(x_i)))} θTmin(xi,yi)∈X∑Xε(σ(pfθT(xi)),yi)−ωτA2KL(στA(pfθT(xi)),στA(pfθA(xi)))
Experiments
上表展示了正常老师模型和Nasty Teacher在CIFAR10上的性能比较,可以发现老师模型精度相差较少而根据Nasty Teacher得到的学生模型精度明显比正常老师模型蒸馏出来的精度低。
相同的现象也出现在CIFAR100数据集上,在MobilenetV2上模仿Nasty Teacher的学生模型甚至不能训练。
相同的现象也出现在Tiny-ImageNet数据集上,可以发现在MobilenetV2上模仿Nasty Teacher的学生模型也不能训练。
上图展示了在CIFAR10数据集上,正常老师和Nasty Teacher得到的概率分布的差异,可以看出Nasty Teacher的预测分布有了很大的改变。
上图显示了用ResNet18在CIFAR10数据集上的t-SNE可视化结果,可以看出正常老师和Nasty Teacher的可视化效果差不多,这也说明了为什么Nasty Teacher的精度和正常的差不多。
上表展示了攻击者和Nasty Teacher采用不同的模型结构的性能。
由于攻击者可能无法拥有老师模型的结构信息,所以有学生模型结构比老师模型复杂的情况出现,上表就针对这种情况进行了对应实验。
上图展示了Nasty Teacher优化目标中
ω
\omega
ω对模型精度的影响曲线。
上图展示了温度
τ
S
\tau_S
τS对模型精度的影响。
上图a探索了攻击者训练学生模型使用不同
α
\alpha
α的效果,可以发现不管
α
\alpha
α如何选择,Nasty Teacher都能有效的防止攻击者蒸馏,相较于较大的
α
\alpha
α,较小的
α
\alpha
α可以相对好的实现对Nasty Teacher的蒸馏窃取。上图b则模拟真实情况下攻击者无法获取全部的训练数据,在此情况下,Nasty Teacher也能有效的防蒸馏窃取。
上表反映了data-free的知识蒸馏的结果,可以发现Nasty Teacher同样有较好的抵御蒸馏的效果。
最后作者还可视化了基于DeepInversion(一种data-free的知识蒸馏)逆向工程还原出的图片,可以普通ResNet-34生成的图像具有高的视觉保真度,而从Nasty ResNet-34生成的图片中包含了扭曲的噪音,甚至虚假的分类特征。
Conclusion
本文提出了一种防止模型被蒸馏窃取的Nasty Teacher,为知识产权的保护提供了一种新思路。