lstm结构图_LSTM学习总结

a82f703b6684310d1b1650c356ed2e71.png

最近被导师安排的研究内容正好可以用到LSTM,自己学习的过程顺便做一下总结。

(很多示意图和公式就不画了,侵删)


LSTM简介

LSTM是在RNN基础上改进的一种神经网络。主要是对隐含层的一种改进。

  • 需要改进的原因:RNN存在梯度爆炸或者梯度消失的问题。

6617747de5b3557ff2b63a7f88d21b1c.png

LSTM的隐含层添加了一个cell。这个cell保存着网络中的长期状态。

所以LSTM的关键是:如何控制这个长期状态c

思路是:使用三个控制开关

  1. 第一个:控制保存长期状态c
  2. 第二个:负责把即时状态输入到长期状态
  3. 第三个:负责是否把长期状态作为输出

那么如何实现控制开关?

利用门的概念:用门的输出向量按元素乘以我们需要控制的向量

91587ebe1eb6ebf0c962eeace471bdc6.png

这里的σ为常用的sigmoid函数

0c09491fef22afbf2272a7e1176c9700.png

c4eb47c71e53be581c183ff8168e17b4.png

门分为三个:

  • 遗忘门(forget gate),貌似也有文献提到叫 keep gate。
  • 输入门
  • 输出门

LSTM前向传播

长期状态c的更新依靠遗忘门和输入门;状态c有多少作为LSTM的输出依赖于输入门。

从LSTM的结构图可以很明显的看到这一点:

786328f0eec20537f05874a701678d60.png

19707b902c0b7a7fc1a2cccbf04acc94.png

8642fd531b70afa45296e6db018d96b1.png

a29da287a6fc7f884b15c3407988f4ac.png

6e54f218fe52ecf7079faa188f445f6c.png

8a479aa68c0f4da444aa7ac2440bdb84.png

45455aecfa920eafd15dd6c4e6643ca8.png

上述公式也可以在其中得到体现。


LSTM反向传播算法

反向传播的基本步骤:

  • 反向计算每个神经元的误差值
  • 根据相应的误差值,计算每个权重的梯度

反向传播包括两个方向:

  • 沿时间的反向传播
  • 沿层的反向传播,将误差项向上一层传播

权重矩阵对应h和x两项,是由两个矩阵拼接而成,在反向传播中采用不同公式。

这里给出一些推倒,主要就是求偏微分。

1.假设

dfacea0671e5f3aba753f3ebb45d65f7.png

已知

a995a43a36251136a6a364f4f5379284.png

fe90926a4baa89771db595dee29935f5.png

可得

3c20e01509b1864b71fd8d960d94556e.png

2.已知

ae17dcd425d07fb705d0083d909f7667.png

f9f45cebc8dd301b5527940d1c9dfabe.png

可得

67e3ba2bd303def3e2b917f15e10c5b5.png

3.已知

c9e9f407fe4951a05f331ec058466e72.png

2d97df29ed9402890790687d16cffb52.png

可得

53a70293befdf87d44ff2e3d867164ba.png

4.已知

62b676d5098591cb05d147f030b19433.png

001e6779f99a524e4b1b7293603382fd.png

可得

be5183979f0a001e12751e4a5e0c496d.png

1fb7eb1f160a049800147cad42f7cf5e.png

总梯度:

1a805f53cdb05e169e221f7e4adbded8.png

LSTM的前向和后向传递的推倒大概就这些。

比较浅薄,继续学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值