【李宏毅】RNN

Recurrent Neural Network:有记忆的network,因为它储存了记忆,所以就算给它一样的input,output也有可能不一样,因为memory不一样。改变input的顺序,output也会不一样。

RNN也可以用gradient decent训练,用BPTT(Backpropergation Through Time)

为什么同样的输入得到的输出不一样?

Elman Network是把hidden layer的值存起来,在下一个时间点再读出来。

Jordan Network是把整个network的output的值存起来,然后在下一个时间点再读出来。

Jordan Network 可以得到更好的控制效果,因为在Elman Network中存储的上一个时间点的hidden layer的值是没有target的,所以难以控制它学到了什么东西;而Jordan Network是有target的,所以我们可以比较清楚放在memory中的是什么。

Recurrent Neural Network 还可以是双向的——Bidirectional RNN

可以同时train一个正向的和一个反向的,一起产生output。

LSTM(long short-term memory)

TODO

为什么用LSTM?

LSTM 可以解决RNN中gradient vanishing 的问题(不能解决gradient explode的问题)

为什么LSTM可以解决gradient vanishing的问题?

在LSTM中,memory和input是相加的。

如果weight可以影响到memory的值,一旦发生影响,这个影响就不会消失,除非forget gate关闭(forget gate 在多数情况下是开启的);而RNN里在下一个时间点影响会被forget。

GRU(Gate Recurrent Unit):有两个gate,需要的参数量比较少,比LSTM简单,如果overfitting比较严重,可以换成GRU。GRU在input gate开的时候forget gate会关闭(forget memory)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值