关于LSTM模型,看懂这篇文章就OK了,不用再看别的了
1、LSTM的产生原因及优点
RNN模型中介绍了,由于长期依赖的问题,对于步长大的时刻求梯度,有一比分梯度的计算是类乘的形式,这样就会造成指数计算,从而造成梯度消失和梯度爆炸,所以LSTM和GRU模型被退出,原因是,LSTM和GRU模型他们采用了特殊的方式来进行"记忆"的存储,使得以前比较大的记忆不会像简单的RNN模型一样立刻被抹除掉,因此可以一定程度上克服梯度小时的问题
LSTM也是RNN的一种,大体结构一直,区别在于:
- LSTM的记忆细胞是改造过的
- 该记录的信息会一直传递,不该记录的信息会被截断掉
2、LSTM网络结构
注意:上边图形中的方块A并不是神经元。A是一个记忆细胞,里面有复杂的结构。
现在我们将”记忆细胞“展开:
对于普通的RNN我们只是简单的对上一层记忆细胞的输出乘一个参数矩阵作为下一层的一个输入,而LSTM的记忆细胞没有那么简单,这个图很重要,要会画,会写计算公式,我们来分析一下:
3、LSTM工作机制
1、LSTM怎么控制“细胞状态”:
- LSTM通过gates(门)结构来去除或者增加“细胞状态”de信息。
- 包含一个sigmoid神经网络层,和一个pointwist乘法操作。
- Sigmoid输出一个0~1之间的概率值,描述每个部分有多少量可以通过,0表示“不允许任务变量通过”,1表示“运行所有变量通过”
- LSTM中有三个“门”结构来控制细胞状态
2、要知道LSTM的里边都是有那些结构和操作:
决定从细胞状态中丢弃什么信息,比如在与语言模型中,细胞状态可能包含了性别信息(他或者她),当我们看到新的代名词的时候,比如他的具体名字,可以考虑忘记旧数据
ft在乘Ct-1就起到了遗忘作用
决定什么信息可以增加到“信息状态”中去 Sigmoid层决定什么信息需要增加 tanh层,创建一个新的候选向量Ct 主要是为了状态更新做准备
经过第一个门和第二个门之后,可以确定信息的传递和增加,即可进行“细胞状态”的更新。
更新Ct-1为Ct 将旧状态与第一个门得到的ft相乘,丢失掉确定不要的信息 加上新的侯选值it x Ct得到最终更新后的“细胞状态”
- 3、输出门
基于细胞状态得到输出 首先运行一个Sigmoid层,来确定细胞状态的那个部分将输出 用一个tanh处理记忆细胞状态得到一个-1~1之间的值,再将他和Sigmoid的输出值相乘,输出程序确定输出部分。
四个黄色部分有4个神经元,每个神经元有不同的参数W,是不一样的。
4个神经元中有5个激活函数,有Sigmoid和tanh,粉色的激活函数没参数W
用于记忆状态和细胞状态的状态选择
- 7、矢量传输
- 8、连接拼接
- 9、复制
- 10、细胞状态C(记忆单元,图中上面的直线)
类似于传送带,直接在整个链上运行,只有一些少量的线性交互(点成,点加),信息在上面流保持不变很容易。
4、LSTM Attention 机制
核心思想:抑制不重要的信息,加强重要的信息 **输入输出信息都可以做,**下面我们举一个输出信息做的,在卷积模型中的SEnet,和CAMB上就是在输入上做的Attention
Attention机制就是一个注意力机制,他具体做的就是将输入在不同的层次上加上一个权重,可能是通道上,也可能是空间上,加权重的方式也有很多种,可能是做平均池化,也可能是做最大值池化然后将输出结果做全连接在加Sigmoid或者Softmax,将输入映射到0~1的值。
LSTA Attention的作用机制有:
- 1、直接对每个输入进行权重计算,然后在加权求和
对输入进行权重计算,此方法很简单,就是将输入做一个全连接,随后采用Softmax函数激活概率
假设输入是一句话: 我 在 北 京 经过:lstm/rnn 输出: y1=1 y2=4 y3=5 y4=6 如果我用普通的不含有Attention的模型做分类任务,我就只看y4的值 如果我添加了Attention 1、计算权重: 分母一样的:e1 + e4 + e5 + e6 1时刻输出y1的权重:e1 /分母 = 0.2 2时刻输出y2的权重:e4 /分母 = 0.3 3时刻输出y3的权重:e5 /分母 = 0.1 4时刻输出y4的权重:e6 /分母 = 0.4 2、最终整句话的输出: y = (1* 0.2) +( 4 * 0.3) + (5 * 0.1) + (6 * 0.4) 这就考虑每一时刻的输出值,不在只考虑最后一时刻的输出值了
第一层:最后一个时刻y1 第二层:最后一个时刻y2 第三层:最后一个时刻y3 然后对每一层的最后一个时刻的y做一个Attention,用来融合每一层的信息
- 2、加入激活函数并求和
第一种方法我们是计算权重之后计算输出值,这里我们计算权重之后再加一个tanh激活函数,然后求完权重进行了加和。
关于LSTM模型,看懂这篇文章就OK了,不用再看别的了
LSTM有很多变种,变种就是记忆细胞里边信息的传递机制发生改变,类比LSTM都能看得懂。 OK!!!!
|