深度学习(3)Long short term memory-LSTM

Recurrent Neural Network

相比于一般的神经网络,比如MLP(Full-connection Neural Network),RNN是一种用于处理序列数据的神经网络,它能处理序列变化的数据。比如一个单词在上下文中的会有的不同含义。它能很好地处理这类问题。

RNN简介

14085710-f8fd853291e468de.png
Naive RNN

x为当前的输入状态
h为接收的上一节点的输入数据
y为当前节点状态下的输出
h'为传递到下一节点的输出

14085710-c901b811dd7fbed8.png
RNN

LSTM简介

长短期记忆(LSTM)是一种特殊的RNN, 主要是为了 解决长序列训练过程中的梯度消失和梯度爆炸的问题。相比普通的RNN,LSTM能够在更长的序列里有更好的表现。

14085710-3df7c96151bda21a
普通RNN和LSTM结构对比

相比RNN只有一个传递状态,LSTM有两个,一个(cell,state),一个(hidden state)。(RNN中的对应于LSTM中的)

其中对于要传递的,状态改变很慢,通常输出的是上一个状态传过来的加上一些数值。而则在不同节点下往往会有很大的区别。

深入LSTM的结构

首先,使用LSTM的当前输入和上一个状态传递下来的拼接训练得到四个状态。

14085710-ba9cd2f0f3809fb9.png
四个状态

、、都是拼接向量乘以权重矩阵后,通过一个sigmoid激活函数转换成0到1之间的数值,来作为一种门控状态。

而z是将结果通过tanh激活函数转换成0到1之间的数值。

进一步介绍这四个状态在LSTM中的使用

是Hadamard Product, 也就是操作矩阵中对应的元素相乘,两个相乘矩阵是同型的。则代表着矩阵相加。

LSTM内部主要有三个阶段:

1、忘记阶段,对上一个节点传进来的输入进行选择性忘记。
具体来说,通过计算得到的(forget),来作为忘记门控,来控制上一个状态哪些需要留,哪些需要忘记。

2、选择记忆阶段,这个阶段对这个阶段的输入进行选择性记忆。主要是对进行选择记忆。哪些重要着重记忆。
当前的输入内容有前面计算得到的z得到。
选择的门控信号是由(information)来控制。

将上面两步得到的结果相加,即可得到传输给下一个状态的也就是上图中的第一个公式。

3、输出阶段。这个阶段将决定哪些会被当成当前状态的输出。主要通过(output)来控制。

与普通RNN类似,输出往往最终也是通过变化得到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值