鲁棒性与可解释性

对抗样本(adversarial example)

/ ad-ver-SAIR-ee-ul EG-zam-pul /

对抗样本,是一种被极其轻微地「推」了一下的输入,目的是让机器学习模型严重出错——而人眼却看不出任何异样。想象一张熊猫的照片。撒上一层精心挑选、肉眼无法察觉的微弱噪点,一个最先进的图像分类器可能会突然信心十足地宣布:这是一只长臂猿。可在你看来,这张图还是一张不折不扣的熊猫。那点微小的扰动,把模型推过了一条看不见的界线。

为什么会这样?现代模型把所有可能输入的空间,切割成一块块边界尖锐、形状古怪的区域。这条决策边界往往比任何人预想的都更贴近寻常的输入,于是朝着恰好对的方向迈一小步,就跨了过去。关键在于:这种扰动并非随机——攻击者(或研究者)顺着模型自身的梯度,精确算出该改动哪些像素,用的正是模型当初学习时所用的那套数学。这是把模型的敏感性反过来对付它自己。

对抗样本之所以重要,是因为它揭示了一件事:在测试集上准确率很高,并不代表模型学到了我们以为它学到的东西。自动驾驶汽车的视觉系统、恶意软件过滤器、人脸识别闸机,都可能被精心设计、看似无害的输入骗过。它还戳破了一个让人安心的迷思:以为一个又自信又准确的模型,就一定是稳健的。这其实是两种不同的性质,模型可以有前者而没有后者。

研究者在一块真实的「停车」(STOP)路牌上贴了几张小小的黑白贴纸。在人类司机眼里它显然还是停车牌,可一个训练好的路牌识别模型却把它读成了「限速45英里」——而且在超过八成的拍摄角度下都是如此。

一次物理世界中的对抗攻击:人类会忽略的贴纸,却能让视觉模型翻盘改判。

真正令人不安的,不是某一个模型有bug。对抗样本常常会「迁移」:针对某个模型炮制的攻击,往往也能骗过另一个用不同数据训练、结构完全不同的模型。这说明它们利用的是这类模型「切分世界」方式中某种根深蒂固的东西,而非任何单一网络里一处可以修掉的笔误。

又称
adversarial input对抗样本對抗樣本对抗输入