清华大学唐杰教授表示:“智源论坛基本的思路即邀请某一个领域顶尖学者,从而和大家一起探讨前沿技术、分享经验,并帮助大家成为更好的研究者和工程师。”在这一次论坛中,演讲主题都围绕着知识与知识图谱展开,希望为深度学习系统嵌入“知识”的小伙伴们,这一场论坛就是你们所需的。
演讲主题简介
第一位演讲者是清华大学长聘教授李涓子,她表示:“让计算机拥有大规模高质量的知识是实现机器智能的一项重要任务,大数据时代需要突破大数据向通用/领域知识转化的知识引擎关键技术。”因此,李娟子老师主要介绍了当前知识工程的挑战和相关工作。具体而言主要从以下三方面介绍知识工程:
- 知识工程在机器智能中的主要作用
- 文本和知识相结合:如何对文本中的词和知识库实体的知识进行联合表示学习
- 前沿研究工作:构建专家的知识库或学者画像
第二位演讲者是清华大学长聘副教授刘洋,他的演讲主题是:“Towards Knowledge-Guided, Interpretable and Robust Neural Machine Translation”。刘洋老师表示,从统计机器翻译到神经机器翻译,机器翻译已经有了很大的提升,但如何用知识指导机器翻译、如何提高可解释性和鲁棒性仍是非常前沿的研究领域。这一次的演讲,刘洋老师就从这三方面探讨机器翻译的解决方案。
第三位演讲者是清华大学副教授刘知远,他表示作为典型的数据驱动方法,深度学习面临可解释性不强等难题,如何将人类积累的大量语言知识和世界知识引入深度学习模型,是改进NLP深度学习模型性能的重要方向。
刘知远老师认为深度学习比较成功的地方在于,它为字、词、短语、句子、文档等语言单位建立了统一的语义空间。在这个空间内可以建立语言单位之间的复杂联系,从而解决各种NLP任务。但是这个过程并不完整,深度学习还需要更多的语言知识、常识知识、世界知识、领域知识,因此它才能理解语言“词层面”之下的意义。
最后,清华大学长聘副教授刘奕群重点介绍了信息检索课题组近来在该方向上进行的相关研究工作。刘奕群老师重点介绍了异质环境下的用户交互行为模型构建、异质多模态资源的聚合排序、异质环境下的搜索性能评价、异质环境下的可解释推荐等研究工作。
通向知识引导的可解释神经机器翻译
自2016年以来,神经机器翻译就已经成为最主流的方法。从最开始的Encoder-Decoder框架到嵌入注意力机制,再到近来Transformer全注意力结构,神经机器翻译已经有了很多提升。但神经机器翻译还是存在很多问题,我们该怎样嵌入专业领域的字典?我们该怎样解释译文与原文之间的关系,怎样解释NMT系统的内部运行机制?我们又该怎样建立稳健的翻译系统,从而不会因为原文的微小扰动而影响译文?
为了介绍这些问题,以及对应的解决方案,本文将介绍刘洋老师在智源论坛上的简要演讲精要。
为NMT嵌入知识
为NMT嵌入知识非常难,难点在于表示上的壁垒。人类知识采用一种符号表示方法,例如简单的词典将“抗议活动”翻译成protests。而神经机器翻译系统采用的是数值表示,里面全都是数值运算。所以因为表示性差异,我们很难把人类知识嵌入到神经网络里。
清华希望能提供一种通用的框架,所有的知识都能加入到其中。因此我们把人类的知识表示成符号空间,把深度学习表示成数值空间。然后我们尝试把两个空间关联起来,并将基于符号表示的知识都压缩到数值空间,从而令其指导深度学习过程。
统一的框架其实可以加多种知识,初步探索是加了一些对机器翻译非常重要的知识,例如双语辞典。我们需要将双语词典表示成特征的形式,嵌入到上面的系统而成为一种约束。以下展示了不同的特征以编码不同的知识。
NMT可解释性
深度学习很大问题在于黑盒子问题,内部全部是数值运算,且它们没有物理意义、语言学意义,与人类语法也没有任何对应关系。所以我们并没有办法分析里面过程,只知道给定输入就会有输出,当出现错误时也不知道它的产生原因是什么。如果能打开这个黑盒子,知道内部信息是怎么传递的,那么其对NMT非常有意义。
对于可解释性,有一种名为 Layer-wise Relevance Propagation(LRP)的新技术。它尝试为人工智能预测做出解释,例如我们不仅想知道某张图片可以分类为“猫”,同时还需要知道为什么神经网络会认为它是猫。这种方法的核心思想即从所做的决策倒退到输入端,从而知道哪一些特征对决策的影响最大。
LRP进行推广后可用到机器翻译中,因为我们关心当生成某个词时,它的上下文词对其有什么样的影响。我们提出了一些技术来处理这个问题,例如假设想了解下图三个蓝色节点对红色节点的影响,那么我们可以通过后向传播技术,对它们的共性进行分解。
通过这样的技术,我们能够对于机器翻译中所有模型都进行可视化的分析,包括Transformer。利用这种方法,我们也可以分析机器翻译的错误,例如分析漏词、重复翻译、无关词、否定的反转等等。
NMT 的鲁棒性
最后是鲁棒性,这也是深度模型比较欠缺的。例如我们修改原文的某个字,那么很可能译文就完全变了,也就是说在输入端稍微加一点干扰就会发生巨大的变化。因为深度学习是一种全局关联的模型,所以只要有一点点变化,就会牵一发而动全身,这对于机器翻译有很大的问题。
为了解决这个问题,目前比较多的方法是对抗训练,即在训练中加入噪声而让模型学会抵御随机扰动。而我们采用了一种新的训练价值,核心思想就是要令模型抗噪,当输入有噪声的时候模型应该能消除它,从而能重构出原始输入。
如下图所示,X是正确的输入,会加一些噪声以形成 X'。当我们用神经网络进行学习的时候,会生成两种内部表示H_x和H_x'。我们希望这两种内部表示对于判别器Discriminator是不可区分的,如果不可区分,就说明噪声不会对预测做出更大的影响。
所以模型大概分成三部分,即真实数据的似然度、噪声数据的似然度,以及判断是否带噪声的判别器损失。通过这种防范,我们能很好地减少用户输入噪声的负面影响。
如下所示,产生噪声有两种途径,第一种是从互联网获取真实噪声数据,考察真实场景会出现哪些错误;第二种是自动生成随机噪声,它通过随机扰动也能提升翻译系统的性能。
在使用这种方法后,性能有明显提升。不仅在有噪声情况下翻译效果会更好,在没有噪声的时候效果也会更好、更鲁棒。
小结
上面的一些研究成果都集中开源工具里,它可以直接下载使用。
最后总结一下,机器翻译是人工智能自然语言处理非常重要的一个任务,目前一个主流方法就是用深度学习加上大数据,但这种方式会遇到很多问题。
我们认为目前的神经机器翻译存在三挑战:
- 第一缺知识
- 第二不可解释
- 第三不可鲁棒
我们针对这三个问题提出了添加先验知识、做可视化,和提高鲁棒性。我们认为未来还有更多的工作值得探索,包括如何真正实现知识指导的、可解释的、鲁棒的机器翻译。