Towards Evaluating the Robustness of Neural Networks(神经网络鲁棒性评价)
1、摘要及背景
2016年提出一中蒸馏网络的防御方法(梯度屏蔽),蒸馏网络的作者声称防御蒸馏能够击败现有的攻击算法,并且将他们的攻击成功率从95%降低到5%。这种防御方法通常用于任何前馈神经网络,只需要一个单独的训练步骤,就能够防御当前所存在的对抗样本。本文作者对防御性的蒸馏网络提出了挑战,设计出了一种基于优化的对抗攻击方法C&W。
蒸馏网络(Distillation,本质是一种压缩模型):“蝴蝶以毛毛虫的形式吃树叶积攒能量逐渐成长,最后变换成蝴蝶这一终极形态来完成繁殖。”比如毛毛虫的形态是为了更方便的吃树叶,积攒能量,但是为了增大活动范围提高繁殖几率,毛毛虫要变成蝴蝶来完成这样的繁殖任务。蒸馏神经网络,其本质上就是要完成一个从毛毛虫到蝴蝶的转变。
因为在使用神经网络时,训练时候的模型和实际应用的模型往往是相同的,就好像一直是一个毛毛虫,既做了吃树叶积累能量的事情,又去做繁殖这项任务,既臃肿又效率低下。
所以使用同样形态的模型,一方面会导致模型不能针对特定性的任务来快速学习,另一方面实际应用中如果也是用训练时非常庞大的模型会造成使用开销负担过重。
Softmax-T函数
我们都知道softmax是啥,这个softmax-T的T意思是Temperature,就是一个在softmax操作前需要统一除以的小参数,这个小参数有这样的属性:
-
如果将T取1,这个公式就是softmax,根据logit输出各个类别的概率
-
如果T接近于0,则最大的值会越近1,其它值会接近0,近似于onehot编码
-
如果T越大,则输出的结果的分布越平缓,相当于平滑的一个作用,起到保留相似信息的作用
本论文主要内容有三:
- 作者针对
,
和