深度学习第38讲:RNN的 4 种类型

     在上一讲中,我们对 RNN 的基本结构和计算机制有了初步的了解。本节笔者将和大家继续学习 RNN 的相关知识,对 RNN 的几种不同的类型结构进行分析。上一讲中我们以 RNN 中最普遍、最常见的结构类型为例进行了说明,即 N VS N 的结构类型。

N VS N

640?wx_fmt=png

N VS N(图片源自网络)

     所谓 N VS N,即 RNN 的输入输出序列是等长的。作为一种经典的 RNN 结构,N VS N 也有着广泛的应用:比如说信息抽取中的命名实体识别,我们需要判断每一个输入单词是否是命名实体的一部分,再比如我们要对视频的每一帧的分类标签进行分类,这也是一个 N VS N 的 RNN 结构。

     虽说 N VS N 是一种经典的 RNN 结构,但再实际应用中,我们碰到的更多的是输入输出序列不相等的情况。主要分以下三种:N VS 1(多对一)、1 VS N(一对多)和 N VS M(多对多/不等)。我们分别来看这三种结构的 RNN 以及应用方向。

N VS 1

     类比于 N VS N,N VS 1 要处理的问题是输入为一个序列,但输出却是一个单值的情况。这种情况 RNN 结构应该做怎样的变化呢?很简单,只要将之前每一个 y 输出去掉,统一在最后一个时间步对全部输入进行进行输出变换即可。N VS 1 的结构如下图所示:

640?wx_fmt=png

N VS 1 (图片选自caicai博客:https://caicai.science/)

     由上图可以看到,输入 X 有 5 个时间步的输入,但仅在最后一个隐变量激活时做输出转换为 y。N VS 1 常用来处理序列分类问题,比如文本的情感分类,视频内容分类等等。

1 VS N

     如果把 N VS 1 的输入输出对换一下就得到了 1 VS N 的 RNN 结构。即输入为单一值,输出为一个序列。其结构图就是 N VS 1 调换过来,如下图所示:

640?wx_fmt=png

1 VS N (图片选自caicai博客:https://caicai.science/)

     1 VS N 还有一种变体表达方式,即将输入 X 作为每个时间步的输入:

640?wx_fmt=jpeg


N VS 1变体 (图片选自何之源知乎专栏)

https://zhuanlan.zhihu.com/p/28054589

      作为 N VS 1 的对称结构,1 VS N 通常用于给定类别生成一段音乐,或者给定图像生成一段文字等等。

N VS M

      RNN 结构的最后一种变体结构,也是最重要的一种是 N VS M 结构,这也是一种多对多的 RNN,但与 N VS N 不同的是,N VS M 输入输出并不相等。这种 N VS M 模型也叫做 seq2seq 模型(序列对序列),N VS M 符合实际序列建模的大多数情况,即很多时候我们的输入输出序列并不等长,比如我们进行汉译英的机器翻译,输入汉语句子和输出英文句子基本不会等长。

     对于这种情况,RNN 的做法通常是先将输入序列编码成一个上下文向量 c,如下图所示:

640?wx_fmt=jpeg

N VS M 编码 (图片选自何之源知乎专栏)

https://zhuanlan.zhihu.com/p/28054589

      如上图所示,我们可以通过对最后一个隐变量以 c 进行赋值,然后展开来写。编码完成后我们再用一个 RNN 对 c 的结果进行解码,简而言之就是将 c 作为初始状态的隐变量输入到解码网络,如下图所示:

640?wx_fmt=jpeg

N VS M 解码 (图片选自何之源知乎专栏)

https://zhuanlan.zhihu.com/p/28054589

      N VS M 的 RNN 结构因为对输入输出长度没有要求,因而有着特别广泛的应用,包括:

  • 语音识别

  • 机器翻译

  • DNA序列分析

  • 文本摘要生成

  • ...

      以上便是 RNN 的 4 种基本结构类型,后续笔者将继续对这 4 种结构网络的应用进行深入的学习。

参考资料:

deeplearningai.com

https://zhuanlan.zhihu.com/p/28054589

https://caicai.science/2018/05/24/attention%E6%80%BB%E8%A7%88/

往期精彩:


一个数据科学从业者的学习历程

640?

640?wx_fmt=jpeg

长按二维码.关注数据科学家养成记

640?wx_fmt=jpeg

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值