2013年,在Brandeis大学聆听
薛念文老师(计算语言学领域引用率最高的华人之一, 下图居中, 薛老师右边是好友柏晓鹏和李斌)
讨论小组研究语言模型的时候, 已经感到神经网络语言模型的力度。
但是还是非常难以想象到3年不到的这么短时间,就突破到这个程度。 去年年底Google神经网络机器翻译出来的时候, 本人有感于突破之快, 把当年的讨论的部分收获写到了 “
概率估值的光滑(Smoothing)
”里面。
今天有时间和大家一起讨论下下, 深度神经网络机器翻译。
前言
2016年年底, Google公布了神经网络机器翻译(
GNMT
), 从此宣告, 机器翻译经过
27年左右
, 正式从1989年的IBM机器翻译模型(
PBMT,基于短语的机器翻译)
,过渡到了神经网络机器翻译模型。已经极大接近了普通人的翻译了。
而从基于短语的翻译到神经网络翻译, 相对提升可以达到60%以上, 因此一下子引起了欢呼和惊叹。 而这背后的大功臣,就是
sequence to sequence (seq2seq)的端到端的模型
。
而这个seq2seq模型,除了机器翻译,还极大改变了整个自然语言处理相关应用。
包括基本的NLP功能:Parsing, NER等; 传统的NLP应用:Summarization, QA, Conversation等; 还有多模的世界:图像和文字, 语音和文字等
。
譬如,
Google除了GNMT
以外还有
基于seq2seq的
TTS系统Tacotron
:
基于seq2seq的问答系统
:
基于seq2seq的
概要提取系统
:
接下来, 我们按如下顺序介绍seq2seq模型:
-
Seq2Seq的简史
-
PBMT 时代的基石和问题
-
端到端模型的出现
-
神经网络语言模型的出现
-
RNN-LM的出现
-
RNN的发展
-
Seq2Seq的出现
-
Seq2Seq的发展
一. Seq2Seq的简史
目前seq2seq的突破,离不开:
a. Attention机制
: 现在Attention机制几乎将IBM模型中alignment对齐机制发挥出新的境界。
b. RNN模型升级
: RNN出现了双向RNN,堆栈RNN,和残差RNN。在GNMT里面把这些技术统统用上了。使得RNN模型的学习能力达到空前高度。
c. RNN-LM模型
: RNN的使用开启解决长距离依赖的问题, 也引发记忆计算在语言模型的新思考。
d. NNLM模型突破
:NNLM模型的发展使得非线性的投影和Softmax的近似计算得到突破。
e. 端到端的编解码模型
:端到端的早期突破使得多模融合成为可能。
2015年,两个小组:
Tim Rocktaschel为代表的伦敦大学院、牛津大学、还有DeepMind的小组
(Reasoning about Entailment with Neural Attention), 和
爱丁堡大学的Jianpeng Cheng
(Long Short-Term Memory-Networks for Machine Reading),发表了基于Attention的对齐机制细分和相关的可视化的分析。 尤其Jianpeng Cheng对
Shallow Attention Fusion 和 Deep Attention Fusion的区分
,代表了Attention机制在NLP里面的成熟。
2014年 - 2015年,
斯坦福计算机系Manning组的 Minh-Thang Luong
的论文 Effective Approaches to Attention-based Neural Machine Translation 正式基于高斯分布推导了Local Attention,比较了
Global Align Attention和Local Align Attention, 和视频处理里面 Soft Attention 和 Hard Attention建立了联系
。
2015年 Bengio的团队中来自德国的Dzmitry Bahdanau
(NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE),将Attention机制引入到机器翻译中,正式开启了Attention作为Alignment的大门!
2014年 两个人,
Bengio团队的Kyunghyun Cho
(Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation) 和
Google的 Ilya Sutskever
(Sequence to Sequence Learning with Neural Networks) 正式将RNN Encoder-Decoder搬上神经网络机器翻译NMT的历史舞台, 并且命名为Seq2Seq模型!
从上面, 我们看到从Seq2Seq简单模型到有Attention模型的Seq2Seq的经历。
二. PBMT 时代的基石和问题
首先基于短语的机器翻译,从IBM模型一路发展而来, 已经相当成熟。 并且开源系统也很多,极大促进了机器翻译的研究和应用。
最重要的是完成机器翻译的功能模块的分解:
双语对齐, 语言模型,翻译模型, 解码器, 测试
。
这个使得, 神经网络语言模型诞生后,可以进行独立测试, 逐步发展替代。
其中n-gram语言模型,基于全概率公式和马尔可夫假设,
但是问题也出现在这个n-gram模型, 主要的
3大问题
:
1. 通过频率计算概率, 存在数据稀疏,概率为0的情况难以轻易搞定
。
虽然,众多概率光滑的算法(尤其 Modified Kneser-Ney 算法)纷纷出现, 依然对人为先验设计要求太高。