“嘿,机器,你是怎么做好翻译的呀?” “来,我画给你看!” | 论文访谈间 #01

本文涉及的产品
文档翻译,文档翻译 1千页
语种识别,语种识别 100万字符
文本翻译,文本翻译 100万字符
简介:

如果有一个功能神奇的“黑箱子”,你想不想打开它,好好研究一番?神经机器翻译就是这么一个“黑盒”,只要给它一句中文,就能将对应的英文顺利地翻译出来,如何才能一探其中的究竟呢?清华大学的丁延卓同学、刘洋老师、栾焕博老师和孙茂松老师在今年 ACL2017 上的工作就将这其中的奥秘“画给你看”。


近年来,深度学习快速发展,神经机器翻译(Neural Machine Translation)方法已经取得了比传统的统计机器翻译(Statistical Machine Translation)更为准确的翻译结果。可是,深度学习这样的复杂而又庞大的网络模型,就像一个摸不清的“黑箱子”,网络中只有浮点数的传递,到底背后包含着怎样的语义、逻辑,一直困扰着研究人员对于神经机器翻译的深入理解和分析。因此,如果能够将网络可视化,找到网络中神经元之间的相关关系,将极大帮助人们探究神经机器翻译中出现的各类错误,同时也能帮助指导如何调试更好的模型。


而就在今年的 ACL2017 上,清华大学的丁延卓同学、刘洋老师、栾焕博老师和孙茂松老师发表了论文“Visualizing and Understanding Neural Machine Translation”,借鉴视觉领域中的研究,首次将计算机视觉中 layer-wise relevance propagation(LRP)的方法引入到神经机器翻译中,为注意力机制(attention mechanism)的编码-解码(encoder-decoder)神经机器翻译模型提供了可视化以及可解释性的可能。通过分析层与层之间的相关性,将这些关系“画”了出来。“据我们所知,目前还没有工作是在神经机器翻译模型的可视化上。”作者告诉我们,现有的注意力机制被限制在只能证明源语言(source language)和目标语言(target language)之间存在关系,却不能提供更多的信息来帮助了解目标语言的词语是如何一步一步生成的;而相关性分析则能够帮助理解这个过程,并且能够分析任意神经元之间的关系。


Layer-wise relevance propagation(LRP)的方法到底是什么呢?其实就是一个计算相关性,并将相关性逐层向后传播的过程。首先将网络模型看成一个拓扑图结构,在计算一个节点 a 和输入的节点之间的相关性时,将 a 点的数值作为相关性,并且计算与 a 点相连的上一层节点在生成 a 点时所占的权重,将 a 的相关性逐层向后传播,直到输入层。作者用下图的例子告诉了我们:


▲ 图1:Layer-wise Relevance Propagation 示例


如果要计算 v1 和 u1 之间的相关性,首先计算 v1 和 z1, z2 之间的相关性,再将 v1 和z1, z2 的相关性传递到 u1, 从而求得 v1 和 u1 之间的相关性。


通过这样的计算,我们最终能“画”出怎样的相关性呢?让我们来几个例子(颜色越深表示相关性越强):


▲ 图2:目标语言单词"visit"对应的隐变量可视化图


▲ 图3:错误分析:不相关词语"forge"与源句子完全不相关


图 2 是在翻译“我参拜是为了祈求”时中间的隐层 c2, s2 以及输出层 y2 和输入句子词语之间的相关性,可以看到“visit”这个词语正确的和“参拜”以及“my”的相关性更为强烈,因而正确的翻译出了词语“visit”;而图 3 则表明“forge”(锻造)这个词语的隐层 c9, s9 和输入的词语都没有正确的相关性并且跳跃,而在生成时 y9 也没有和输入有正确的相关性。


“通过对翻译中出现的不同错误的相关性的可视化的观察,我们的方法能够帮助模型进行改造和更好的调试。”作者告诉我们,在将 LRP 的方法引入时其实也遇到了一些难点,比如图像领域只是输入图像像素点,而机器翻译中则是一串词语,每个词语都对应着一个长度或百或千的向量,对于计算相关性造成了困难;同时模型复杂,包含各种不同的计算算子。而通过仔细地设计计算方法以及 GPU 的利用,也将困难一个个克服了。


“未来,我们希望将方法用于更多不同的神经机器翻译模型中,另外也希望构建基于相关性分析的更好的神经机器翻译模型。”对于未来的研究工作,他们也更为期待。

来源:paperweekly 原文链接

相关文章
|
5月前
|
存储 关系型数据库 MySQL
论青春线上书屋的设计与实现(论文+源码)_kaic
论青春线上书屋的设计与实现(论文+源码)_kaic
|
5月前
|
测试技术 数据库
毕业论文提交系统的设计与实现(论文+源码)_kiac
毕业论文提交系统的设计与实现(论文+源码)_kiac
|
5月前
|
存储 人工智能 安全
面向企业的 ChatGPT 究极手册:第七章到第八章
面向企业的 ChatGPT 究极手册:第七章到第八章
143 0
面向企业的 ChatGPT 究极手册:第七章到第八章
|
人工智能 JavaScript API
AI 加成?翻译贼 6?deepl 踩坑记
昨儿个老板突然让把某官网文档翻译成英文,文档是 markdown 写的,好像有上百篇吧,人工翻译是不可能了,所以找到了 deepl 的 API,打算让我脚本快速翻一下。所以就成功让我水出了本篇。
|
机器学习/深度学习 自然语言处理
chatGPT概念从何而来
GPT(Generative Pre-trained Transformer)是一种基于Transformer模型的自然语言处理模型,由OpenAI开发。它的概念来源于深度学习和自然语言处理领域的一系列研究和技术进展。 在深度学习领域,神经网络模型的发展一直在迅速演进。传统的神经网络模型在处理自然语言处理任务时存在一些问题,比如对长文本的理解能力较差,对上下文的关联性处理不够准确等。为了解决这些问题,研究人员开始关注一种新的模型结构——Transformer。 Transformer是一种基于自注意力机制(self-attention)的神经网络模型,由Vaswani等人在2017年提出。
69 0
|
供应链 JavaScript 前端开发
【论文指导】计算机毕业设计,摘要如何写?15篇案例把你安排明白
【论文指导】计算机毕业设计,摘要如何写?15篇案例把你安排明白
281 1
|
机器学习/深度学习 人工智能 自然语言处理
此「错」并非真的错:从四篇经典论文入手,理解Transformer架构图「错」在何处
此「错」并非真的错:从四篇经典论文入手,理解Transformer架构图「错」在何处
114 0
|
传感器 机器学习/深度学习 人工智能
《花雕学AI》29:5秒钟就能为你的想法想出新点子?ChatGPT新点子指令模型告诉你怎么做
你有没有遇到过这样的情况,你想出了一个想法,但是不知道怎么扩展或改进它?你有没有想过有一个工具,可以帮你在短时间内为你的想法生成各种新的点子?如果你有这样的需求,那么你一定要了解ChatGPT。 ChatGPT是一个基于人工智能的文本生成器,它可以根据你的输入生成各种内容,包括想法。它有一个特殊的功能,叫做新点子指令模型,它可以让ChatGPT为你的想法生成新的点子,只需5秒钟。 在这篇文章中,我将介绍新点子指令模型是什么,如何使用它,以及一些使用它的实例。如果你想要用ChatGPT快速激发你的创造力,为你的想法提供5秒钟的灵感,请继续阅读。
160 0
|
机器学习/深度学习 自然语言处理 算法
收藏!编码器中如何融入结构信息?这几篇论文一定不要错过
编码器已经成为了很多 NLP 模型中的基本结构。不管你是做机器翻译,还是做句法分析,不管你是需要得到单词的上下文表示,还是需要得到句子的表示,你都需要一个强有力的编码器。输入一个句子,编码器最终输出每个单词的表示或者整个句子的表示。 而近些年来 NLP 领域用的比较多的编码器有 CNN ,RvNN ,RNN (尤其是 LSTM)和 Transformer 等等,今天我们主要关注最后两个。在编码器中加入结构信息有很多种用途。一是利用结构信息增强编码器的结构表示,进而提高下游任务的性能。二可以无监督学习出句子的句法树(如果融入的是句法结构信息的话)。
227 0
收藏!编码器中如何融入结构信息?这几篇论文一定不要错过
|
机器学习/深度学习 算法
机器学习--1. 疑惑及个人见解
最近一段时间,在学习机器学习,学习过程中遇到了一些疑惑,再次记录下来,一方面梳理自己的思路,另一方面给大家分享避免踩坑,欢迎argue。。。
272 0