这部分挺有意思,建议了解。不过知乎说这个方向有点坑,不建议深入学习。
要把 Network 真正应用,光是它们正确率高是不够的,它们还需要能够应付来自人类的恶意。比如说我们在网上下载数据集训练时,如果有人恶意在数据集上加入很小的噪点(人眼看不出),导致数据集被误判为另一个种类,这样训练出来的网络就有了隐患(后门)。
攻击方法
攻击可分为两种类型,一种无目标攻击,一种有目标攻击。
-
无目标攻击:
我们现在要做的目标就是,我们要找到一张新的图片,这张新的图片 我们用 x 来表示,当我们把 x 丢到这个 Network 的时候,它的输出是 y,我们正确的答案叫做 ŷ,我们希望 y 跟 ŷ 它的差距越大越好。这与训练神经网络是类似的。
我们先定一个 Loss Function,看它的 Cross Entropy,我们希望这个 Cross Entropy 越大越好,所以我们今天在 Cross Entropy 前面加一个负号
-
有目标攻击:
假设原本是输出是猫,现在我们希望 Network,不仅输出的不能是猫,且要输指定的类别。比如说 我们希望加了一个杂讯以后,Network 输出是海星,它把猫错误判断成一个海星,才算是攻击成功。
那我们会先设定好我们的目标(例如海星这个目标),输出的值与目标值的cross entro