核心思想:
注意:以下内容顺序与论文完全不符,我按照自己的思路写的,所以开头对不上不必惊慌。
① 已知神经网络越往后越线性,所以对抗攻击中模型迁移的大问题背景下,肯定越线性越好迁移。
② But!源模型往往最后过度线性了(可以理解为源模型对目标模型训练中的过拟合),所以最好也不要选太靠后的层。
③ 很多攻击方法诸如FGSM,捕捉梯度的,都是越往后层,对对抗方向的把握越好的。所以这些攻击方法基本都是直接用Loss(最后一层的信息)求导。
由此推出:获取①③和②权衡之后的中间某层(以下简称L层)的梯度信息,最有参考价值。
(ps:以上先验论文中都有实验证明)
问题来了,第一,L怎么确定?第二,怎么利用L层的梯度信息呢?
第一:让你失望了,L是先验(试出来的)。
第二:是本论文的关键,也是论文的主要内容了。
首先,选一种初始化方法,比如FGSM获得x的对抗样本x’,现在我们希望:对x’修改后的x’‘在L层的扰动尽可能的大,但是x’'相对于原始图像x的改变方向并不变化多少(毕竟这个改变方向是FGSM等计算得到的阿)。
因此新的损失函数定义为:
复杂版:方向靠近+扰动大
简单版: 直接投影
具体的算法为:
红框为上述利用L层信息的核心步骤。复杂版效果好但是参数a需要精调。后续的内容就是各种测试结果,比如最好的L层是4层等等。
总结一下,这篇文章对中间层的信息利用不算新颖,因为之前有过相关的文章,而且引入了大量的先验。但是总体的效果很好,核心的先验思想:扰动方向与扰动量大小的权衡 也设计的很棒。
希望路过这儿的你可以关注我一下~~我会定期更新一系列阅读笔记和总结,加入自己的见解和思路,希望能对你有用~