用对抗样本攻击视觉语言接地:神经图像描述案例研究
Attacking Visual Language Grounding with Adversarial Examples: A Case Study on Neural Image Captioning
作者提出 Show-and-Fool,对图像描述(image captioning)模型做定向对抗攻击,在 Show-and-Tell 上随机目标描述攻击成功率 95.8%(Table 1)。
攻击者目标:让图像描述模型输出随机指定的目标描述(targeted caption)或包含指定关键词(targeted keyword)。
- 图像描述系统(CNN+RNN)对视觉对抗扰动的鲁棒性未知;作者认为 caption 攻击比分类攻击更难,因为输出空间近乎无限且语义相近的描述不应视为不同类别。
- 提出 Show-and-Fool:把攻击写成最小化 c·loss + L2 扰动的优化问题,用 arctanh 变换处理盒约束,设计 targeted caption 与 targeted keyword 两种损失(logits 版与 log-prob 版),ADAM 优化并对 c 做二分搜索。
- 在 MSCOCO 验证集 1000 张图上,targeted caption 成功率 95.8%(logits loss),keyword 攻击 96.0%–97.5%;对抗样本可从 Show-and-Tell 迁移到 Show-Attend-and-Tell 和 NeuralTalk2;仅攻击 CNN 的 I-FGSM/C&W 迁移成功率仅 34.5%/22.4%。
- 论文未专门讨论局限。实验只覆盖 Show-and-Tell 为主要受害模型,迁移目标为 Show-Attend-and-Tell 与 NeuralTalk2;未评测任何防御,未报告重复次数与方差。
- 威胁模型
- 攻击者目标:让图像描述模型输出随机指定的目标描述(targeted caption)或包含指定关键词(targeted keyword)。知识:白盒——使用预训练 Show-and-Tell 模型并用 ADAM 基于梯度优化。能力:对输入图像加 L2 扰动(像素范围 [−1,1])。受害系统:CNN+RNN 图像描述系统(Show-and-Tell,Inception-v3 编码器);迁移实验以 Show-Attend-and-Tell、NeuralTalk2 为受害模型。
- 被测模型
- Show-and-TellShow-Attend-and-TellNeuralTalk2Inception-v3
- 基准
- MSCOCOImageNet
- 指标
- attack success rateL2 distortionBLEU-1/2/3/4ROUGEMETEOR
研究者提出 Show-and-Fool 算法,用于对神经图像描述系统构造对抗样本,这类系统通常采用 CNN 提取图像特征、RNN 生成描述的编码器-解码器框架。算法提供两种评测方式,检验图像描述系统能否被误导输出随机选定的描述或关键词。大量实验显示,该算法能生成视觉上相似、却带有指定描述或关键词的对抗样本,且这些样本对其他图像描述系统具有高迁移性。作者称这一结果为神经图像描述的鲁棒性带来新的启示,也为视觉语言接地研究提供了新见解。
深度解读
这篇论文试图解决什么问题?
研究图像描述(CNN+RNN)系统对定向对抗扰动的鲁棒性,提出 Show-and-Fool 攻击算法。
核心问题:神经图像描述(neural image captioning)系统是否会被视觉上不可察觉的对抗扰动误导,输出攻击者指定的描述或关键词。
- 场景与重要性:图像描述是视觉语言 grounding 的代表任务,作者列举的应用包括图像搜索、能看会说的 AI 智能体、以及帮助视障人士访问网页;若系统可被误导,作者认为这暴露了人机在视觉语言 grounding 上的不一致。
- 现有工作不足:作者称对抗样本研究集中在 CNN 图像分类器,对 RNN 及 CNN+RNN 架构的攻击研究少得多;且把分类攻击直接套用到 captioning 上行不通——caption 输出空间近乎无限,语义相近的描述不应算作不同类别。
- 核心观察:作者认为 caption 攻击比分类攻击更难(目标相当于近乎零体积的搜索空间),需要专门设计的损失函数;并引用 Carlini and Wagner (2017) 的结论,用 logits 构造损失比用概率更好。
- 论文提出:Show-and-Fool 算法,包含 targeted caption(生成与目标完全一致的描述)和 targeted keyword(描述包含指定关键词、语序自由)两种攻击设定,并评测对抗样本的可迁移性。
- 威胁模型:
- 目标:让受害模型对扰动后的图像输出随机指定的目标描述,或输出包含全部指定关键词的描述。
- 知识:白盒——攻击使用预训练 Show-and-Tell 模型,用 ADAM 做基于梯度的优化。
- 能力:对输入图像加 L2 范数扰动,像素值约束在 [−1,1];每张图 1000 次迭代。
- 受害系统:CNN+RNN 图像描述系统,主测 Show-and-Tell(Inception-v3 编码器);迁移实验针对 Show-Attend-and-Tell 与 NeuralTalk2。
有哪些相关研究?
相关工作分视觉语言 grounding、CNN+RNN 图像描述、CNN 对抗攻击三类;作者称本文是首个针对图像描述的对抗样本工作。
视觉语言 grounding
- 多任务家族——论文列举 image/video captioning(Karpathy and Li, 2015; Vinyals et al., 2015 等)、visual dialog(Das et al., 2017)、visual question answering(Antol et al., 2015 等)、visual storytelling、image generation from captions 等;本文聚焦其中图像描述模型的鲁棒性,作者认为方法也可为其他使用类似多模态 RNN 架构的任务提供鲁棒性评测思路。
CNN+RNN 图像描述模型
- Show-and-Tell(Vinyals et al., 2015)——CNN 编码器 + RNN 解码器的 vanilla 版本,本文的主要攻击对象。
- Show-Attend-and-Tell(Xu et al., 2015)——在 LSTM 中加入 attention,并用最后一个卷积层特征图;本文迁移实验的目标模型。
- NeuralTalk(Karpathy and Li, 2015)——同一框架的代表模型,本文迁移实验也覆盖 NeuralTalk2。
- 作者称这些模型与更新的系统共享 CNN+RNN 框架,因此 attention 机制和 CNN/RNN 架构的选择不会显著影响鲁棒性结论。
图像描述的鲁棒性研究
- Shekhar et al. (2017)——通过 foil word(替换一个词)实验展示图像描述模型对单词改动不敏感;论文指出这对应非定向(untargeted)攻击范畴,而本文研究更难的定向(targeted)攻击,要求模型生成预先指定的描述或关键词。
CNN 分类器上的对抗攻击(详见补充材料第 6 节)
- Szegedy et al. (2014)、Goodfellow et al. (2015)、Carlini and Wagner (2017)——CNN 分类器对对抗样本脆弱;本文借鉴 C&W 的优化式攻击框架和 logits 损失设计。
- I-FGSM(Kurakin et al., 2017)与 C&W(Carlini and Wagner, 2017)——本文第 4.5 节用它们仅攻击 CNN 模块作为对照基线,基准为 ImageNet(随机选 800 张图)。
- 可迁移性与通用扰动——Papernot et al. (2016a)、Liu et al. (2017c) 展示分类器间对抗样本可迁移;Moosavi-Dezfooli et al. (2017) 提出通用对抗扰动。
作者称,就其所知本文是首个针对神经图像描述系统构造对抗样本的工作,因此没有其他方法可直接对比。
论文如何解决这个问题?
把攻击写成带 L2 正则的优化问题,为 targeted caption 和 targeted keyword 各设计 logits 与 log-prob 损失,ADAM 求解。
整体思路:Show-and-Fool 把构造对抗样本写成优化问题——最小化攻击损失与扰动 L2 距离的加权和,用 arctanh 变换把盒约束化为无约束问题,再针对两种攻击设定设计专门的损失函数。
问题形式化
- 对图像 I 求扰动 δ:minδ c · loss(I+δ) + |δ|22,约束 I+δ ∈ [−1,1]ⁿ;c 为正则常数,c 越大攻击越容易成功但扰动越大。
- 引入 y = arctanh(I)、w = arctanh(I+δ) − y,把约束问题化为对 w 的无约束优化,tanh 自动满足盒约束。
- c 用二分搜索确定:初始 c=1,每次放大 10 倍直到成功,再在成功与失败的 c 之间取平均,共搜索 5 次。
Targeted caption 损失
- 目标:让目标描述 S 的条件对数概率在所有可能描述中最大;直接用负对数概率作损失(log-prob 版,式 5)。
- logits 版(式 7):只要求目标词 St 在位置 t 的 logit 超过其他词的最大 logit 一个间隔 ε,损失为各位置 hinge 项之和;当目标词已领先 ε 时该项梯度为零,让优化器聚焦尚未达标的位置。
- 作者引用 Carlini and Wagner (2017):logits 损失在目标网络有梯度掩码(如 defensive distillation)时优于概率损失,因此两种都提供。
Targeted keyword 损失
- 关键词 Kj 不要求出现在特定位置:对每个关键词取所有位置上 hinge 损失的最小值,再对 M 个关键词求和(式 8)。
- RNN 输入处理:没有完整目标句,用原图的推断描述作初始输入,每优化 T 步后把当前 top-1 预测作为新输入继续迭代。
- 关键词冲突:多个关键词可能在同一位置竞争 top-1;引入门函数 gt,j,当某位置的 top-1 已是其他关键词时屏蔽该项(logits 版式 9;log-prob 版式 12–13,见补充材料第 9 节)。
优化与成功判定
- ADAM 优化,学习率 0.005,迭代 1000 次;除迁移实验外固定 ε=1;单张图 1000 次迭代约 38 秒(Nvidia GTX 1080 Ti)。
- targeted caption 成功标准:推断描述与目标描述完全一致;targeted keyword 成功标准:推断描述包含全部指定关键词。
- 目标描述/关键词取自另一张随机验证集图模型的生成描述,保证目标在模型输出空间内;关键词只取名词、动词、形容词或副词。
论文做了哪些实验?
在 MSCOCO 1000 张图上攻击 Show-and-Tell:targeted caption 成功率 95.8%,keyword 攻击 96.0%–97.5%,且对抗样本可迁移。
实验设置
- 受害模型:预训练 TensorFlow 版 Show-and-Tell(Inception-v3 作 CNN 编码器);迁移实验用 Show-Attend-and-Tell(同样 Inception-v3、MSCOCO 2014 训练,CNN 参数因 fine-tuning 不同)和 NeuralTalk2。
- 数据集:MSCOCO 验证集,每组实验随机选 1000 张图;第 4.5 节另用 ImageNet 随机 800 张图(synset 与 Show-and-Tell 词表有共同词、且 Inception-v3 分类正确)。
- 基线:第 4.5 节用 I-FGSM 和 C&W 仅攻击 CNN 模块(ImageNet 分类任务),再把对抗样本用于攻击 Show-and-Tell;作者称本文是首个 captioning 攻击工作,无其他方法可比。
- 指标:攻击成功率、平均 L2 扰动(仅对成功样本取平均);描述相关性用 BLEU-1/2/3/4、ROUGE、METEOR。
- 参数:ADAM 学习率 0.005,1000 次迭代,c 二分搜索 5 次,ε=1(迁移实验除外);keyword 实验每 T=5 次迭代更新一次 RNN 输入。
- 损失:正文报告 logits 损失(式 7、9)结果;log-prob 损失结果在补充材料(Table 5–8)。
主结果
据 Table 1(logits 损失,Show-and-Tell,MSCOCO 验证集 1000 张图):
实验 成功率 平均 L2 扰动 targeted caption 95.8% 2.213 1-keyword 97.1% 1.589 2-keyword 97.5% 2.363 3-keyword 96.0% 2.626 C&W on CNN(迁移到 Show-and-Tell) 22.4% 2.870 I-FGSM on CNN(迁移到 Show-and-Tell) 34.5% 15.596 - 作者称高成功率与低扰动说明 Show-and-Tell 对定向对抗扰动不鲁棒;Figure 1 展示的对抗样本与原图视觉上不可区分。
- 作者称 keyword 攻击成功率高于 caption 攻击(1-keyword 与 2-keyword 至少 97%,3-keyword 至少 96%),因为 caption 生成自由度更大。
- 仅攻击 CNN 的 I-FGSM/C&W 在 ImageNet 分类上达 100% 定向成功率,但迁移到 Show-and-Tell 的成功率只有 34.5%/22.4% 且扰动更大;作者据此称攻击 captioning 系统不是分类攻击的简单扩展。
失败样本分析
- targeted caption 失败的 4.2% 样本(Table 2):生成描述与目标描述仍高度相关,如 c=10 时 BLEU-1 为 .725、ROUGE 为 .664;c 增大时扰动从 1.726(c=1)升至 23.31(c=10⁴)。
- 3-keyword 失败的 4.0% 样本(Table 3):多数仍含部分关键词,c=10² 时 93.1% 的样本含至少 1 个目标关键词、58.6% 含 2 个,平均含 1.52 个;作者称失败样本仍是部分成功。
迁移性实验
- 设置:先在 Show-and-Tell 上用 targeted caption 方法生成 1000 张图的成功对抗样本,再输入 Show-Attend-and-Tell;ori 衡量迁移样本描述与原图描述的差异(越小越好),tgt 衡量与目标描述的相似度(越大越好),mis 为两模型对同一原图生成描述的固有差异(model mismatch)。
- 结果(Table 4):增大 c 或 ε 提升迁移性但增大扰动;C=1000、ε=10 时 tgt 最接近 mis(如 BLEU-1 tgt=.534 对 mis=.649),作者称此时两模型对抗描述的差异主要由模型固有差异决定,对抗扰动高度可迁移。
- NeuralTalk2:c=10⁴、ε=10 时,原图与迁移对抗描述间的平均 L2 扰动 38.01、BLEU-4 为 0.440、METEOR 为 0.473;作者称对抗样本也能骗过 NeuralTalk2,并认为这反映了不同 captioning 模型间的共同鲁棒性泄漏。
其他消融与分析
- log-prob 损失(补充材料 Table 5):targeted caption 成功率 95.4%、平均扰动 1.858;1/2/3-keyword 成功率 99.2%/96.9%/95.7%,与 logits 损失相近;作者解释目标模型无防御时 softmax 梯度消失问题不显著,但建议一般用 logits 损失。
- log-prob 迁移性(Table 8):C=1000 时 BLEU-1 tgt=.500(mis=.657);作者称与 Table 4(C=1000, ε=10)相比 ori 和 tgt 更差,logits 损失中额外的 ε 参数有助于迁移。
- attention 可视化(Figure 11–13):原图上 Show-Attend-and-Tell 的 attention 与人类感知对齐,迁移后的对抗样本 attention 出现错位(作者称)。
- 失败样本统计(log-prob):targeted caption 失败率 4.6%(Table 6);3-keyword 失败率 4.3%,其中 c 合适时超过 90% 含至少 1 个关键词、超过 60% 含 2 个(Table 7)。
有什么可以进一步探索的点?
论文未专门讨论局限;结论中提到可用对抗训练或数据增强提升鲁棒性,实验仅覆盖三个模型、无防御评测。
作者指出的局限与后续方向
- 论文未设 Limitations 或 Future Work 小节,未明确陈述局限。
- 扩展应用(Conclusion):作者称 Show-and-Fool 可容易地扩展到其他使用 RNN 或 CNN+RNN 架构的应用。
- 防御方向(Conclusion):作者认为本文方法可用于评估并可能提升视觉语言 grounding 及其他 NLP 模型的鲁棒性,例如通过对抗训练或数据增强——这是作者提出的可能性,论文未做防御实验。
- 建议使用 logits 损失(补充材料第 8 节):评估一般图像描述模型的鲁棒性时,作者建议用 logits 损失,因为它不受潜在梯度消失影响、能揭示模型固有鲁棒性。
实验覆盖范围
- 被攻击的 captioning 模型为 Show-and-Tell(主测)、Show-Attend-and-Tell 与 NeuralTalk2(仅迁移实验),共 3 个;均基于 Inception-v3 编码器。
- 数据集为 MSCOCO 验证集(每组实验随机 1000 张图)和 ImageNet(第 4.5 节,随机 800 张图)。
- 扰动仅用 L2 范数度量;第 4.5 节 I-FGSM 基线使用 L∞ 约束(ε∞=0.3)。
- 成功判定为精确匹配(targeted caption)或包含全部关键词(targeted keyword),未用 LLM 或人工评审;描述相关性用 BLEU/ROUGE/METEOR 自动指标。
- 论文未报告实验重复次数、成功率方差或置信区间;未评测任何防御或自适应攻击。
总结一下论文的主要内容
Show-and-Fool 用优化方法攻击 CNN+RNN 图像描述模型,定向描述攻击成功率 95.8%,且对抗样本可跨模型迁移。
一篇针对神经图像描述系统的对抗攻击论文(作者称是首个此类工作),研究 CNN+RNN 架构在视觉语言 grounding 任务上的鲁棒性。
- 问题:图像描述模型是否会被视觉不可察觉的扰动误导,输出攻击者指定的描述或关键词;作者认为 caption 攻击比分类攻击更难,因为输出空间近乎无限。
- 方法:Show-and-Fool 把攻击写成最小化攻击损失加 L2 扰动的优化问题,arctanh 变换处理盒约束,ADAM 求解;两种设定——targeted caption(精确匹配目标描述)和 targeted keyword(包含指定关键词),各配 logits 与 log-prob 两种损失,keyword 版用门函数处理关键词冲突。
- 主结果:在 MSCOCO 验证集 1000 张图上攻击 Show-and-Tell,logits 损失下 targeted caption 成功率 95.8%、平均 L2 扰动 2.213;1/2/3-keyword 成功率 97.1%/97.5%/96.0%(Table 1)。
- 迁移性:Show-and-Tell 上生成的对抗样本可迁移到 Show-Attend-and-Tell(C=1000、ε=10 时 tgt 接近模型固有差异 mis)和 NeuralTalk2(BLEU-4 0.440、METEOR 0.473);作者称这暴露了模型间的共同鲁棒性泄漏。
- 对比实验:仅攻击 CNN 的 I-FGSM/C&W 在 ImageNet 分类上 100% 成功,但迁移到 Show-and-Tell 仅 34.5%/22.4%;作者据此称攻击 captioning 不是分类攻击的简单扩展。
- 作者结论:实验结果指出被测图像描述系统在视觉语言 grounding 上的薄弱环节,人机 grounding 存在不一致;作者认为方法可扩展到其他 RNN/CNN+RNN 应用,并可用于评估乃至通过对抗训练提升鲁棒性。