← 全部章节详细版这一节

P38 · 架构

Recurrent Neural Network(上)

RNN · 2016/17 版 · 视频 49:00

1这节解决什么问题

同一个词,前面是「离开」还是「抵达」,它该填的槽就不一样。输入的词一样,答案却要变——信息不在这个词里,在它前面。

2一句话讲清

循环网络给模型一个「小本子」(隐状态),把看过的东西记在里面,随序列一步步往下传;同一组权重在每个时刻反复使用。

3通俗解释

  1. 每个时刻读入当前输入和上一时刻的小本子,算出新的小本子和输出。权重在所有时刻共用,所以序列变长,参数不增加。
  2. 小本子是固定大小的,是个瓶颈:它只能记网络认为重要的部分,记不下整段。
  3. 训练时把序列按时间摊开成一条很长的链,再照常往回分责任。同一个权重在链上被反复相乘,略大于一就越来越炸,略小于一就越来越淡。
  4. 长短期记忆用三个「闸门」(输入、遗忘、输出)把记忆更新从「乘」改成「加」:只要遗忘闸门开着,很早的信息也能沿这条路传回来。它缓解「越来越淡」,但不管「越来越炸」。

4一个例子

讲义例子

讲义用一组全是一的权重做过演示:输入的顺序不同,输出就跟着变,说明它对顺序敏感——这正是它比「把词装进袋子、不管顺序」强的地方。讲义另用「同一个数连乘很多次」说明问题:比一稍大,乘几百次就爆掉;比一稍小,乘几百次就几乎归零。

5常见误区

  • 以为长短期记忆解决了「越来越淡」。它缓解的是记忆通道上的变淡,而且以遗忘闸门开着为前提;讲义明确说它不管「越来越炸」,那要靠梯度裁剪。
  • 以为「按时间反向传播」是另一种算法。它就是普通的往回分责任,只是那条链在时间上拉得很长;只回传最近几步是工程上的近似。
  • 以为循环网络能记住整个序列。小本子大小固定,长序列必然丢信息——这正是后来注意力的动机。

6和相邻几节的关系

P36、P37 的自注意力正是为了去掉这里的「必须按顺序算」和长距离衰减;P47、P48 的 Transformer 把「编码器可以用循环网络或卷积」换成了自注意力。

730 秒回顾

需要记忆,所以有小本子;同一组权重反复用,参数不随长度长;按时间摊开就是普通的往回分责任;反复相乘导致爆炸或消失,裁剪只治爆炸;闸门把乘变加,缓解消失不管爆炸。

8小自测

先自己答,再点开对答案。

1. 序列变长,循环网络的参数会变多吗?为什么?

不会。同一组权重在每个时刻重复使用,所以参数量只跟每步的输入、小本子、输出的规模有关,跟序列多长无关。

2. 遗忘闸门全开和全关,分别意味着什么?

全开时旧记忆几乎原样保留,新内容直接加上去,很早的信息也能传回来;全关时旧记忆被丢掉,小本子里只剩新写进去的内容。

9来源

来源与说明(点开可查)

基于对应官方讲义整理并做复习补充,不是视频逐字稿;本页不标注视频时间点。

对应讲义页码:RNN (v2).pdf 第 2–38 页

回到顶部