引言
近期,各种问答任务都应用了深度学习。例如,关于图像的问答任务(如 Kazemi 和 Elqursh 等人 2017 年的工作);关于图表的问答任务(如 Neelakantan 等人 2017 年的工作);以及关于文本段落的问答任务(如 Yu 等人 2018 年的工作)。开发人员、用户以及审稿人(学术界)都希望了解这些模型的能力。
衡量系统表现的标准方式是在测试集上评估其误差率。只有当测试集可以代表潜在的真实世界任务时,高准确率才是一个好模型的指标。大多数任务的测试集和训练集都很大,因而很难检验这些数据集是否能代表真实世界。
本文提出的技术可以分析深度学习模型对问句中单词的敏感度。研究者通过归因分析以及生成对抗性问题来实现这种技术。举一个说明性的例子:视觉问答(Agrawal et al., 2015)中的任务是要回答关于图像的问题。思考一下「建筑物两边的白色砖块有多对称?」这样的问题(如图 1 所示)。本文研究的系统得到了正确的答案(「非常」)。但是,研究者(通过归因方式)发现这个系统只依赖于类似「how」和「bricks」等少数几个单词。事实上,我们可以在图像相同的情况下,提出一个可以使系统得到错误答案的对抗性问题。例如,对于「建筑两边的白色砖块有多圆?」这个问题来说,系统得到的答案是一样的(「非常」)。本项研究的一个重要前提是在问答方面大多数人都有基本常识。即使他们无法手动检验数据集是否能代表真实世界,但是他们可以识别问句中重要的词,并预测出这些关键词在回答问题中所起的作用。
本文的研究贡献
研究者分析了三个问答模型。有两个步骤:首先,应用了集成梯度(Integrated Gradients,IG)(Sundararajan et al., 2017),将系统的预测结果归因于问题中的单词上。研究者对归因结果进行了可视化,以便后续分析。其次,通过归因分析识别出网络逻辑中的弱点(例如,依赖不重要的单词),并利用这些弱点构建对抗性问题。
本研究的一个重要贡献在于可以对问答网络进行过稳定性(overstability)的测试。Jia 和 Liang 的研究(2017)表明,阅读理解网络对语义更改编辑来说有些过稳定。在研究过程中,作者发现这样的过稳定性也适用于问答任务。此外,这种行为在视觉问答网络和表格问答网络中也有所体现。作者使用归因定义一种通用的测试方法,以度量过稳定性的程度(4.3 节和 5.3 节)。该过程涉及到当系统地从问题中去除单词的过程中,度量网络的准确率的变化。
需要强调的是,与 Jia 和 Liang 相似的模型独立的对抗技术相比,本文的方法利用了现有模型的优缺点,这使得的攻击成功率更高。此外,利用归因分析,可以提高 Jia 和 Liang 工作的准确率(6.2 节)。就目前所知,这种广泛使用归因分析构建对抗样本的做法是很新颖的。
接下来提供本文结果的概述,在每种情况下都会对新输入上的预训练模型进行评估,并保持网络参数不变。
图像问答(第 4 节):该任务是要回答有关图像的问题。作者分析了 Kazemi 和 Elqursh 的研究(2017)中的深度网络。他们发现网络忽略了问题中的很多单词,这些单词很大程度上是依赖图像回答问题的。例如,在验证集中,即使删掉除了被强调外的每一个单词,模型准确性还是达到原始准确性的 50% 以上。他们还发现,该模型潜在地依赖于重要的疑问词(如名词),在问题中添加无内容前缀(如「简单来说…」)的话,模型准确率从 61.1% 降低到 19%。
图表问答(第 5 节):作者分析了 Neelakantan 等人在 2017 年做出的神经编程器(Neural Programmer,NP)系统的工作,该系统针对表格数据回答问题。NP 选择适用于附表的一系列操作回答问题(类似于 SQL 的 query 方法;在第 5 节中有细节描述)。他们发现与名词或形容词等重要词相比,无内容单词(如「in」、「at」和「the」等)更容易影响这些操作选择。删除所有的无内容单词后,模型的准确率从 33.5% 下降到 28.5%。他们还发现,NP 通常是以错误的原因得到正确答案的。例如,对于问题「哪个国家赢得了最多的金牌?」,NP 选择的操作之一是「第一」(选取图表的第一行)。只有当图表恰好是以排名组织时,它的答案才是正确的。研究者通过在 Pasupat 和 Liang 2016 年提出的生成扰动图表集上进行测试,来量化该弱点,并发现其准确率从 33.5% 下降到了 23%。最后,研究者展示了过稳定性的极端形式,其中图表自身就能在网络中诱导很大的偏差,而不管问题的具体内容。例如,在关于奥林匹克金牌数的图表中,NP 预先倾向于选择「前一个」的操作。
阅读理解(第 6 节):该任务是要回答文本段落的相关问题。分析了 Yu 等人的网络(2018)后又一次发现,网络常常忽略一些本应该重视的单词。Jia 和 Liang 等人 2017 年提出在句子中添加一些短语一般不会改变网络所给答案,但有时候能实现攻击。研究者的主要发现是,当被添加短语的句子中包含所有模型认为重要(对原始段落而言)的疑问词时,攻击成功的可能性更高。例如,他们发现,当添加的句子包含最高归因(top-attributed)的名词时,攻击成功的可能性会超过 50%。这种洞察可指导我们构建更成功的攻击和更好地训练数据集。
总之,研究者发现所有的网络都忽视了问题的重要部分。可以通过改善训练集或者引入归纳偏置解决这一问题。他们的分析工作对这两个方案都有帮助。对将最终用户展示归因可视化也是有意义的。了解哪些单词会被忽略,或者哪些操作会映射到单词,都可以帮助用户决定是否相信系统给出的回应。
图 1:图像问答(Kazemi and Elqursh, 2017):对能正确回答问题的网络的归因(词重要性)可视化。红色表示高归因,蓝色表示负归因,灰色表示近零归因。颜色由标准化的归因决定,也就是问题中归因程度最高的词语。
图 2:VQA 网络(Kazemi and Elqursh, 2017):相对于原始准确率,准确率更像是词汇量的函数。将词汇按出现频率降序排列,选择出现最多的词汇。X 轴取对数刻度,除了接近 0 的地方是线性的。
表 1:VQA 网络(Kazemi and Elqursh, 2017):前缀攻击的准确率;原始准确率为 61.1%。
图 3:归因分析的可视化。Y 轴上是疑问词、预处理标记和列选择先验。X 轴上是操作符和列选择,括号内是其基准线。操作符和列本身不影响最终答案,与对应的基准线一样,定为零归因。
表 2:表格特定默认程序(NP 在空输入问题上返回的程序)的列名归因。完整列表见补充材料中的表 6。这些结果表明,网络预先倾向于只根据表格选择运算符。
图 4:准确率作为词汇量的函数。按照出现频率,降序排列这些词,选择这些词作为问题中词语的最高归因。X 轴取对数坐标,除了接近 0 的地方是线性的。注意,只需要 5 个词网络的最终准确率即可超过 50%。
表 3:神经编程器(Neelakantan et al., 2017):左边:将攻击短语加入问题后得到的验证准确率(原始准确率为 33.5%)。
表 4:ADDSENT 攻击没能骗过这个模型。经过修改保留了归因程度高的名词后成功骗过了模型。归因程度高的词是红色的(归因程度越高颜色越深)
论文:Did the Model Understand the Question?
论文地址:https://arxiv.org/abs/1805.05492
摘要:本文分析了针对三个任务的最新的深度学习模型:对图像的问答、对图表的问答和对文本段落的问答。通过归因(词重要性)标记,发现这些深度网络常常会忽略问题中重要的词。利用这样的漏洞,我们对问题做了扰动修改,从而制造出各种各样的对抗样本。最强的攻击将图像问答模型的准确率从 61.1% 降低到 19%,将图表问答模型的准确率从 33.5% 降低到 3.3%。此外,本文还说明了在段落理解模型上归因是如何增强攻击力度的(Jia 和 Liang 2017 年提出)。研究结果表明,归因可以加强准确率的标准衡量,还可以使模型性能具备可探究性。当一个模型出于错误原因变成准确的的时候,归因分析会在模型中显示逻辑错误,指出测试集中数据的不足之处。