(Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导

(Unfinished)尚未完成

一、说明

  • 关于LSTMcell结构和一些计算在之前已经介绍了,可以点击这里查看
  • 本篇博客主要涉及一下内容:
    • LSTM前向计算说明(之前的博客中LSTM部分实际已经提到过,这里结合图更详细说明)

二、LSTM前向计算step by step

1、结构review

  • 我们知道RNN的结构如下图
    • 注意cell中的神经元可以有多个
      (Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导_第1张图片
  • LSTM就是对cell结构的改进
    (Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导_第2张图片
  • 符号说明
    (Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导_第3张图片
  • LSTM的关键就是state,就是对应上面的主线数据的传递
    (Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导_第4张图片

2、前向计算step by step

(1) 决定抛弃的信息

  • 遗忘门 (forget gate layer)
  • σSigmoid激励函数,因为它的值域是(0,1)0代表遗忘所有信息,1代表保留所有信息

(Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导_第5张图片

(2) 决定存储的新信息

  • 包括两个部分
    • 第一个是输入门 (input gate layer),对应的是Sigmoid函数
    • 第二个是经过tanh激励函数

(Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导_第6张图片

(3) 更新stateCt1Ct

  • ft是经过Sigmoid函数的,所以值域在(0,1)之间,Ct1点乘0-1之间的数实际就是对Ct1的一种缩放,(可以认为是记住之前信息的程度)
  • 然后加入进来的新的信息
    (Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导_第7张图片

(4) 最后计算输出

  • 输出门(output gate layer)

(Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导_第8张图片

  • 最后再放一下之前的图, 数据流向可能更清晰

(Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导_第9张图片

三、GRU (Gated Recurrent Unit)

1、结构和前向计算

  • 如下图所示
    • 相比LSTMGRU结合了遗忘门和输入门
    • 同样也合并了cell statehidden state (就是LSTM中的ch
    • GRULSTM更加简单

Reference

  • https://colah.github.io/posts/2015-08-Understanding-LSTMs/
  • https://r2rt.com/written-memories-understanding-deriving-and-extending-the-lstm.html#dealing-with-vanishing-and-exploding-gradients
  • http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf

  • http://lawlite.me/2016/12/20/%E8%AE%BA%E6%96%87%E8%AE%B0%E5%BD%95-UnderstandingTheDifficultyOfTrainingDeepFeedforwardNeuralNetworks/
原文地址: http://lawlite.me/2017/06/21/RNN-%E5%BE%AA%E7%8E%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E4%B9%8BLSTM%E5%92%8CGRU-04%E4%BB%8B%E7%BB%8D%E5%8F%8A%E6%8E%A8%E5%AF%BC/

你可能感兴趣的:(Deep,Learning,LSTM,Recurrent,Neural,Network,(RNN))