今天 Adversarial Attack這麼容易成功
这个领域为对抗攻击与防御(Adversarial Attack and Defense),目前攻击是比较容易的而防御比较困难。
Motivation
在将神经网络模型应用于实际场景时,它仅仅拥有较高的正确率是不够的,还希望它能够应对来自外界的“恶意”,特别是在垃圾邮件分类、恶意软件检测、网络入侵检测等任务中,那些负类样本也会想尽办法来“欺骗”模型,使模型无法辨别出它为负类。因此我们希望我们的模型能够拥有应对这种攻击的能力。
How to Attack
通过影像辨识的例子来解释如何进行攻击:
一般加入的杂讯非常非常小,小到人眼无法辨别、
攻击大致可以分为两种类型: 无目标攻击(non-targeted)和有目标攻击(targeted),前者比较容易成功,后者不容易成功。adversarial attack攻击过程为:
事实上我们可以调整我们的杂讯让机器把这张看起来像一只猫的图片分辨成任何东西,
如果你加入的只是一般的雜訊,它並不一定會犯錯
我們一般在做 Classification 的時候、我們訓練的目標 y 跟 ŷ都是看它的 Cross Entropy e(y, ŷ)
ŷ和 y target 都是一個 One-Hot Vector
其中d(x0,x ) ≤ ε 代表我们希望加入的图像和原始的图像比较接近,这样肉眼才看不出来。而这个距离有各式各樣不同的算法, 下面举两个例子:
有各種不同的方法 可以計算兩張圖片之間的距離,但是我們在決定要使用哪一種方法,來計算圖片的距離的時候,其實我們應該把人類的感知考慮進來,
定这个差距 要凭domain knowledge,
那么下面的问题就是我们如何求解这个优化问题:
跟之前我们训练模型时调整参数是一样的