引言

在自然语言处理 (NLP) 领域,深度神经网络 (DNN) 是当之无愧的霸主。它们驱动着从电商网站的情感分析到社交媒体上的毒性评论检测等一切应用。然而,这些模型有一个巨大的致命弱点: 它们非常脆弱。对输入句子进行微小且通常难以察觉的更改 (称为对抗性攻击) ,就可能导致最先进的模型对文本进行完全错误的分类。

虽然针对英文模型攻击的研究已经汗牛充栋,但针对中文 (互联网上第二大流行语言,拥有超过十亿用户) 处理模型的安全性却被大大低估了。

攻击中文文本的挑战在于,你不能简单地复制粘贴针对英文设计的方法。英文依赖于字母拼写;中文依赖于具有复杂形状和特定声调的表意文字。当研究人员尝试将英文攻击方法 (如简单的同义词替换) 应用于中文时,结果往往是母语者一眼就能识别出的“别扭”句子。

在这篇文章中,我们将深入探讨一篇提出新颖解决方案的论文: 基于免疫的音形码 (ISSC) 算法。该方法将汉字独特的语言特征 (声音和形状) 与生物启发式算法 (免疫系统的进化方式) 相结合,生成的攻击既能高效欺骗 AI,对人类读者来说又十分自然。

背景: 中文文本的独特挑战

为了理解为什么需要这种新方法,我们首先需要看看现有方法为何失败。

在对抗性文本生成中,攻击者的目标是对输入句子 \(\mathbf{X}\) 引入扰动 \(\Delta \mathbf{X}\),使模型犯错,同时保持句子对人类的可读性。

大多数现有的中文攻击方法都陷入了两个陷阱:

  1. 直接迁移: 它们直接使用通用中文嵌入来应用英文算法 (如遗传算法或粒子群优化) 。这忽略了汉字的内部结构。
  2. 简单贪婪搜索: 它们使用中文特有的特征 (如拼音) ,但使用简单的贪婪方法来优化攻击,导致生成的句子不自然。

如下面对比所示,迁移攻击通常会导致词语完全改变意思 (“paradise”变成了“fairyland”,这虽然没问题,但“fairyland”可能不符合上下文) 。相比之下,我们正在讨论的音形码 (SSC) 方法生成的候选词在发音或外观上与原词相似,为母语读者保持了句子的“流畅感”。

英迁移攻击与中文音形码 (SSC) 攻击的候选词对比。

研究人员发现,要有效攻破中文模型,我们需要按照中文的构造方式来操纵文本: 通过 (发音) 和 (视觉结构) 。

核心方法: ISSC 算法

ISSC 方法建立在两大支柱之上:

  1. 替换: 使用音形码 (SSC) 寻找完美的伪装字符。
  2. 优化: 使用自适应免疫算法 (IA) 决定交换哪些字符以及交换顺序。

让我们逐一拆解。

支柱 1: 音形码 (SSC) 替换

英文是线性的。如果你把 “identity” 拼错成 “idenity”,这是一个字符级错误。中文是二维且有声调的。一个汉字具有视觉布局和特定的发音 (拼音) 。

声音方面 (The Sound Aspect)

中文有很多同音字——发音相同但意义不同的字。这是人类使用拼音输入法时常见的拼写错误来源。利用这一点的对抗性攻击可以模仿自然的人类错误。

中文单词中相同或相似发音的示意图。

形状方面 (The Shape Aspect)

汉字也是视觉化的。它们由部首和笔画构成。有些字看起来非常相似,仅有一笔或一个部首的差别。

字形相似字符的示意图。

音形码 (The Sound-Shape Code)

研究人员利用了一种复杂的编码系统,称为音形码 (SSC) 。 该系统将每个汉字映射为一个统一的代码,代表其听觉和视觉属性。

如下图所示,SSC 是一个 11 位的代码。

  • 第 1-5 位 (音) : 编码韵母、声母、声调、韵尾和结构。
  • 第 6-11 位 (形) : 编码四角号码 (一种通过角来索引汉字的方法) 和笔画数。

音形码及其组成部分。

为了找到一个词的替代品,算法会计算目标字符的 SSC 与字典中其他字符的相似度。如果两个字符的 SSC 重叠度很高 (例如,相同的声调,相似的四角号码) ,它们就是极佳的替换候选者,因为它们在视觉和发音上的差异非常微妙。

该算法特别关注结构四角号码 。 结构定义了汉字的布局方式 (左右、上下、包围) ,这对视觉相似度有很大影响。

不同结构汉字的示意图。

带有四角号码的汉字示意图。

通过使用这种编码,算法确保了“伪装”字符不仅仅是随机的同义词,而是保持文本自然感觉的“形似字”或“音似字”。

支柱 2: 自适应免疫优化

一旦我们有了一份潜在替代字符的列表,我们就需要决定实际使用哪些来欺骗 AI。如果一个句子有 20 个词,每个词有 10 个替代品,组合的数量是天文数字。我们无法一一检查。

这就是免疫算法 (IA) 发挥作用的地方。

IA 是一种受生物免疫系统启发的优化方法。在这个类比中:

  • 抗原: 目标函数 (我们要欺骗的 AI 模型) 。
  • 抗体: 潜在的对抗性句子 (可行解) 。

目标是进化抗体,使其对抗原具有最高的“亲和度”——意味着它们能成功欺骗模型。

避免“同质化”陷阱

标准的优化算法 (如遗传算法) 通常会遭遇“过早收敛”。它们找到一个不错的解,然后整个解的种群变得一模一样,陷入局部最优。

ISSC 算法引入了一种自适应机制来防止这种情况。它基于两个因素评估抗体:

  1. 亲和度 (Affinity): 它欺骗模型的效果如何?
  2. 浓度 (Concentration): 该抗体与种群中其他抗体的相似程度如何?

目标函数如下所示:

考虑亲和度 J 和浓度 rho 的目标函数 S 的方程。

这里,\(\mathcal{J}\) 是攻击成功率 (亲和度) ,\(\rho\) 是浓度 (相似度) 。通过减去浓度,算法会对那些与群体中其他个体过于相似的解进行惩罚。这迫使算法保持多样性并探索搜索空间的不同部分。

相似度使用编辑距离计算:

计算两个抗体之间相似度的方程。

疫苗接种机制 (The Vaccination Mechanism)

这是该优化方法中最独特的部分。在标准的进化算法中,最差的候选者通常会被删除,并由随机的新候选者替代。

然而,在对抗性攻击中,“随机”的新句子通常都很糟糕。它们需要太长时间才能进化成有用的东西。

作者提出了疫苗接种 (Vaccination) 操作。算法不是淘汰掉弱的抗体,而是提取迄今为止发现的“最好”抗体 (全局最优) ,并将其部分片段 (基因) 注入到较弱的抗体中。

这种“疫苗”给了弱候选者一个提升,传递了已知的优秀特征,同时允许它们保留自己独特的差异。这大大加快了寻找成功攻击方案的速度。

实验与结果

研究人员在五个中文数据集上测试了 ISSC,包括新闻分类 (Chinanews) 和情感分析 (ChnSentiCorp, JD.com 评论)。他们攻击了六种不同的深度学习模型,包括 BERT、RoBERTa 和 LSTM。

他们将该方法与强大的基线进行了比较,包括:

  • 英文迁移方法: BEAT, GA, PSO。
  • 中文特定方法: Argot, ES (Expanding Scope)。

攻击成功率 (ASR)

主要指标是攻击成功欺骗模型的频率。

表格显示了所有攻击方法的攻击成功率和修改率。

如上表 (表 2) 所示, ISSC (最右列) 始终获得最高的攻击成功率。例如,在针对 CNN 模型的 Chinanews 数据集上,它达到了 100% 的 ASR 。 平均而言,它的表现比最好的基线方法高出 2% 以上。

至关重要的是,请看修改率 (MR) 列。MR 越低越好,因为这意味着为了攻破模型而更改的词更少。ISSC 通常比 Argot 或 GA 需要更少的更改就能攻破模型,表明它所做的更改更加“有效”。

文本质量和流畅度

如果生成的文本看起来像乱码,那么攻击就毫无用处。为了衡量质量,作者使用了 BERTScore (语义相似度) 和 Perplexity (困惑度/流畅度) 。

所有数据集上的 BERTScore 结果。

在图 7 中,我们可以看到 BERTScore 的分布。ISSC (最后一个小提琴图) 始终显示出更高的中位数分数和接近 1.0 的更紧密分布。这证明对抗性句子比 GA 或 PSO 等方法更好地保留了原始文本的含义。

所有数据集上的困惑度结果。

图 8 显示了困惑度的变化 (\(\Delta\) PPL)。变化越小意味着句子越自然。ISSC 在这里极具竞争力,通常比基线产生更流畅的文本,这要归功于音形码确保了语言的一致性。

“疫苗接种”有帮助吗?

作者进行了消融实验,以观察他们特定的算法选择是否重要。他们将完整的 ISSC 与没有疫苗接种模块的版本 (ISSC-vacc) 进行了比较。

Chinanews 数据集上三个模型的疫苗接种消融结果。

表 6 中的结果证实,如果没有疫苗接种,攻击成功率会下降,并且查询次数 (即必须问模型“这起作用了吗?”的次数) 会增加。疫苗接种机制使攻击更快、更有效。

结论

基于免疫的自适应音形码 (ISSC) 算法代表了理解中文 NLP 模型漏洞的重要一步。通过摆脱简单的翻译策略,并利用中文语言特定的视觉和听觉本质,研究人员创造了一种既高效又隐蔽的方法。

主要收获:

  1. 语言特异性很重要: 仅使用以英文为中心的技术无法有效地攻击 (或防御) 中文模型。音形码证明了利用字符结构和发音可以创造出更优越的对抗性候选词。
  2. 优化中的多样性: 使用带有浓度控制的免疫算法可以防止搜索陷入停滞,这是高维文本攻击中的常见问题。
  3. 疫苗接种策略: 将“目前为止最好的”特征注入较弱的解中,是加速进化算法收敛的有力方式。

这项工作提醒我们,随着我们在全球范围内部署 AI,我们必须针对其服务语言的本土攻击手段进行严格测试。英文环境下的鲁棒性并不能保证中文环境下的鲁棒性。