详解从 Seq2Seq模型、RNN结构、Encoder-Decoder模型 到 Attention模型

欢迎点击参观我的 ——> 个人学习网站

注:本文的所有模型只涉及自然语言处理领域,同时本文不涉及太多复杂公式推导。

一、Seq2Seq 模型

1. 简介

Sequence-to-sequence (seq2seq) 模型,顾名思义,其输入是一个序列,输出也是一个序列,例如输入是英文句子,输出则是翻译的中文。seq2seq 可以用在很多方面:机器翻译、QA 系统、文档摘要生成、Image Captioning (图片描述生成器)。

2. 基本框架

第一种结构

[参考1]论文中提出的 seq2seq 模型可简单理解为由三部分组成:Encoder、Decoder 和连接两者的 State Vector (中间状态向量) C 。
这里写图片描述

上图中 EncoderDecoder 可以是一个 RNN ,但通常是其变种 LSTM 或者 GRUEncoderDecoder 具体介绍请见第三部分。

第二种结构

该结构是最简单的结构,和第一种结构相似,只是 Decoder 的第一个时刻只用到了 Encoder 最后输出的中间状态变量
这里写图片描述

应用:

……

注:确保你对所有模型都有所了解后再阅读应用后面的参考链接。

二、RNN 结构

1. 为什么在这里提及 RNNRNN 变种?

接下来要介绍的 Encoder-Decoder 模型中,EncoderDecoder 两部分的输入输出可以是文字、图像、语音等等,所以 EncoderDecoder 一般采用 CNNRNNLSTMGRU 等等。这里,我们只介绍经典 RNN 的结构。

如果对 LSTM 感兴趣的话,请参考 -原创翻译- 详解 LSTM(Understanding LSTM Networks)

2. 图解 RNN 结构

RNN 大都用来处理像一串句子、一段语音这种的序列化数据。展开的 RNN 结构图如下:
这里写图片描述

由图可见,其当前时间 t 的输出依赖两部分:前一时刻的隐层 ht1 h t − 1 和当前的输入 xt x t

下面主要介绍经典的三种 RNN 结构:

(1) n VS 1

这里写图片描述

注:圆圈代表给定的输入,箭头代表运算,矩形代表隐层,也就是箭头运算后的结果。其中参数 WUV W 、 U 、 V 都是一样的。在自然语言处理问题。 x1 x 1 可以看做是第一个单词, x2 x 2 可以看做是第二个单词…

这种结构可应用于情感分析、文本分类等等。

(2) 1 VS n

这里写图片描述

下图是把输入当作每个时刻的输入:
这里写图片描述

这种结构可应用于应用于 Image Caption ,输入是图像的特征矩阵,输出是一段对图像的描述。

(3) n VS n

这里写图片描述

这种结构可应用于机器翻译等。如果感兴趣,可以参考下面的 文章。作者使用 RNN 实现了根据一个字母推测下一个字母的概率。

参考3:-原创翻译- RNNs的“神奇功效”(The Unreasonable Effectiveness of Recurrent Neural Networks)

(4) n VS m

在机器翻译中,源语言和目标语言的句子序列都是不等长的,而原始的 n VS n 结构都是要求序列等长的。为此,我们有了 n VS m 结构,这种结构又被称为 Encoder-Decoder模型 。具体请见下一部分。

三、Encoder-Decoder 模型

1. 简介

在第二节的第四部分,我们提出了 RNNn VS m 结构:Encoder-Decoder 模型,Encoder-Decoder 模型是深度学习中常见的一种模型。在本文中,我们只简单介绍其在文本-文本的应用,比如将英语翻译成汉语,所以该模型也可以称为 Seq2Seq 模型 。下图为 Encoder-Decoder 模型的抽象图:
这里写图片描述

2. 分析

1) Encoder

给定句子对

2) Decoder

得到中间语义向量 C 后,使用 Decoder 进行解码。Decoder根据中间状态向量 C 和已经生成的历史信息 y1,y2…yi-1 去生成 t 时刻的单词 yi

yi=g(C,y1,y2,
  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值