1 引言
本文采用手稿模拟的角度,尽量使读者较为直白的面对冷冰冰的公式。
抛去CW算法不谈。一般来说,生成样本算法都要保证如下两个条件:
- 1、对抗样本和干净样本的差距应该越小越好。评价指标有 L0,L2,L正无穷
- 2、对抗样本应该使得模型分类错,且分类错的那一类的置信度应足够的高(有目标攻击)。
条件一,保证了生成样本与原始干净样本尽量的相似。
条件二,保证了生成样本确实能成功攻击模型。
仔细想想,这两个条件是不是就满足了生成样本的全部需求哩。
问题定义清楚了,那问题的数学描述就成了关键。
2 算法详解
2.1 常人思路
数学描述:
- 上述公式,Rn满足了条件一,f (An) 满足了条件二。
- 由于是有目标攻击,t 就是我们想要攻击成的类别,表示将对抗样本输入模型后,它的softmax层第t个的值越大,也就说明模型将其归为第t个类别,攻击成功。
- 我们希望模型将其归为第t个类别的概率越大越好,也就是希望 Z(An)t 越大越好 。Z(An)t 前面加个负号,变为最小化问题。
其手稿模拟如下: