李宏毅2020ML——P21-P22 RNN 循环神经网络

introduction

example application

Slot Filling

在这里插入图片描述
词汇要转化成vector,可以使用1-of-N编码,word hashing或者是word vector等方式,此外我们可以尝试使用Feedforward Neural Network来分析词汇,判断出它是属于时间或是目的地的概率

但这样做会有一个问题,该神经网络会先处理“arrive”和“leave”这两个词汇,然后再处理“Taipei”,这时对NN来说,输入是相同的,它没有办法区分出“Taipei”是出发地还是目的地

这个时候我们就希望神经网络是有记忆的,如果NN在看到“Taipei”的时候,还能记住之前已经看过的“arrive”或是“leave”,就可以根据上下文得到正确的答案
在这里插入图片描述

RNN basic concept

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不同的变形

Elman Network & Jorddan Network

在这里插入图片描述

Bidirectional RNN

在这里插入图片描述
在这里插入图片描述

LSTM

前文提到的RNN只是最简单的版本,并没有对memory的管理多加约束,可以随时进行读取,而现在常用的memory管理方式叫做长短期记忆(Long Short-term Memory),简称LSTM

可以被理解为比较长的短期记忆,因此是short-term,而非是long-short term

Three-gate:
在这里插入图片描述
三个gate:

  • 当某个neuron的输出想要被写进memory cell,它就必须要先经过一道叫做input gate的闸门,如果input gate关闭,则任何内容都无法被写入,而关闭与否、什么时候关闭,都是由神经网络自己学习到的
  • output gate决定了外界是否可以从memory cell中读取值,当output gate关闭的时候,memory里面的内容同样无法被读取
  • forget gate则决定了什么时候需要把memory cell里存放的内容忘记清空,什么时候依旧保存

4个input,1个output:

  • 4个input=想要被存到memory cell里的值+操控input gate的信号+操控output gate的信号+操控forget gate的信号
  • 1个output=想要从memory cell中被读取的值
    在这里插入图片描述
    LSTM Example:
    在这里插入图片描述
    在这里插入图片描述
    假设目前我们的hidden layer只有两个neuron,则结构如下图所示:
  • 输入x 1、x 2 会分别乘上四组不同的weight,作为neuron的输入以及三个状态门的控制信号
  • 在原来的neuron里,1个input对应1个output,而在LSTM里,4个input才产生1个output,并且所有的input都是不相同的
  • 从中也可以看出LSTM所需要的参数量是一般NN的4倍
    在这里插入图片描述
    LSTM 和RNN联系
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Learning Target

如此复杂的结构,我们应该如何训练呢?

Loss Function

在这里插入图片描述

Training

在这里插入图片描述

problem

在这里插入图片描述
在这里插入图片描述

why

在这里插入图片描述
因此RNN经常会遇到这两个问题:

  • 梯度消失(gradient vanishing),一直在梯度平缓的地方停滞不前
  • 梯度爆炸(gradient explode),梯度的更新步伐迈得太大导致直接飞出有效区间
Help Techniques

在这里插入图片描述
另一个版本GRU (Gated Recurrent Unit),只有两个gate,需要的参数量比LSTM少,鲁棒性比LSTM好,不容易过拟合,它的基本精神是旧的不去,新的不来,GRU会把input gate和forget gate连起来,当forget gate把memory里的值清空时,input gate才会打开,再放入新的值

此外,还有很多技术可以用来处理梯度消失的问题,比如Clockwise RNN、SCRN等
在这里插入图片描述

more application

在Slot Filling中,我们输入一个word vector输出它的label,除此之外RNN还可以做更复杂的事情

  • 多对一
  • 多对多

sentiment analysis

在这里插入图片描述

Key term Extraction

在这里插入图片描述

Many to Many (Output is shorter)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Sequence to Sequence Learning

在这里插入图片描述

Seq2Seq for Syntatic Parsing

在这里插入图片描述

Seq2Seq for Auto-encoder Text

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
…(还有非常多的应用和扩展)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值