Neural Machine translation中的Attention机制
来源:互联网 发布:应象中医 知乎 编辑:程序博客网 时间:2024/05/16 05:35
随着深度学习的发展,NMT(Neural machine translation)已经逐渐取代了SMT(statistic MT)。其最大的有点就是系统的整体和简单,少去了统计机器翻译中的分词,对齐。抽短语等繁琐的步骤。
而NMT的大致流程和思想可以去参考下面的链接,讲的很详细。
https://devblogs.nvidia.com/parallelforall/introduction-neural-machine-translation-with-gpus/
说到NMT不得不提到RNN,GRU,LSTM这些网络结构。这些东西在这里就不做介绍。另外一个已经被大家公认的很有价值的发现就是Attention机制。首先通俗的介绍一下它的思想。
例如我们在翻译(我 昨天 有事,所以 他 替我 去 北京 了)的时候翻译“去”这个词的时候,人们的注意力是集中于几个词上面,而不是整句话上面的。这里 这里(昨天,他)都对去的翻译起很大的影响,Attention的思想就是将所有词分配一个权重来表示对现在的翻译的上下文的重要性。
1,首先介绍Attention机制解决的问题。
上图说明一个问题,当用传统encoder-decoder框架的时候,encoder的表达能力有限,任意长度的句子都会把encoder压缩到一个有限制维度的向量中,难免会有信息丢失,所以,当句子长度达到一定的时候翻译效果骤降。
2,改变保存句子的方式,采用biRNN
以前encoder会将句子压缩到一个vector中,现在使用下面的结构,用两个向量表示一个词。
一个代表从前往后的RNN迭代过程输出的向量,一个表示从后往前。两个向量分别保存了单词前面和后面的信息。
3,上面的表达方式可以叫做一个句子的可变长表示(variable-length representation),但是如何让decoder选择性的采取和舍弃其中的信息。
Dzmitry Bahdanau and Yoshua Bengio还有前面博客的作者Kyunghyun Cho三位大牛提出了Attention(2014年)
用一个简单的单层神经网络,输入为前一个隐层节点Zi和每一个biRNN得到的单词表示{h1,h2……},每个都通过网络传播传播得到一个值{a1,a2,a3…..},
4最后将所有值做一个softmax正则化,得到所谓的权重,而现在翻译所要用到的上下文则根据这一组权重和biRNN得到的单词表示得到,
5 Soft Attention的副产品
作者将其中对齐的权重采用不同颜色的线连接到双语的词之间,在词对齐和无监督,弱监督学习方面也有一定的贡献。
博文中大部分内容是来自开头提到的博文中的讲解,大部分地方只是通俗简略的翻译过来,其中夹杂了一些自己学习过程中的理解,有不对的地方请大家指出。
- Neural Machine translation中的Attention机制
- 神经网络机器翻译Neural Machine Translation: Attention Mechanism
- 神经网络机器翻译Neural Machine Translation(2): Attention Mechanism
- Effective Approaches to Attention-based Neural Machine Translation
- [EMNLP2015]Effective Approaches to Attention-based Neural Machine Translation
- Adversarial Neural Machine Translation
- Google's Neural Machine Translation System
- Neural Machine Translation(NMT)技术概述
- Modeling Coverage for Neural Machine Translation
- Massive Exploration of Neural Machine Translation Architectures
- Towards String-to-Tree Neural Machine Translation
- 【nlp论文阅读】Adversal Neural Machine Translation
- A novel approach to neural machine translation
- Neural Machine Translation论文阅读笔记
- [ACL2017]Sequence-to-Dependency Neural Machine Translation
- 神经网络注意力机制--Attention in Neural Networks
- 神经网络机器翻译Neural Machine Translation(1): Encoder-Decoder Architecture
- 神经网络机器翻译Neural Machine Translation(4): Modeling Coverage & MRT
- mysql进阶(二十七)数据库索引原理
- Blog 搭建参考
- 传值与传址 static 继承
- 对libevent+多线程服务器模型的C++封装类 转载
- iOS 10获取当前定位信息,根据位置获取天气
- Neural Machine translation中的Attention机制
- 欢迎使用CSDN-markdown编辑器
- static inline
- caffe学习资源汇总
- Sicily 1509Rail
- leetCode练习(69)
- 三种硬件平台运行Laxcus大数据系统的表现
- Android开发中Scrollview嵌套recyclerview时,recyclerview不显示数据
- Android进阶之解决RecyclerView notifyItem闪屏问题