机器学习之家 2019-06-02
【新智元导读】5月30日,由北京智源人工智能研究院主办的智源论坛第4期——《知识与认知图谱》在清华大学顺利举办。清华大学计算机系长聘副教授刘洋针对基于神经网络、深度学习的机器翻译面临三大挑战,即知识整合、可解释/可视化和鲁棒性。并针对上述三大挑战做了团队最新研究与突破工作介绍。
因为人类的语言不通,《圣经》故事中的“巴别塔”没能建成,以失败告终。如何打破人类语言之间的屏障,也成为了人类一直希望解决的问题。
世界语言分布地图(来源:维基百科)
地址:
https://en.wikipedia.org/wiki/Linguistic_map
目前,世界上大概有6000多种语言,其中3000多种语言是具有数学体系的。正如上图所示,可以看到不同国家、不同地区所说的语言是大不相同的。不同语言之间的交流存在非常多的问题,这些问题就是我们通常所说的“语言屏障”。
机器翻译的概念已经存在了几个世纪,但直到20世纪50年代初才开始成为现实。从那以后,机器翻译已经取得了巨大的进步。
机器翻译的主要任务就是把一种语言自动翻译成另外一种语言,看上去就像是函数映射问题。但是其难点就在于语言本身的复杂性和种类的多样性。
世界上的语言按形态分类可分为:屈折语、黏着语和孤立语。如何将这些语言进行转换是机器翻译要解决的重要问题(三种语言形态详细内容见文末)。
1990年以后,特别是互联网出现以后,人们得到了大量的可读文本、机读文本,所以更倾向于使用数据进行机器翻译。这段时期分两个阶段:
越往后发展,人类参与程度越精炼。现在主流方法是数据驱动的方法。
到了2016年,机器翻译在商业界基本采用都采用了机器学习。其核心思想就是用一个非常复杂的核心网络,做非线性函数,把源语言投射到目标语言。所以怎么设计这样的一个函数,便成了是非常关键的问题。
5月30日,由北京智源人工智能研究院主办的智源论坛第4期——《知识与认知图谱》在清华大学顺利举办。
会中,清华大学计算机系长聘副教授、博士生导师、智能技术与系统实验室主任刘洋老师做了《基于深度学习的机器翻译》精彩报告。
针对上述机器翻译现状,刘洋老师认为,这种基于神经网络、深度学习的方法面临三个挑战:
对此,刘洋老师分别从上述三方面介绍了其研究重点与突破。
如何将知识加入到一些应用系统中是非常热门的一个话题。
刘洋老师表示,数据、知识和模型对于整个人工智能是非常要的,研究人员建立一个数学模型,从数据中学习参数,也是某种程度上只是的表示,用同样的模型解决现实的问题。
而有的时候数据量是不够的,例如爱斯基摩语和维语,几乎是没有数据可言。像这样冷门小领域语言的翻译,由于数据的稀缺,翻译任务会变得非常棘手。因此可以考虑往里面加入知识。
虽然神经机器翻译近年来取得了很大的进展,但是如何将多个重叠的、任意先验的知识资源整合起来仍然是一个挑战。针对这个问题,刘洋老师及其团队展开了研究。
arXiv地址:
https://arxiv.org/pdf/1811.01100.pdf
在这项工作中,建议使用后验正则化来提供一个将先验知识整合到神经机器翻译中的通用框架。将先验知识来源表示为一个对数线性模型的特征,该模型指导神经翻译模型的学习过程。汉英翻译实验表明,该方法取得了显著的改进。
刘洋老师表示,希望能够提供一种通用的框架,所有的知识都能往里加。因此这项工作把人类的知识表示成一个空间这是一个符号空间。
然后把深度学习的数字表示另外一个空间,尝试把这两个空间关联起来,再通过人类的知识主导这个知识,把传统知识都压缩里面,让它知道深度学习的过程,就能够提供更好的通用框架。
在这项工作中,使用以下特性来编码知识源。
这项工作与RNNsearch、CPR和PostReg做了比较,性能对比结果如下:
与RNNsearch、CPR和PostReg的比较
第二个问题就是可解释或者可视化的问题。
目前,在机器翻译领域,神经机器翻译因为其较好的性能,已经取代统计机器翻译,成为实际上的主流方法。
大多数的神经机器翻译都是基于attention机制的encoder-decoder模型,然而这种模型在内部传递的是浮点数,类似于“黑箱”,难以理解和调试。
模型如“黑箱”,难以理解和调试
当输入一个句子和输出一个句子时,并不知道其生成过程;当出现错误时,也不知道是什么原因导致的。
所以研究人员迫切希望能够打开这个黑盒子,知道内部信息怎么传递的,到底什么原因形成这样一个错误。
针对这个问题,刘洋老师及其团队针对这个问题进行了相应工作。
论文地址:
https://aclweb.org/anthology/P17-1106
这项工作主要的贡献包括:
最近关于解释和可视化神经模型的工作集中在计算输入层上的单元对输出层的最终决策的贡献。 例如,在图像分类中,理解单个像素对分类器预测的贡献是重要的。
而在这项工作中,团队感兴趣的是计算源和目标词对基于注意力的encoder-decoder框架中的内部信息的贡献。
如下图所示,第三个目标词“York”的生成取决于源上下文(即源句“zai niuyue </ s>”)和目标上下文(即部分翻译“in New”)。
从直观上看,源词“niuyue”和目标词“New”与“York”的关联性更强,应该比其他词获得更高的关联性。问题是如何量化和可视化隐藏状态和上下文词向量之间的相关性。
研究人员使用逐层相关传播(layer-wise relevance propagation,LRP)来计算神经元水平相关性。 使用下图所示的简单前馈网络来说明LRP的核心思想。
如果要计算 v1和u1之间的相关性,首先计算v1 和z1、z2之间的相关性,再将 v1和z1、 z2的相关性传递到u1,从而求得v1和u1之间的相关性。
对神经机器翻译的LRP算法
通过这样一种技术,能够对于机器翻译中所有的模型都进行可视化的分析。
刘洋老师表示,LRP能够为Transformer生成相关矩阵。它本身是没有办法进行分析的,用了这个技术就可以把输入、输出以及内部的关联性用可视化的方式呈现出来,这样可以更好分析运作机制。
团队用在机器翻译的错误分析上,分析了漏词、重复翻译、形成无关词,还有否定的反转。
分析翻译错误:词的省略。第6个源词“zhong”没有被正确翻译。
分析翻译错误:单词重复。目标词“history”在翻译中两次出现错误。
分析翻译错误:不相关的词。第9个目标词“forge”与源句完全无关。
分析翻译错误:否定。第8个否定词“bu”(not)不翻译。
第三个问题就是鲁棒性。
有这样一个例子,假设有一段译文,输入的是“《中国电子银行业务管理新规》将于3月1日起施行”,若是一不小心把“中国”敲成“中方”,后面所有的译文发生变化,刘洋老师称之为蝴蝶效应。
这就是现在存在的一个较为现实的问题:输入中的小扰动会严重扭曲中间表示,从而影响神经机器翻译(NMT)模型的翻译质量。
这是因为深度学习是一种全局关联的模型,只要有一点点变化,就会牵一发而动全身,而这是非常糟糕的。
为了解决这个问题,刘洋老师团队就针对此问题展开了研究。
arXiv地址:
https://arxiv.org/pdf/1805.06130.pdf
在这项研究中,研究人员提出了通过对抗性稳定性训练来提高NMT模型的鲁棒性。
其基本思想是使NMT模型中的编码器和解码器对输入扰动都具有鲁棒性,使它们对原始输入及其受扰动的对应项具有类似的行为。
在这项工作中提出了两种合成噪声的产生方法。
Lexical level:
feature level:
在给定一个源字的情况下,它在向量空间中的邻居可以选择为一个有噪声的字。
损失函数的影响以及主要的实验结果如下:
最后,刘洋老师给提供了针对神经机器翻译的开源工具包,有兴趣的读者可以访问下方链接进行实验:
开源工具包地址:
http://thumt.thunlp.org/
参考资料:
https://en.wikipedia.org/wiki/Linguistic_map
https://arxiv.org/pdf/1811.01100.pdf
https://aclweb.org/anthology/P17-1106
https://arxiv.org/pdf/1805.06130.pdf
http://thumt.thunlp.org/