《Detecting Adversarial Examples through Image Transformation》和CW attack的阅读笔记
本文关于《Detecting Adversarial Examples through Image Transformation》和《Towards Evaluating the Robustness of Neural Networks》,因为文献阅读顺序,我先从《Detecting Adversarial Examples through Image Transformation》来展开,并补充关于后者的阅读总结。
1. 概述
由于深度神经网络对于对抗性样本攻击不具有一定的稳定性,近年来不断有人提出对抗性样本构造方法以及防御对抗性样本攻击的方法。
/* 这里补充说明一下关于对DNN进行对抗性样本攻击的大致步骤,即:人为对待测待测样本(拿图片举例)加入某些干扰(perturbation),这些干扰往往用人的肉眼难以识别,但却会对DNN最后的估计结果产生较大变化。拿常见的白盒攻击流程举例,通常会分为四步:
- 添加一张想增加干扰的图像放入神经网络
- 根据预测结果,预估其距离攻击者想要让神经网络误识别的目标有多远
- 使用反向传播算法调整图像本身的某些元素,使经过神经网络所得到的结果更加接近攻击者想要的结果
- 不断重复1-3步骤最后攻击成功 */
而在众多对抗性样本攻击中,CW attack 对现有的防御方法具有近乎完全的免疫性。基于这个背景,本文也主要针对CW attack提出了一种防御方法。
在日常生活中,当人们无法识别眼前物体时,往往会改变观察角度,或者把物体拿远或拿近来观察。文章作者正是基于“正常图片经过图像变换(偏移、旋转)之后普遍不会影响识别,而经过人为改变的对抗性样本经过图像变换后则会影响识别”这一设想,通过对比实验证明了这一想法确实正确,能够有效防御CW attack。
2. 结论
对于不经意攻击(Oblivious Attacks),即攻击方并不知道防御算法的存在时,图像变换能够有效地防御CW attack形式的对抗性样本攻击。
对于白盒攻击(White-Box Attacks),即攻击方能够知道DNN识别算法以及防御算法的具体构造,并尝试同时骗过这两种算法时,图像变换防御方法依然能够奏效。具体结论如下:1)图像变换防御能够大幅提高攻击者利用CW attack形式进行对抗性样本攻击时的花销 2)要欺骗图像变换防御,攻击者所生成的对抗性样本会经过比较大的扭曲,以至于可能会被人的肉眼所识别出来(攻击者要将对抗性样本显著推离decision boundary) 3)尽管如果一直使用同一角度进行旋转会导致CW attack依然奏效,但如果在实际应用中加入旋转角度的随机性,则会有效防御攻击。
另外,图像变换防御方法对其他的对抗新样本攻击方法也奏效。
3. 增补:《Towards Evaluating the Robustness of Neural Networks》
鉴于本文主要针对的是CW attack,在此对于《Towards Evaluating the Robustness of Neural Networks》这篇文章写一下笔记。
在本文中,作者将构造对抗性样本的方法归纳为一个最优化问题,即:
Minimize D( x , x + δ )
//D是一种距离度量函数,即可以是各种范数比如L2、L0等
Such that C( x + δ ) = t
//C是分类器,t表示攻击者想要的分类,δ是添加的干扰
x + δ ∈[0,1]n
//限制增加干扰后得到的像素点值
然而由于C在训练完成后并不是一个线性化的函数,作者用
C( x + δ )= t ⇒ f ( x + δ )≤0
来对等式进行转化,并提出了七种f函数可供选择的形式。
最终,将原优化问题转化为:
于是,接下来就需要解决x + δ ∈[0,1]n这一约束问题(Box constraints),作者对于这一问题提出了三个解决方案:
1)Projected gradient descent
该方法在每次实施梯度下降迭代,都将结果限制在box内。该方法的缺陷在于对于真实数据进行了剪裁,导致每次传入下一步的结果都不是真实值。
2)Clipped gradient descent
用f( min ( max ( x + δ , 0 ),1 ) )代替原目标函数f ( x+ δ ),该方法并没有剪裁x + δ,而是将限制加入到函数当中。缺点是有可能卡在一个平坦区域而此时 x + δ已经超过了最大值, 这样就会产生梯度为0的结果,以至于x即使减少也不会被探测到。
3 ) Change of variable
该方法对δ进行代换:
由于tan函数取值性质,从而保证x + δ符合盒约束。
作者对这f的7种形式结合三种约束方法进行了实验测试,结果如下:
作者之后又对D( x , x + δ )选取哪种范数等其他相关类别作了相关实验,由于本文献部分内容还没读完,此部分有待之后研究。
4. 想法
必须承认《Detecting Adversarial Examples through Image Transformation》文中所介绍的图像变换防御方法是一种有效、简洁且容易实现的防御手段,在工程实现中具有比较大的参考价值。但我认为此文中并没有给出于该方法的有效数学证明,其主要出发点是基于直觉的假设,就防御具有数学证明的CW attack来说,该方法缺乏理论上的支撑,后续应该对基于图像变换之后所产生的对decision boundary的影响进行进一步论证。关于该方法是不是某种程度上破坏了CW所归纳的最优化问题也要进行探讨,以及文中 “自然图像免疫图像变换影响,而对抗样本攻击会因图像变换而受影响”这一观点是否具有普适性也要深入讨论。
5. 下一步计划
读完《Towards Evaluating the Robustness of Neural Networks》,并理解其算法构造过程以及数学支撑,并回顾图像变换防御方法,就其可能对CW attack所产生的影响方面进行分析。另外对于对抗攻击的基础知识也要进一步补充。