CMU:深度学习自然语言处理,神经机器翻译与 seq2seq 模型汇总,6 大类型附部署技巧

【新智元导读】CMU 语言技术研究所助理教授 Graham Neubig 将有关神经机器翻译和 seq2seq 各种模型的概要、重点以及部署技巧整理为一篇长达65页的教程发表于 arxiv,内容由浅入深,兼具实用性与启发性,值得收藏研读。

论文题目:神经机器翻译与 sequence-to-sequence 模型:一个教程 (Neural Machine Translation and Sequence-to-sequence Models: A Tutorial

论文下载地址:https://arxiv.org/pdf/1703.01619v1.pdf

引言

这个教程介绍了一些新的,而且十分强大的技术,通常被称为“神经机器翻译”或“神经seq2seq 模型”。这些技术已经被用于人类语言处理的许多人物,并且对任何想对某种类型的序列数据建模的人来说都是很强大的工具。这个教程假设读者已经具备数学和编程的基础知识,但不要求一定要有神经网络或自然语言处理的经验。本教程尝试解释一系列方法背后的原理,然后通过大量数学上的解释帮助读者深入了解这些方法,并且提供了一些实践上的建议,以便读者在实践中测试自己对这些内容的理解。

背景

在这一节,作者解释了标题里的两个重要概念的含义,即“机器翻译”和“seq2seq 模型”。有关“机器翻译”的概念在这里不再赘言,以下介绍一下“序列到序列模型”,即简称“seq2seq 模型”的这个概念。

“seq2seq 模型”是指将一个序列映射到另一个系列的一类模型。这里面当然包括机器翻译,但也包含了处理其他任务的更广泛的方法,如图1所示。实际上,如果我们把计算机程序的输入看作是一个输入比特序列,然后输出是一个输出比特序列,那么我们可以说每一个单独的程序都是一个表示某些行为的“序列到序列”模型(虽然在许多情况下这不是最自然或最直观的表达方式)。

图1:seq2seq 建模任务的示例

本教程的结构

首先,本教程第2节讲解了用于机器翻译的统计学技术的一般数学定义。教程的其余部分按复杂程度递增介绍 seq2seq 的各种模型,最后是注意力模型,它代表了当前该领域最先进的技术。

第3~6节关注语言模型,这些模型计算目标序列的概率。这些模型不能执行翻译或序列转换,但对初步理解 seq2seq 模型很有帮助。这几节解释的概念包括:n-gram 语言模型、log-linear 语言模型、神经网络,以及循环神经网络(RNN)。

最后,第7和第8节介绍了能够执行机器翻译或其他任务的实用 seq2seq 模型,包括 encoder-decoder 模型和 注意力模型。Encoder-decoder 模型使用 RNN 将目标序列编码为数字向量,然后另一个网络将该数字向量解码为输出的句子。第7节也介绍了生成序列的搜索算法。注意力模型允许在生成翻译输出时注意输入的句子的不同部分。这是更有效、更直观的表示句子的方法,而且通常比 encoder-decoder 的对应更有效。

全部目录附在文末。

更多研究主题

本教程涵盖了神经机器翻译和 seq2seq 模型的基础,从 n-gram 语言模型开始,最后讲到注意力模型。需要注意的是,这是一个非常活跃的研究领域,并且还有一些本教程没有覆盖到的更高级的研究主题,掌握了基础知识并想要了解更多的读者可以主动去研究。这些进一步的研究主题包括:

处理大型词汇表:

神经 MT 模型的一个难点是在处理大型词汇表时表现不佳,模型很难学会如何用有限的数据去正确翻译罕见词,而且需要的计算量很大。处理这个问题的一种方法是将词汇分割成更小的单位,例如字符(character)或子字(subword),也可以结合覆盖面更广泛的翻译词典来处理低频现象。

优化翻译结果:

虽然本教程介绍的模型是给定源 P(E | F),被训练去最大化目标句子的似然性,但实际上我们关心的是生成的句子的准确性。已经有很多工作试图解决这个问题,利用的手段是在训练模型时直接考虑的是所生成结果的准确性。方法包括从当前模型的翻译结果中取样,并向能得到更好翻译结果的方向进行参数调优,将参数调优为部分错误假设以提高生成结果中错误的鲁棒性,以及尝试防止在搜索过程中出现错误。

多语言学习:

到目前为止,我们都是假设在两种语言 F 和 E 之间训练一个模型。但是,世界上有许多种语言,一些研究已经证明能够利用所有语言的数据去训练一个模型。也可以跨语言执行迁移,先在一个语言对上训练模型,然后将其微调用于其他语言对。

其他应用:

类似的 seq2seq 模型已经用于多种任务,包括对话系统、文本自动摘要、语音识别、语音合成、图像标注(image captioning)、图像生成,等等。本教程涉及的只是这个迅速扩大的领域的一小部分主题,希望能为读者提供工具,将这些模型应用到自己感兴趣的应用上。

附:目录

1 引言

1.1 背景

1.2 本教程结构

2 MT的统计学基础

3 n-gram 语言模型

3.1 逐词计算概率

3.2 基于计数的 n-gram 语言模型

3.3 语言模型评估

3.4 处理未知的词

3.5 拓展阅读

3.6 练习

4 Log-linear 语言模型

4.1 模型组成

4.2 学习模型参数

4.3 Log-linear 模型的衍生

4.4 语言建模的其他特征

4.5 拓展阅读

4.6 练习

5 神经网络和前馈语言模型

5.1 组合特征的潜力和问题

5.2 神经网络概要

5.3 训练神经网络

5.4 一个实现示例

5.5 神经网络语言模型

5.6 拓展阅读

5.7 练习

6 RNN 语言模型

6.1 语言中的长距离语义关系

6.2 循环神经网络

6.3 消失梯度和长短期记忆中

6.4 其他 RNN 变体

6.5 Online, Batch, 和 Minibatch 训练

6.6 拓展阅读

6.7 练习

7 神经 Encoder-Decoder 模型

7.1 Encoder-decoder 模型

7.2 生成输出

7.2.1 随机取样

7.2.2 Greedy 1-best 搜索

7.2.3 Beam 搜索

7.3 其他编码序列的方式

7.3.1 反向与双向编码器

7.3.2 卷积神经网络

7.3.3 树结构网络

7.4 ensemble 多个模型

7.5 练习

8 注意力神经机器翻译

8.1 Encoder-Decoder 表示的为题

8.2 注意力

8.3 计算注意力分数

8.4 计算注意力分数的方式

8.5 模仿词和位置词替代

8.6 注意力的直觉先验

8.7 拓展阅读

8.8 练习

9 总结

论文地址:https://arxiv.org/pdf/1703.01619v1.pdf

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2017-03-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

学界 | 对比对齐模型:神经机器翻译中的注意力到底在注意什么

3875
来自专栏企鹅号快讯

一文读懂机器学习概率图模型

来源:机器之心 本文长度为10085字,建议阅读15分钟 本文结合基础应用示例系统性的为你讲解概率图模型。 概率图模型是人工智能领域内一大主要研究方向。近日,数...

2557
来自专栏数据派THU

一文读懂机器学习概率图模型(附示例和学习资源)

来源:机器之心 本文长度为10085字,建议阅读15分钟 本文结合基础应用示例系统性的为你讲解概率图模型。 概率图模型是人工智能领域内一大主要研究方向。近日,数...

1.1K9
来自专栏绿巨人专栏

强化学习总结

3407
来自专栏人工智能头条

深度学习在情感分析中的应用

2953
来自专栏机器之心

资源 | 吴恩达deeplearning.ai五项课程完整笔记了解一下?

机器之心整理 机器之心编译 参与:思源、路雪 自吴恩达发布 deeplearning.ai 课程以来,很多学习者陆续完成了所有专项课程并精心制作了课程笔记,在此...

4887
来自专栏红色石头的机器学习之路

台湾大学林轩田机器学习基石课程学习笔记3 -- Types of Learning

上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA。PLA能够在平面中选择一条直线将样本数据完全正确分类。而对于线性不可分的情况,可以使用Pocket...

2440
来自专栏人工智能

ML工作流程(第5部分) - 特征预处理

我们已经讨论了ML工作流程的前四个步骤。到目前为止,我们通过DICTR(离散化,积分,清理,转换,还原)对原始数据进行预处理,然后采用特征提取的方式将数据转化为...

2370
来自专栏月色的自留地

从锅炉工到AI专家(5)

1804
来自专栏计算机视觉战队

前景目标检测的无监督学习

无监督学习是当今计算机视觉领域最困难的挑战之一。这项任务在人工智能和新兴技术中有着巨大的实用价值,因为可以用相对较低的成本收集大量未标注的视频。

3112

扫码关注云+社区