对抗性机器学习是什么?研究如何“骗”过模型以及如何防御
对抗性机器学习(Adversarial Machine Learning)是研究机器学习模型在面对恶意攻击时的安全性的领域。它关注攻击者如何通过精心构造的欺骗性输入来误导机器学习模型,也关注如何检测和防御这些攻击。其中最著名的研究对象是“对抗样本”:专门为了欺骗模型而创建的输入。
对抗样本:人眼看不出,模型却会被骗
2013 年,Christian Szegedy 等研究者发现了一个惊人的现象:在一张图片上加入人眼几乎完全察觉不到的、精心计算出的微小扰动,就能让一个高精度的图像分类模型以很高的置信度给出完全错误的判断。2014 年 Ian Goodfellow 等人的一个经典例子是:一张熊猫的照片,加上一层微小的“噪声”后,人看起来依然是同一张熊猫照片,模型却以超过 99% 的把握认为它是一只长臂猿。这类攻击已在图像、语音、文本等多种类型的模型上被证实。研究者还展示过现实世界中的例子:在交通标志上贴几张特制的贴纸,就可能让自动驾驶的视觉系统把“停止”标志识别成限速标志。
常见的攻击类型
逃避攻击:在模型使用阶段,构造对抗样本让模型给出错误的判断,比如让恶意软件逃过检测、让垃圾邮件骗过过滤器。数据投毒:在模型训练阶段,向训练数据中混入精心设计的“有毒”数据,让模型学到错误的规律,或者植入“后门”,让模型在遇到特定的触发条件时做出攻击者想要的行为。模型窃取:通过大量地查询模型的接口,复制出一个功能相近的模型。隐私攻击:从模型的输出中推断出训练数据中的敏感信息,比如判断某个人的数据是否被用于训练。在大语言模型时代,又出现了新的攻击形式,比如提示注入,在输入或网页内容中藏入恶意指令,诱导模型执行不该执行的操作;以及各种绕过安全防护的提示方法。
防御方法
研究者提出了多种防御手段:对抗训练,在训练时主动生成对抗样本并加入训练数据,让模型学会抵抗这类扰动,是目前最有效的方法之一;输入预处理和检测,在模型接收输入之前,对输入进行净化,或者检测并拒绝可疑的输入;可认证的鲁棒性,从数学上证明在一定范围内的扰动不会改变模型的判断;以及对训练数据进行审查、对模型进行安全评估和红队测试。
为什么重要
对抗性机器学习揭示了现代机器学习模型的一个根本性弱点:它们学到的规律可能与人类的理解很不一样,因此可能以人类意想不到的方式被利用。随着 AI 被用于自动驾驶、医疗诊断、金融风控、内容审核等关键领域,研究攻击方式的目的,是为了更好地发现和修补漏洞,让 AI 系统更加安全可靠。