理解LSTM网络

传统神经网络都是从零开始理解,这首个很大的缺点。
如何把之前的信息引入到当前任务中就需要用到RNN。
LSTM网络就是一种特殊的RNN结构,它能够学习长距离依赖。LSTM的结构就是用来防止长距离依赖问题,记住之前的信息对它而言是很自然的事情。

LSTM结构单元就像是传送带,从左边到右边只经历了轻微了线性变换。LSTM有这种移除或者添加信息的能力,考靠的就是门(gates)。
LSTM-chain

第一步:我们考虑哪些信息是我们不需要的,我们直接扔掉。这就是forget gate要做的事情。
forget gate
上面的sigmod函数就是决定信息的遗忘程度。1表示完全保留,0表示彻底丢弃。

下一步是要决定哪些新信息我们要保存,这里有两个部分:
1. input gate
2. tanh layer
LSTM-save
得到新向量 C̃ t 。然后我们综合这两部分得到一个新向量。

接下来我们要更新结构状态(cell state),从 Ct1 Ct

我们来梳理一下过程,进来一个状态 Ct1 ,我们先要忘掉之前准备忘掉的一些东西 ftCt1 ,然后我们加上要保留的新信息 itC̃ t

Ct=ftCt1+itC̃ t

最后,我们要决定要输出什么,输入当然是我们的状态(cell state)啦,但是我们要在输出之前先规整一下数据,这就是输出门(ouput gate)要做的事情。
首先,我们用sigmoid层来对输出的来滤一下波,然后放到tanh层中,然后再用输出的sigmoid gate的输出相乘。
LSTM-oput

当然,各个论文当中的LSTM的结构不尽相同,有各种各样的变种,不过也大同小异,基本结构就是如上所示,最重要的就是input gate,forget gate,oupgate三部分。

注:本文参考这篇博客,加入了点自己的理解,不当之处敬请指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值