选自arXiv
作者:Graham Neubig
机器之心编译
参与:李泽南、蒋思源
本文是一篇有关机器翻译的详细教程,适用于计算机科学本科背景的读者。据 Paper Weekly(ID:paperweekly)介绍,本论文来自 CMU LTI,内容包括了 Seq2Seq 方法的各个基础知识,包括 N-gram Language Model、Log Linear Language Model、NNLM、RNNLM、encoder-decoder、attention,是一本高质量教程,适合初学者学习。读者可以点击「阅读原文」下载论文。
摘要
本教程介绍了一组强大的技术「神经机器翻译」、「神经 seq2seq 模型」。这些技术已经被应用于处理人类语言相关的很多任务中,也已成为所有顺序数据建模的强大工具。本教程假设读者拥有基础数学和编程知识,但对神经网络和自然语言处理背景没有要求。本文试图解释各种方法背后的思路,然后通过完整的数学解析重现它们,让读者可以深入了解这些技术。此外,本文还有一些实现的建议,读者可以通过练习测试自己对于文中内容的理解程度。
背景
机器翻译是通过计算机翻译人类不同语言的技术。想象一下科幻电影里出现的实时翻译机,它可以实时将一种语言转换为另一种。目前,谷歌翻译等网站在这些方向上已经做得很不错了。机器翻译可以消除语言障碍,具有广泛的应用前景,所以在计算机出现不久以后,这一方向就成为了研究人员关注的焦点。
我们称输入机器翻译系统的语言为源语言,输出语言为目标语言。这样,机器翻译就可以被描述为一种将源语言中的单词序列转换为目标语言单词序列的任务。机器翻译研究者们的目标是最终实现一个高效的模型,让这种转换在各类语言的应用中能够快速进行。
Seq2seq 模型是包括将一个序列映射到另一个序列的所有模型的更广泛类型。它包含机器翻译,同时也包含大量用于处理其他任务的方法。事实上,我们可以把每个计算机程序都看成是输入一个位序列,经过处理输出一个位序列,这意味着所有程序都是表示一些行为的 Seq2seq 模型(尽管在许多情况下,这不是最自然和直观的表达方式)。
一个 Seq2seq 模型任务实例
机器翻译作为 Seq2seq 模型代表具有以下特点:
1、机器翻译是最被认可的 Seq2seq 模型实例,允许我们在其中使用很多直观例子来说明处理此类问题的困难。
2、机器翻译通常是新模型开发阶段接触的主要任务之一,这些模型在发展中经常会首先用于机器翻译,然后才会被应用到其他任务中。
3、当然,也有一些机器翻译从其他任务中获得灵感的案例,从其他任务中获得的启发有助于机器翻译技术的发展。
导论结构
本教程从第二章开始介绍机器翻译所需要的统计学一般数学定义和方法。在随后的章节中,本课程将沿着技术复杂度递增的方向进行阐述,一直到当前该领域最先进的注意模型(attentional models)。
第三章到第六章关注于语言模型,这些语言模型是对兴趣(interest)目标序列的概率进行计算。虽然这些模型不能执行翻译或序列转换(transduction),但对于初步了解 Seq2Seq 模型还是很有帮助的。
第三章重点阐述了 n-gram 语言模型,该模型是一种基于单词在数据集中所出现频率计算其概率的简单方法。同时本章节还阐述了如何使用混乱度(perplexity)等度量方法来评估这些模型的性能好坏。
第四章讲述了对数-线性语言模型(log-linear language models),该模型通过上下文特征计算下一个单词的概率。本章节同时还叙述了如何通过随机梯度下降来学习模型的参数,即通过求解偏导数并一次次迭代更新参数而增加观察数据的似然度。
第五章介绍了神经网络的基本概念,神经网络要比对数-线性语言模型更容易将多信息块组合在一起,从而进一步提升语言模型的准确度。本章节给出了前馈神经网络语言模型这样一个案例,该模型主要通过基于先前词的神经网络预测下一个单词的概率。
第六章介绍了循环神经网络,这是一种允许通过在多个时间步上记录信息的机制。而这种特性催生了循环神经网络语言模型,该模型能在语言或序列数据建模时获取长期依存关系(long-term dependencies)。
最后,第七和八章描述了能够执行机器翻译或其他任务的实际 seq2seq 模型。
©本文为机器之心编译,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者/实习生):[email protected]
投稿或寻求报道:[email protected]
广告&商务合作:[email protected]