一、样本与对抗样本
- 样本:样本是正常输入数据;
- 对抗样本:对抗样本则是经过精心设计、用来诱导 AI 模型生成错误输出的扰动数据,攻击者向样本中添加人类难以察觉的微小扰动,生成能够绕过防御检测机制并让 AI 模型输出错误结果的样本。
- 对抗样本存在的根因:现实中的问题和答案难以被精准定义。现实问题的边界是模糊的,但 AI 分类的边界必须是明确的,这一"必须明确"制造出可被利用的缝隙,导致部分样本被分错类。例如一幅画中,交界处的颜色无法被精准归类,人和 AI 都会犯难。
二、对抗样本攻击的概念
对抗样本攻击是一种通过人为设计的输入数据,在看似正常的情况下诱导模型产生错误预测的攻击方式。其核心机制是:对输入数据施加细微、人类难以察觉的扰动,扰动对人不构成影响,却能显著改变模型输出。它暴露的是大模型的鲁棒性问题,也就是模型应对复杂环境输入的能力不足。
按攻击者掌握的信息量,对抗样本攻击分为两类:
| 维度 | 白盒攻击 | 黑盒攻击 |
|---|---|---|
| 攻击者可见信息 | 模型权重、架构、训练工作流程,可获得梯度信号 | 仅能访问接口:提交输入、获取输出反馈 |
| 前提条件 | 适用于开源模型,但不要求获得全部训练数据 | 不了解模型内部细节 |
| 效率与精度 | 效率和精度更高 | 依赖查询与推断 |
三、对抗样本生成方法
1、梯度攻击法
利用模型的可微特性,计算损失函数相对于输入的梯度,找到可诱导模型出错的方向。
- 快速梯度符号法(FGSM):对输入施加与梯度符号一致的微小扰动。在文本输入中,即替换或插入与梯度符号方向一致的单词或符号,使模型生成误导性内容。
- 投影梯度下降法(PGD):通过多步梯度更新,在限定扰动范围内不断优化对抗样本,适用于生成需多轮修改的复杂对抗样本。
2、替换和插入攻击
根据模型对输入的敏感性,替换或插入词汇以改变模型输出。
- 同义词替换:利用词嵌入模型或词典,将关键单词替换为近义词。如把"喜欢"换成"热爱",语义不变,但足以干扰模型输出。
- 无关词插入:向文本中插入"%"、"@"等无关词或符号,使模型错误理解上下文并产生异常输出。
3、黑盒优化攻击
无法获得梯度信息时,仅基于输入---输出关系,通过多次查询模型反复调整输入以最大化误判概率。
- 遗传算法:多次迭代中选择和变异输入,使其逐步"进化"为有效对抗样本。
- 贝叶斯优化:基于输出反馈构建输入样本的概率模型,在有限查询次数内寻找最佳扰动。
4、语法和语义保留的对抗攻击
为躲避人工审查,修改既要欺骗模型,又要让人察觉不到异常。
- 句法结构重排:改变句子结构而不改变语义。如"他今天去了商店"改为"今天他去了商店",可误导模型的上下文分析。
- 语义等价替换:利用语言模型生成语义相近但结构不同的句子,混淆模型的分类或理解能力。
5、混合对抗样本生成方法
组合多种方法提升攻击效果,例如先用梯度攻击法生成初步扰动样本,再结合同义词替换或句法结构重排增强效果。混合方法在语言模型攻击中表现尤为突出,因为它兼顾了对模型参数的攻击和对语言特性的掩盖。
大模型对抗样本生成的三大挑战:
- 自然语言具有离散性,难以像图像那样通过微小数值调整生成扰动;
- 生成的对抗样本必须在语法和语义上合乎规范,避免被察觉或拦截;
- 大模型基于上下文和序列关系理解与生成,单一词汇或句子扰动往往不足以欺骗模型,需结合复杂上下文修改。
四、对抗样本攻击的防御
1、防御方法
大模型对抗样本防御围绕输入数据处理、模型结构优化、检测监控三方面展开。
- 对抗训练:最常用方法,将对抗样本与正常样本一同用于训练,让模型学习对抗样本特征,提升应对已知攻击的能力;但计算开销大,且对未见过的攻击效果有限,需结合其他策略。
- 输入数据做正则化与特征裁剪:对输入做高斯模糊、归一化或裁剪特征维度,削弱微小扰动;特征裁剪通过降低数据精度,使模型不易受扰动影响,增强输入空间鲁棒性。
- 模型随机化:在预测过程中引入随机性,如随机选择路径或随机变换输入数据,使攻击者难以精准生成有效对抗样本。
- 冗余模型:组合多个模型的预测结果(投票或加权平均),提高抗攻击能力,避免单点失效。
- 检测与监控:①基于置信度的监控,分析模型输出置信水平,若在某些输入上置信度极低,可能表明输入带对抗扰动;②特征空间监控,若输入导致模型内部特征向量显著偏离正常轨迹,系统提前报警,避免错误输出。
2、鲁棒性提升策略
鲁棒性提升旨在增强模型对输入微小扰动的耐受能力,方法覆盖模型训练、结构优化和推理流程的多层次改进:
- 对抗训练:核心方法,注入对抗样本使模型学习扰动特征;还能促使模型在一般数据上表现更稳定。但生成对抗样本计算开销大、攻击类型差异大,单靠对抗训练不足以应对所有场景。
- 随机化机制:在输入数据或模型参数中引入随机性(随机权重初始化、随机数据变换),使攻击者难以生成精准对抗样本,减少固定路径上的脆弱性。
- 冗余模型:多模型结果投票或加权平均,提高系统稳定性与抗攻击能力。
- 鲁棒性优化:训练阶段通过修改损失函数,使权重更新更注重扰动耐受性,例如引入正则化项抑制过拟合倾向,提升对未知扰动的抵抗力。
多种策略综合应用,模型不仅能在已知对抗场景保持鲁棒,还能提升应对未知攻击的适应能力。