前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >入门解读 seq2seq 和注意力模型

入门解读 seq2seq 和注意力模型

作者头像
double
发布2018-06-04 17:25:00
1.1K0
发布2018-06-04 17:25:00
举报
文章被收录于专栏:算法channel算法channel

题图:quino-al-137872-unsplash

这是第 200 篇原创

建议阅读时间:5~20分钟

1 统计翻译模型(SMT)

斯坦福大学的 cs224 自然语言处理课程笔记,接着介绍 NLP 与deep learning 结合出现的两个非常重要模型: seq2seq 和 seq2seq with attention. 通过此篇推文先初步形成对它们的一个感性认识,知道这两个模型是怎么回事,可能解决什么问题。之后才是理解他们的模型实现代码,最后应用这些模型实战。

机器翻译(machine translation, 简写为 MT),是指用源语言(source language) 组成的句子 x 翻译为用目标语言(target language) 构成的句子 y 的一项任务。

语言翻译任务最走可以追溯到1950年,翻译系统仅支持俄语和英语间的翻译,通过建立map字典实现。1990到2010年,翻译模型是以统计翻译模型为主(statistical machine translation,简称为 SMT),核心思想是从数据中提炼一个概率模型。基于统计的机器翻译可能过时,不展开论述。值得注意的,google已经从SMT切换到NMT,也就是基于seq2seq的机器翻译模型。

不管哪种模型,翻译任务都需要知道一个概念:对齐(alignment),它指对于单词级别,源语言句子 x 中的单词在目标语言的句子 y 中的对应。这个对齐关系是复杂的,不仅仅存在简单的一对一关系,还可能有一对多,多对一,多对多。

2 神经网络翻译模型(NMT)

2014年出现的基于神经网络的机器翻译模型(Neural Machine Translation,简称为 NMT),它是 seq2seq 模型,它由两个RNN网络构成。一个称为编码器(encoder),对用A语言输入的句子 x 编码后,作为另一个解码器(decoder)隐含层的初始输入,如下图所示,解码成B语言表达的目标句子 y ,作为输出。这种模型是带条件的语言模型(conditioned language model)的例子,被称为 conditioned 是因为对句子 x 编码后作为第二个RNN的隐含层输入。

对此端对端的网络训练手段依然是反向传播。注意到上图中输出目标句子时,是通过 argmax 的贪心策略,输出每个时步中最可能的单词。更好地一个方法是通过束搜索( beam search )策略搜素假设空间,并找到最好的。关于 beam search 可以参考课程中的实例。

以上seq2seq对源句子的编码,融合并等同地看待了所有的单词,会出现 RNN的信息瓶颈。后来展开了很多研究,其中最明显的提升是带有注意力的seq2seq模型的出现。它的核心思想:在解码的每一个时步,专注于输入序列的某一个(某几个)单词。如下图所示,在解码时,重点对第一个单词做关注,并把它和上一个RNN的输出结合预测 y1

最后一个时步的输出如下图所示,中间过程可详细参考课程。

毫无疑问,注意力模型更加优秀,极大地提升了NMT的性能,同时解决了语言瓶颈,梯度消失问题,并且可以得到自动学得单词间的对齐关系。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档