理论部分

来自于nmt-book 6.1
一种在机器学习中常见的技术是不止为你的问题建立一个系统,而是多个并且将他们合并,这种技术叫ensemble of systems。对神经网络来说,一种策略是使用不同的初始值或者在训练进程中停在不同的点。
为什么这会有作用呢,一种直觉是每个系统都会犯不同的错。当两个系统同意一种观点时,他们很可能都是正确的,而不是都错的。就像人们在选举时一起开会投票。
将集成方法应用到神经机器翻译中,我们必须解决两个子问题:

  • 产生备用子模型
  • 合并他们的输出

生成候选模型

当我们训练一个神经翻译模型时,我们迭代地训练数据直到某些停止条件满足。这通常是对应用在验证集上的损失函数(cost function)如交叉熵,或对在验证集上的翻译表现(如BLEU)缺少改进。
在训练时,我们可以在一个固定的间隔(比如每10000个batch)输出一次模型。当训练结束时,我们可以再回来查看模型在不同阶段的性能。然后我们选择4个最好表现(通常是翻译的BLEU指标)的4个模型。这种在训练进程中选择不同检查点的操作就叫做检查点集成( checkpoint ensembling)
Multi-run ensembling 要求在完全不同的训练进程中建立系统。正如我们前面提到的,它能通过使用不同的随机初始值来完成,这将导致不同的局部最佳点。我们也随机的打乱训练数据,所以我们使用随机来得到不同的训练结果。
Multi-run ensembling通常运行得到更好的结果,但它也会花费更多的算力。注意multi-run ensembling也能使用checkpoint ensembling建立。我们首先应用checkpoint ensembling到每次运行中,然后合并这些ensembling而不是合并每次训练的最终检查点。

合并系统输出

神经翻译模型允许多个系统的深度合并。回忆一下模型首先是首先在所有可能的输出词上做一个概率分布,然后得到其中一个词。这是我们合并不同训练模型的地方。每个模型预测了一个概率分布然后我们将它们的预测合并。这种合并通过简单的在它们的概率分布上平均。平均后的概率分布用来选择输出词。
如下图所示,使用不同的系统有一些好处,尽管在我们生成它们的方式中,它们有相似的质量,所以这不是典型的做法。

使用从右到左的解码重新排序

另一个关于集成想法的微调是:不在开始时建立几个有不同随机初始值的系统,我们像以前一样先建立一组系统,然后再建立第二组系统并将输出的句子顺序倒置。第二组系统就叫做从右到左的系统( right-to-left systems)。
上面描述的深度集成不再适用于从左到右和从右到左的系统的组合,因为它们以不同的顺序生成输出。因此,我们不得不求助于重新排序。这包括几个步骤:

  • 使用一个从左到右的集成系统来对每个输入生成一个n-best翻译候选列表。
  • 使用每个从左到右和从右到左的系统来给候选翻译打分。
  • 合并每个句子在不同系统的分数(简单平均),选择每个输入句子的最好输出
    使用从右到左的系统给一个给定的候选句子打分需要强制解码,一种对输入句子进行推理的特殊模式,但预测给定的输出句子。这种模式实际上更接近于训练常规推理(其中也给出了输出转换)。

NMT优化--Ensemble Decoding相关推荐

  1. 清华NLP组年度巨献:机器翻译30年最重要论文阅读清单(下)

    近日,清华大学NLP组总结了最近30年来机器翻译领域最重要的论文和学术文献目录,并在Github上公开放出. 此列表首先给出了30年来机器翻译领域必读的10篇最重要的论文,接下来的内容分为统计机器翻译 ...

  2. 清华NLP机器翻译论文精华汇总

    传送门:https://github.com/THUNLP-MT/MT-Reading-List Machine Translation Reading List This is a machine ...

  3. AAAI 2021 | 时间序列相关论文汇总

    会议介绍 AAAI的英文全称是 The Association for the Advance of Artificial Intelligence,中文意思是美国人工智能协会. 美国人工智能协会(A ...

  4. 开源库OpenNMT-py使用记录

    一.准备 官网:http://opennmt.net/ python+torch版Github:https://github.com/OpenNMT/OpenNMT-py python+torch版说 ...

  5. 2021年三大顶会时间序列论文代码整理

    作者:杰少,炼丹笔记嘉宾 2021年最新时间序列预测论文&代码整理 AAAI 2021 Deep Switching Auto-Regressive Factorization: Applic ...

  6. 美团搜索中查询改写技术的探索与实践

    猜你喜欢 0.[免费下载]2022年1月热门报告盘点1.腾讯QQ信息流推荐业务实践2.小红书推荐中台实践3.微信视频号的实时推荐技术架构分享4.预训练模型在华为信息流推荐系统中的探索和应用5.腾讯PC ...

  7. 阿里云发布黑科技:面对海量的文本翻译任务,阿里翻译团队是如何解决的

    对国际化企业来说语言问题是亟待突破的重要关口.面对海量的文本翻译任务,昂贵低效的人工翻译显然不能满足需求,利用计算机自动进行文本翻译的机器翻译才是解决这个问题的关键.阿里翻译团队在机器翻译领域做了大量 ...

  8. 黑科技揭秘:面对海量的文本翻译任务,阿里翻译团队是如何解决的

    对国际化企业来说语言问题是亟待突破的重要关口.面对海量的文本翻译任务,昂贵低效的人工翻译显然不能满足需求,利用计算机自动进行文本翻译的机器翻译才是解决这个问题的关键.阿里翻译团队在机器翻译领域做了大量 ...

  9. 机器翻译领域最重要的论文和学术文献目录清单(清华大学NLP组)

    转载自:http://blog.sina.com.cn/s/blog_56eb62d30102y694.html 参考资料:http://ju.outofmemory.cn/entry/326011 ...

最新文章

  1. ASP.NET 发邮件方法
  2. java中比较字符串的大小用String的compareTo()
  3. 天啊!NBA球星将举办第一届科技峰会!
  4. HTML 网页页面切换的各种变换效果
  5. CoAP学习笔记——服务器端繁忙时的处理请求流程
  6. LNMP搭建论坛(php)
  7. linux 路由表设置 之 route 指令详解【转】
  8. Windows 11正式发布!网友的这波吐槽,太搞笑了。。。
  9. backbone js学习笔记之第二篇Model层
  10. C中取得数组的地址,赋值给数组结构的字段
  11. mycat mysql 主从_Mycat实现Mysql主从读写分离
  12. SEO之关键词选择原则
  13. 拓扑结构计算机网络结构,什么是计算机网络的拓扑结构
  14. html设置鼠标指针形状为食指,cursor 把鼠标指针的形状弄成一只伸出食指的手
  15. 如何使用纯CSS将页面转换为繁体字
  16. Android系统快速编译方式ninja
  17. TP6----------阿里云短信包验证码登录
  18. 电台app开发,发掘声音经济
  19. get方法改成post
  20. STM32F429外部SPI下载算法

热门文章

  1. 专利申请找一家代理机构都有哪些好处
  2. ASEMI代理Infineon英飞凌IPB60R099CP原厂MOS管
  3. 【cordova学习笔记01】h5打包成apk
  4. 每日案例(第二期):智慧能源领域知识图谱实践案例速读
  5. PMP考试流程是怎么样的?
  6. NetLogo学习笔记
  7. 什么时候需要进行信号完整性分析?
  8. Scala模拟身份证最后一个数验证_路漫漫远俢兮
  9. 第十五期“AI未来说·青年学术论坛”带你了解大数据运用
  10. 设置VM启动顺序,使其进入BIOS