lstm模型

LSTM(Long Short-Term Memory)简介

由于RNN存在梯度消失的问题,很难处理长序列的数据。
为了解决RNN存在问题,后续人们对RNN做了改进,得到了RNN的特例LSTM,它可以避免常规RNN的梯度消失,因此在工业界得到了广泛的应用。
LSTM模型是RNN的变体,它能够学习长期依赖,允许信息长期存在。

举个例子来讲:比如人们读文章的时候,人们会根据已经阅读过的内容来对后面的内容进行理解,不会把之前的东西都丢掉从头进行思考,对内容的理解是贯穿的。
传统的神经网络即RNN做不到这一点,LSTM是具有循环的网络,解决了信息无法长期存在的问题,在工业界普遍使用有良好的效果。

带循环的递归神经网络如下
带循环的递归神经网络

RNN与LSTM之间联系

RNN具有如下的结构,每个序列索引位置t都有一个隐藏状态h(t)。
在这里插入图片描述
如果略去每层都有的o(t),L(t),y(t),则RNN的模型可以简化成如下图的形式:
在这里插入图片描述
图中可以很清晰看出在隐藏状态h(t)由x(t)和h(t−1)得到。得到h(t)后一方面用于当前层的模型损失计算,另一方面用于计算下一层的h(t+1)。

为了避免RNN的梯度消失,LSTM将tanh激活函数转为更为复杂的结构
LSTM的结构如下图:在这里插入图片描述

可以看到LSTM的结构要比RNN的复杂的多,真佩服牛人们怎么想出来这样的结构,然后这样居然就可以解决RNN梯度消失的问题?由于LSTM怎么可以解决梯度消失是一个比较难讲的问题,我也不是很熟悉,这里就不多说,重点回到LSTM的模型本身。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章