首页 > 其他 > 详细

RNN笔记

时间:2020-01-31 15:17:04      阅读:84      评论:0      收藏:0      [点我收藏+]

背景知识

技术分享图片

  • RNN的应用场景:处理序列数据(一串前后依赖的 数据流)
  • RNN的局限:较近的输入的影响较大,较远的输入的影响较小,因此它无法捕捉输入间隔较远的数据之间的联系
  • RNN的改进:
    • LSTM使网络可以记住之前输入的重要信息,只不是很重要的信息
    • GRU(Gated Recurrent Unit)在LSTM的基础上做进一步的简化和调整,使其在训练数据集比较大的情况下可以节省很多时间
  • 附:现在提倡用Attention结合Seq2Seq来处理序列信息(参考:https://zhuanlan.zhihu.com/p/35701746
  • 关于RNN的一篇很好的英文教程:The Unreasonable Effectiveness of Recurrent Neural Networks,

基本结构

输入单元(Input units)的输入集标记为\(\{x_0,x_1,...,x_t,x_{t+1},...\}\),而输出单元(Output units)的输出集则被标记为\(\{y_0,y_1,...,y_t,y_{t+1},...\}\),隐藏单元(Hidden units)的输出集标记为\(\{h_0,h_1,...,h_t,h_{t+1},...\}\)

技术分享图片

技术分享图片

对前向传播过程的详细描述见:详细展示RNN的网络结构

反向传播

RNN反向传播所用的算法被称为:BPTT(BackPropagation Through Time),推导过程可参考:

实现方面可参考:

代码

>>> rnn = nn.RNN(10, 20, 2)
>>> input = torch.randn(5, 3, 10)
>>> h0 = torch.randn(2, 3, 20)
>>> output, hn = rnn(input, h0)

参考:

  1. 一文看懂循环神经网络-RNN(独特价值+优化算法+实际应用) - 产品经理的人工智能学习库
  2. 一文搞懂RNN(循环神经网络)基础篇
  3. 循环神经网络(RNN)基础讲解
  4. 详细展示RNN的网络结构

RNN笔记

原文:https://www.cnblogs.com/lokvahkoor/p/12245347.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!