20189217 2018-2019-2 《密码与安全新技术专题》论文学习与报告总结

课程:《密码与安全新技术专题》

班级: 1892
姓名: 张鸿羽
学号:20189217
上课教师:王志强
上课日期:2019年5月21日
必修/选修: 选修

1.论文总结

论文题目:
With Great Training Comes Great Vulnerability: Practical Attacks against Transfer Learning
论文作者:
Bolun Wang, UC Santa Barbara; Yuanshun Yao, University of Chicago; Bimal Viswanath, Virginia Tech; Haitao Zheng and Ben Y. Zhao, University of Chicago
会议名称:
USENIX Security 2018

1.1 背景

现在很多企业都在做深度学习,但是高质量模型的训练需要非常大的标记数据集,比如在视觉领域ImageNet模型的训练集包含了1400万个标记图像,但是小型公司没有条件训练这么大的数据集或者无法得到这么大的数据集。

对于这个问题,当前一个普遍的解决方案就是迁移学习:一个小型公司借用大公司预训练好的模型来完成自己的任务。我们称大公司的模型为“教师模型“,小公司迁移教师模型并加入自己的小数据集进行训练,得到属于自己的高质量模型”学生模型”。

1511102-20190604092445728-303103512.png

1.2 迁移学习

1.2.1 迁移学习过程

学生模型通过复制教师模型的前N-1层来初始化,并增加了一层全连接层用于分类,之后使用自己的数据集对学生模型进行训练,训练过程中,前K层是被冻结的,即它们的权重是固定的,只有最后N-K层的权重才会被更新。前K层之所以在训练期间要被冻结,是因为这些层的输出已经代表了学生任务中的有意义的特征,学生模型可以直接使用这些特征,冻结它们可以降低训练成本和减少所需的训练数据集。
1511102-20190604093252029-1461371300.png

1.2.2 迁移学习方法

根据训练过程中被冻结的层数K,可以把迁移学习分为以下3种方法:深层特征提取器(Deep-layer Feature Extractor)、中层特征提取器(Mid-layer Feature Extractor)、全模型微调(Full Model Fine-tuning)。

  • Deep-layer Feature Extractor:K=N-1,学生任务与教师任务非常相似,需要的训练成本最小
  • Mid-layer Feature Extractor:K<N-1,允许更新更多的层,有助于学生为自己的任务进行更多的优化
  • Full Model Fine-tuning:K=0,学生任务和教师任务存在显著差异,所有层都需要微调
1.2.3 举例

1511102-20190604093406608-1231172902.png
一个小公司需要识别65个人的人脸,但它只有65个人每人10张图的小数据集,它迁移了VGG-Face(共16层)前15层,只将最后一层分类层改成了65分类,最后得到的分类准确率为93.37%。

1.2.4 迁移学习安全性

但迁移学习并不十分安全,因为迁移学习缺乏多样性,用户只能从很少的教师模型中进行选择,同一个教师模型可能被很多个公司迁移,攻击者如果知道了教师模型就可以攻击它的所有学生模型。

1.3 对迁移学习的攻击

1.3.1 对抗性攻击

由于机器学习算法的输入形式是一种数值型向量(numeric vectors),所以攻击者就会通过设计一种有针对性的数值型向量从而让机器学习模型做出误判,这便被称为对抗性攻击。
和其他攻击不同,对抗性攻击主要发生在构造对抗性数据的时候,之后该对抗性数据就如正常数据一样输入机器学习模型并得到欺骗的识别结果。如给一个输入图像加入不易察觉的扰动,使模型将输入图像误分类成其他类别。
对抗性攻击可分为白盒攻击和黑盒攻击。
白盒攻击:攻击者能够获知分类器的内部体系结构及所有权重。它允许攻击者对模型进行无限制的查询,直至找到一个成功地对抗性样本。这种攻击常常在最小的扰动下获得接近100%的成功,因为攻击者可以访问深度神经网络的内部结构,所以他们可以找到误分类所需的最小扰动量。然而白盒攻击一般被认为是不切实际的,因为很少会有系统公开其模型的内部结构。
黑盒攻击:攻击者不知道受害者的内部结构,攻击者要么尝试反向工程DNN的决策边界,建一个复制品用于生成对抗样本,要么反复查询生成中间对抗样本并不断迭代改进。黑盒攻击容易被防御。

对抗样本是对干净图像进行处理后的样本,被故意扰乱(如加噪声等)以达到迷惑或者愚弄机器学习技术的目的,包括深度神经网络。

1.3.2 本文攻击模式

由于当前模型的默认访问模式是:

  • 教师模型被深度学习服务平台公开。
  • 学生模型离线训练且不公开。

本文提出了一个新的针对迁移学习的对抗性攻击,即对教师模型白盒攻击,对学生模型黑盒攻击。攻击者知道教师模型的内部结构以及所有权重,但不知道学生模型的所有权值和训练数据集。

1.3.3 本文具体攻击思路

攻击目标:把source图猫误识别为target图狗
本文的攻击思路:首先将target图狗输入到教师模型中,捕获target图在教师模型第K层的输出向量。之后对source图加入扰动,使得加过扰动的source图(即对抗样本)在输入教师模型后,在第K层产生非常相似的输出向量。由于前馈网络每一层只观察它的前一层,所以如果我们的对抗样本在第K层的输出向量可以完美匹配到target图的相应的输出向量,那么无论第K层之后的层的权值如何变化,它都会被误分类到和target图相同的标签。
1511102-20190604152832037-1853608048.png

1.3.4 如何计算扰动

本文通过求解一个有约束的最优化问题来计算扰动。目标是是模拟隐藏层第K层的输出向量,约束是扰动不易被人眼察觉。即在扰动程度perturb_magnitude小于一定约束值(扰动预算P)的前提下,最小化对抗样本(扰动后的source image)第K层的输出向量与target image 第K层的输出向量的欧式距离。前人计算扰动程度都是使用Lp范数,但是它无法衡量人眼对于图像失真程度的感知。所以本文使用DSSIM计算扰动程度,它是一种对图像失真度的客观测量指标。

DSSIM

1511102-20190604200153002-1082218571.png

1.3.5 目标攻击/非目标攻击

目标攻击:将source image x_s 误分类成target image s_t 所属标签
1511102-20190604174158198-1539018524.png

非目标攻击:将source image x_s 误分类成任意其他的source image 所属标签
1511102-20190604174205804-132406807.png

非目标攻击需要确定一个“方向”把source image推出它自己的决策边界。但是要预测这个“方向“是非常难的,所以本文的解决方法是,把每个目标攻击的攻击目标都试一遍,然后选出与source image第K层输出向量距离最小的类别作为目标。

1.3.6 影响攻击效果的因素
1、扰动预算P

扰动预算P的选择直接关系到攻击的隐蔽性。P越小攻击成功率越低,通过使用DSSIM度量方法测量图像失真,我们发现P=0.003是人脸图像的一个安全阈值。其对应的L2范数值明显小于前人的结果。

2、距离度量方法

距离度量方法也会影响攻击效果,使用DSSIM产生的扰动不易察觉,使用L2的扰动更明显。DSSIM能考虑到图像的潜在结构,而L2平等对待每一个像素,并经常在脸部产生明显的“纹身样” 图案。

3、迁移学习方法

迁移学习方法也非常影响攻击效果,本文的攻击对于Deep-layer Feature Extractor是非常有效的,但对于Full Model Fine-tuning无效。

1.3.7 如何选择攻击层

攻击者首先要判断学生模型是否使用了Deep-layer Feature Extractor,因为它是最易被攻击的方法。
如果学生模型的迁移学习方法Deep-layer Feature Extractor ,攻击者需要攻击第N-1层以获得最佳的攻击性能;
如果学生模型的迁移学习方法不是Deep-layer Feature Extractor ,攻击者可以尝试通过迭代瞄准不同的层,从最深层开始,找到最优的攻击层。

1.3.8 给定学生模型确定其教师模型

1511102-20190604183528687-1271912504.png
前面我们的误分类攻击是假设了攻击者知道教师模型是哪个的,接下来我们放宽这个条件,考虑攻击者不知道教师模型是哪个的情况。今天的深度学习服务(Google Cloud ML, Facebook PyTorch, Microsoft CNTK)会帮用户从一系列教师模型中生成学生模型。这种情况下,攻击者就得自己寻找他要攻击的学生模型对应的教师模型。本文设计了一种指纹方法,只需要对学生模型进行少量图像查询就可以确定他的教师模型。
我们假设给定一个学生模型,攻击者可以知道它的教师模型候选池,候选池中的一个教师模型生成了该学生模型。这个假设是现实的,因为对于常规的深度学习任务,目前只有少数几个公开可用的高质量、预训练过的模型。比如Google Cloud ML 给图像分类任务提供的是Inception v3 , MobileNet及其变体作为教师模型。所以攻击者只需要在这一组候选模型中识别。
1511102-20190604183513944-1098458907.png
如果基尼系数非常大,说明该学生模型对应的教师模型不在候选池中,或者该学生模型选择的不是Deep-layer Feature Extractor的迁移学习方法。

1.4 应对本文攻击的防御方法

论文还提出了3种针对本文攻击的防御方法,其中最可行的是修改学生模型,更新层权值,确定一个新的局部最优值,在提供相当的或者更好的分类效果的前提下扩大它和教师模型之间的差异。这又是一个求解有约束的最优化问题,约束是对于每个训练集中的x,让教师模型第K层的输出向量和学生模型第K层的输出向量之间的欧氏距离大于一个阈值,在这个前提下,让预测结果和真实结果的交叉熵损失最小。
1511102-20190604183856142-718343255.png

1.5 复现

下图为65张人脸分类任务的攻击结果:
1511102-20190604201117562-204223153.png
上下分别是:
对31号进行目标攻击,误分类为2号,攻击成功;
对64号进行目标攻击,误分类为46号,攻击失败;

1511102-20190604201109909-304191738.png
左图为source image,中图为加过扰动的对抗样本,右图为其要误分类成的target image。

2.学习中遇到的问题及解决

  • 问题1:
    本文的攻击方法与其他论文中的攻击方法对比有何优势?

  • 问题1解决方案:
    前人计算扰动程度都是使用Lp范数,但是它无法衡量人眼对于图像失真程度的感知。例如在另一篇论文《Adversarial Perturbations Against Real-Time Video Classification Systems》中,加过扰动的图【下图】和原图明显可被人眼分辨,这会导致攻击易被发觉。
    1511102-20190604202233837-1846318258.png

  • 问题2:
    对教师模型的白盒攻击产生的对抗样本可以直接迁移到学生模型上吗?

  • 问题2解决方案:
    不可以。因为教师模型和学生模型的分类任务是不同的,二者有不同的分类层(不同的决策边界)。

3.学习感想和体会

本次选择的论文方向是深度学习领域中没接触过的迁移学习,这篇论文按照逻辑顺序对迁移学习的产生背景、迁移学习的大致思路、迁移学习的具体过程、迁移学习的方式、迁移学习的不安全性、迁移学习的攻击方法和针对这些攻击的防御方法进行了详细的讲解,通过本次的论文学习,我对迁移学习有了较为系统的了解。本文提供了一个很好的思路,引入DSSIM而不是使用Lp范数来衡量扰动程度,对图像加扰动时考虑到了人眼对扰动的感知,这能降低攻击被发觉的概率,其他图像视频领域的攻击方法也可依此进行改进。
另外,读英文论文还是直接看英文原文最能直接准确地理解作者想法,翻译结果容易误导。即使作者是中国人:)

参考资料

转载于:https://www.cnblogs.com/PNIDEMOOO/p/10962212.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值