热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

EMNLP2018基于自适应的多轮解码机制的神经机器翻译模型

本文介绍哈尔滨工业大学社会计算与信息检索研究中心(SCIR)录用于EMNLP2018的论文《Adap

本文介绍哈尔滨工业大学社会计算与信息检索研究中心(SCIR)录用于EMNLP 2018的论文《Adaptive Multi-Pass Decoder forNeural Machine Translation》中的工作。本文基于将polishing机制引入到机器翻译中,针对不同翻译情况需要不同的解码次数提出了自适应的多轮解码机制,其通过引入策略网络动态根据上下文信息动态决定合适的解码次数,并使用强化学习的方法对其进行训练。在中英机器翻译数据集上证明了此模型的优异性能。

论文作者:耿昕伟,冯晓骋,秦兵,刘挺

1. 引言

近年来,神经机器翻译模型吸引众多的研究者青睐。与传统的统计机器翻译模型相比,神经机器翻译模型经常使用encoder-decoder框架直接建模源语言句子和目标语言句子的翻译过程。此外,通过引入gating和attention机制,神经机器翻译模型可以在一定程度上解决长距离的依存问题。

最近,有很多研究者开始研究将polishing机制引入到机器翻译中。基于polishing机制的方法首先将创建一个daft,然后根据对draft获得一个全局理解对之前生成的draft进行不断的改进。虽然这些基于polishing机制的方法获得显著的提升,但是这些方法最多进行两轮的解码,而对于多于两轮的多轮解码在神经机器翻译的研究很少。在本工作中,首先我们探索使用固定解码次数改进神经机器翻译的性能。然而,在某些情况下比如某些比较容易翻译的句子,过多的解码次数可能导致翻译质量的下降以及消耗更多的时间。针对这种情况,我们提出自适应的多轮解码机制,其通过引入策略网络动态根据上下文信息动态决定合适的解码次数,并使用强化学习的方法对其进行训练。

2. 自适应的多轮解码

我们提出的自适应的多轮解码机制如图表 1所示。自适应多轮解码框架有三个部分组成:解码器,其将源语言句子转化成分布式表示;多轮解码器,根据分布式表示生成相应的目标语言翻译;策略网络,其主要用来选择合适的解码次数。我们提出框架的编码器和以前的方法是相同的。在下面内容中,我们将详细介绍多轮解码器以及相应的策略网络。

EMNLP 2018 基于自适应的多轮解码机制的神经机器翻译模型

图1 自适应多轮解码框架

2.1 多轮解码器

我们的多轮解码器是在标准的解码器上进行扩展,使其可以利用目标端的上下文的信息。给定解码器生成的源端上下文信息以及上一轮解码器生成目标端的上下文信息,我们多轮解码器使用两个attention model分别捕捉两种上下文信息。我们模型使用的attention model和标准的神经机器翻译模型相同,即使用两层feed forward网络计算相应对齐的分数。其中,需要强调的是目标端的上下文信息使用Greedy Search方法生成翻译对应的隐含层序列。

2.2 策略网络

我们提出策略网络主要用来动态选择解码的深度。理想情况下,我们期望如果输入的源语言的句子比较难以翻译,其需要更多的解码论述来改进其翻译解码;而针对简单的输入,只需要一轮解码就足以得到较好的翻译结果。我们提出的策略网络输出两个动作,即continue,继续进行下一轮解码;stop,停止解码。我们是使用GRU来计算策略网络的状态表示,从而建模相邻解码之间的不同;而我们使用一个attention模型计算GRU的输入。该attention模型用以捕捉每轮解码中对于策略网络中有用的上下文信息,其以策略网络的状态以及目标端的上下文信息为输入。我们使用REINFORCE算法来学习对应的策略网络的参数,并将最后一轮解码对应的翻译的BLEU作为其对应的奖励。

3. 实验

我们使用1.25M LDC的中英句对作为训练集,NIST02作为开发集,而NIST03、NIST04、NIST05以及NIST06作为测试集。并且,使用multi-bleu.perl计算相应的BLEU。为了提升模型训练的效率,我们过滤句子长度差过50的输入句对。而相应的中英的词表大小分别设置为30K。beam大小设置为10,而我们的多轮解码器最大深度为5。

3.1 中英机器翻译

我们的固定解码次数的模型以及自适应多轮解码机制模型在NIST测试集上的结果如表 1所示。使用固定的解码次数确实可以在一定程度上提升模型的效果,但是随着解码深度的提升,其对应的模型的性能提升并不是很明显。而我们提出的自适应的多轮解码机制相比固定的解码深度确实可以提升模型的性能。(注:我们使用REINFORCE和Gumbel-Softmax重新实现Deliberation Network,但是与原始论文中结果仍存在一定的差距,其原因可能是与原始实现中存在一些未知的不同;为了保证公平,我们实现的ABDNMT(Bidirectional Decoder forNeural Machine Translation,AAAI 2018)将backward decoder替换成forward decoder)

表1 中英机器翻译结果

EMNLP 2018 基于自适应的多轮解码机制的神经机器翻译模型

3.2 解码深度

为了研究策略网络性能,我们统计一下翻译结果中解码深度的分布,如表 2所示。我们提出的策略网络针对46.57%的实例仅使用单轮的解码,53.43%左右的实例需要多于一轮的解码。而其对应的平均的解码深度为2.12。其与ABDNMT和Deliberation Network解码深度相差不多,并且使用更少的参数。

表2 解码深度分布情况

EMNLP 2018 基于自适应的多轮解码机制的神经机器翻译模型

3.3 句子长度影响

我们将按句子长度划分成不同的区间来研究句子长度与对应的翻译BLEU的变化情况。相比RNNSearch模型,我们提出的自适应解码器几乎在所有的解码区间上取得较好的结果。相比固定的解码模型,自适应解码机制可以选择最优的解码深度,从而其获得的翻译结果超过绝大多数模型结果。

EMNLP 2018 基于自适应的多轮解码机制的神经机器翻译模型

图2 翻译结果在不同句子长度下的性能

4. 翻译实例

给定一个实例,我们强制自适应解码机制使用固定的解码深度进行翻译,其翻译结果如表 3所示。随着解码深度从1到3,翻译的质量随之提升。但是解码深度为4和5时,其翻译的结果保持不变。而我们的自适应解码机制在这种情况下在解码深度为3时终止解码,从而避免更深的解码带来巨大的时间消耗。

表3 自适应解码机制翻译实例

EMNLP 2018 基于自适应的多轮解码机制的神经机器翻译模型

5. 结论

本工作实现探索采用固定的解码次数对于神经机器翻译模型的影响。再此基础上引入自适应解码机制动态选择解码的深度,并在中英机器翻译数据集上证明模型的性能。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 我们


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 广度优先遍历(BFS)算法的概述、代码实现和应用
    本文介绍了广度优先遍历(BFS)算法的概述、邻接矩阵和邻接表的代码实现,并讨论了BFS在求解最短路径或最短步数问题上的应用。以LeetCode中的934.最短的桥为例,详细阐述了BFS的具体思路和代码实现。最后,推荐了一些相关的BFS算法题目供大家练习。 ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • AstridDAO 专访:波卡稳定币黑马 BAI
    加入Pol ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
author-avatar
woshishuia小姐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有