你好,游客 登录
背景:
阅读新闻

IBM、哈佛联合提出Seq2Seq-Vis:机器翻译模型的可视化调试工具

[日期:2018-05-11] 来源:机器之心  作者: [字体: ]
  • 项目演示地址:http://seq2seq-vis.io/

  • GitHub 地址:https://github.com/HendrikStrobelt/Seq2Seq-Vis

图 1:(左图)Seq2Seq-Vis 中翻译视图(Translation View)示例:输入语句为「our tool helps to find errors in seq2seq models using visual analysis methods」,目标是将其翻译为德语。编码器和解码器之间对单词「seq2seq」的关注(attention)是正确的(红色高亮线条),但目标语言的语言词典 (language dictonary) 中并没有对应单词。观察「seq2seq」的编码器近邻词(右图)可以发现,另一个未知单词「hunki」与其距离很近。各种按钮能够支持用户完成更深层分析的交互需求。

介绍

基于神经网络的深度学习方法在诸多人工智能任务中都表现出了惊人的提升效果,但复杂的结构也令人们很难解释其预测结果。基于注意力的 sequence-to-sequence models (seq2seq) [3, 49],通常也称为编码器-解码器(encoder-decoder)模型,就是这一趋势的范例。在很多诸如机器翻译、自然语言生成、图像描述以及总结的应用场景中,seq2Seq 模型都表现出了当前最优的效果。最新研究表明,这些模型能够在特定的重要场景下,实现人类级别的机器翻译效果。

seq2seq 模型的强大性来自于其为对序列的处理和预测提供了一个高效的监督方法,而无需对源序列和目标序列间的关系予以人工指明。在同一个模型中,系统能够学会对源序列句进行重排、转换、压缩或扩展,进而输出目标序列。上述变换是通过一个巨大的内在状态表征实现对源序列的编码及之后的解码工作的。只要数据量充足,seq2seq 模型就能为预测序列的学习提供一个通用的实现机制。

虽然 seq2seq 模型的影响已经很明确了,但深度学习模型导致的复杂程度和不确定性的增加也带来了问题。通常,在给出预测时,这些模型的表现都像是一个黑箱,使得追踪错误源头也变得困难。而内部的潜在表征也使人们难以分析这些模型,因为它们将数据转化成了和原始序列相差甚远的结果。虽然这些性质是很多深度学习技术所共有的,但对于人类读者而言,语言中的错误会非常明显。例如,由于 seq2seq 翻译系统将「早上好」错误的翻译为了「攻击他们」,导致了一次错误的逮捕,最终成为一起广为人知的事故 [12]。除此之外,seq2seq 模型中更常见却也值得担忧的失败包括:机器翻译系统完全曲解了一句话,图像描述系统生成了错误的描述,或语音识别系统给出了错误的文本。

在理想情况下,模型开发者希望部署能够完全理解、相信其产生结果是正确的系统。但目前对于深度学习模型而言,这个目标依然难以实现。同时研究者相信,在「以一种通用的、可复现的方式实现表象化、可视化 seq2seq 系统中的错误」这一重大挑战面前,可视化分析社区能够有所帮助。

研究者开发了 SEQ2SEQ-VIS:一个能够通过实现以下三个目标,进而满足上述要求的可视化分析工具。

  • 检查模型决策:SEQ2SEQ-VIS 允许用户理解、描述并具体化 seq2seq 模型的错误,覆盖模型全部的五个阶段:编码器、解码器、注意力、预测、束搜索。

  • 连接样本和决策:SEQ2SEQ-VIS 展示了 seq2seq 模型基于潜在状态及其相关近邻,从训练数据中学到了什么。

  • 测试可选决策:SEQ2SEQ-VIS 提供了灵敏的交互方法,可以实现对模型内部进行操作。

图 1(或更完整的图 7)展示了 SEQ2SEQ-VIS 的全貌。它整合了模型组件的可视化(图 1 左)、特定样本的内在表征(图 1 中),和在一个由预先计算好样本组成的巨大离线语料库上实现的最近邻搜索(nearest-neighbor lookup)。

图 2:seq2seq 模型通过五个阶段,将源序列翻译为目标序列:(S1)将源序列编码为潜在向量,(S2)将其解码为目标序列,(S3)编码器和解码器之间实现注意,(S4)在每个时间步骤中,预测单词概率,(S5)(通过束搜索)搜索最佳翻译。

图 7:Seq2Seq-Vis 概述。两个重要视图:(a)翻译视图(Translation View)和(b)近邻视图(Neighborhood View)分别推动了不同的分析模式。翻译视图提供了(c)注意力的可视化,(d)每个时间步骤中 top-k 个单词预测,以及(e)束搜索树。近邻视图通过(f,g)状态轨迹的投影以及(h)针对一个特定模型状态的最近邻列表,更进一步展示模型学到了什么。

使用案例

图 10:一个日期转换模型翻译效果的比较。输入序列「March 21, 2000」和「May 21, 2000」仅有几个字符不同。(顶部)用于预测正确月份「3」和「5」的注意力集中在了其差异「y」和「rc」上。(左下)轨迹视图展示了编码器状态变化中的这一差异。(右下)近邻列表显示,在输入 M 后,模型依然未作出决策。

图 11:抽象总结的使用案例。输入句子「Russian defense minister Ivanov called Sunday for the creation of a joint front for combating global terrorism(俄罗斯国防部长 Ivanov 于周日呼吁联合抵抗全球性的恐怖主义)」可以有不同的总结形式。图中黄色方格展示了不同的前缀解码(prefix decode)设置下的抽象结果。顶部:无约束抽象;中间:将预测从「for」改成「on」后,为保证语法正确,导致模型自动加上了「world leaders」;底部:将第一个单词从「Russian」改为「Moscow」或「Russia」,句子进一步压缩后,依然保留了句意。

图 12:利用 WMT』14 数据完成语言翻译的使用案例。(顶部)注意力图展示了目标单词「he」的注意力并非仅集中在解码器「er」部分,而是同时注意力了后面的单词,甚至注意了距离很远的动词「gesprochen(说)」。解码器的状态轨迹(左下)显示「he」和「spoke」的距离非常接近。近邻列表表明,模型设置了一个阶段,其中预测「spoke」为下一个单词。

图 13:一个欠训练的英语-德语模型。在欠训练或欠参数化模型中,重复是一个很常见的现象。轨迹象形图显示,在「in Stuttgart」的重复中,解码器状态在同一个区域内在「in」和「Stuttgart」交替变化,直到将它们分离出来。

论文:SEQ2SEQ-VIS : A Visual Debugging Tool for Sequence-to-Sequence Models

论文地址:https://arxiv.org/abs/1804.09299

神经 Sequence-to-Sequence 模型已经通过许多序列预测任务证明了其具有准确、稳健的性质,也已经成为文本自动翻译的标准方法。Sequence-to-Sequence 模型的运行包含五个黑箱阶段,包括将源序列编码到一个向量空间中,再将其解码为新的目标序列。如今这是标准过程,但和许多深度学习方法一样,理解或调试 Sequence-to-Sequence 模型是很困难的。在本文中,研究者实现了一个可视化分析工具,使用户可以通过训练过程中的每个阶段,与训练好的 Sequence-to-Sequence 模型进行交互。其目标包含识别已被学到的模式,并发现模型中的错误。

收藏 推荐 打印 | 录入:Cstor | 阅读:
相关新闻      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款