TensorFlow入门笔记(15)长短时记忆神经网络LSTM

#
#作者:韦访
#博客:https://blog.csdn.net/rookie_wei
#微信:1007895847
#添加微信的备注一下是CSDN的
#欢迎大家一起学习
#

 

1、概述

上一讲说到,虽然简单的循环神经网络理论上可以建立长时间间隔的依赖关系,但是由于梯度爆炸或梯度消失问题,实际上只能解决短周期的依赖关系。而引入“门机制”的LSTM (Long Short-Term Memory)可以解决这个问题。那么,这节就简单来看看LSTM的网络结构及其变体。

2、网络结构

LSTM通过刻意的设计来避免长期依赖问题,先来看看标准的RNN,如下图所示,这里的激活函数使用tanh函数,

而LSTM网络也是使用这样的结构,只是循环体用了不同的结构,如下图所示,

上图中使用的各个元素的图标的含义如下图所示,

其中,方框表示神经网络层;圆圈表示运算操作,如向量和;黑线传输着一整个向量,从一个节点的输出到其他节点的输入;合在一起的线表示向量的连接,分开的线表示内容被复制并分发到不同的位置。

3、核心思想

LSTM的核心思想是引入了细胞状态的连接,细胞状态用来存放想存放想要记忆的东西。如下图所示,

细胞状态类似于传送带,直接在整个链上运行,只有少量的线性交互,信息在上面流传保持不变很容易。

LSTM有通过精心设计的“门”结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择通过的方法,它们包含一个Sigmoid神经网络层和一个乘法操作。Sigmoid层输出0到1之间的数,描述每个部分有多少量可以通过,0代表不允许任何量通过,1表示允许任何量通过,结构如下图所示,

LSTM拥有3个门,分别是忘记门,输入门,输出门,用来保护和控制细胞状态。下面分别来介绍。

6、输出门

输出门就是通过一个Sigmoid层来确定细胞状态的哪个部分将输出出去。把细胞状态通过Tanh进行处理,得到一个-1到1之间的值,并将它和Sigmoid门的输出相乘,最终仅仅输出确定输出的部分。结构如下图所示,

7、LSTM变体

Peephole

该结构如下图所示,

这个模型增加了peepgole到每个门上,让门也接受细胞状态的输入。

 

GRU

该结构如下图所示,

这个模型将忘记门和输入门合并成一个单一的更新门,还混合了细胞状态和隐藏状态以及其他一些改动,最终使得该模型比标准LSTM模型要简单,但效果一样。

 

Tensorflow或其他深度学习框架都集成了LSTM等接口,不理解也没多大关系,会用就行。下一讲,我们就使用LSTM来实现分离音乐中的人声和背景音乐。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值