目录
对抗样本案例
大熊猫的图像加上微小的扰动,人眼看不出来区别,但是模型把最右边的图片分类成长臂猿,而且置信度还比他之前把图片分类成大熊猫的置信度还高
对抗干扰是系统性问题
扰动导致模型分类出错有点类似于过拟合问题:模型能够很好地适应训练集,但是对测试集是未知的,所以可能随机犯错。如下图,O和X符号代表样本,区域代表模型得出的分类区域(由于过拟合,所以区域形状很别扭)。最左和最右的X和O是对抗样本,模型判断失误了,所以标红。如果真的是过拟合导致的分类失误,那么重新拟合一次模型或者拟合一个不一样的模型,我们会期望在测试集上的点随机地犯错误。但结果是,不同的模型容易在同一个对抗样本上犯错,并且会指定同样的类给他们。将原始样本和对抗样本的区别(输入空间上的offset向量)与clean example相加,几乎总能得到一个对抗样本.
对抗干扰源于线性
对抗干扰更像是欠拟合,而不是过拟合。比如下图中模型是线性的,决策边界本应该是C形的,没有拟合出来。对于决策边界很远的区域,模型对分类结果有很高的置信度,但分类结果就是错的。这和上面大熊猫的例子挺类似。
根据Ian Goodfellow,神经网络主要是基于线性块构建的,从输出到输出的映射是(分段)线性的,从参数到输出的映射是非线性的。这些线性函数很容易优化,不幸的是,如果一个线性函数具有许多输入,那么它的值可以非常迅速地改变。如果我们用 ϵ 改变每个输入,那么权重为w 的线性函数可以改变 ϵ ∥w∥1 之多,如果 w 是高维的这会是一个非常大的数。
他的意思是深度学习在对抗样本上的表现类似于下图的规律:对抗样本的产生是因为,模型线性程度过高(far too linear)。换句话说,线性模型容易受到攻击