LSTM学习笔记|Understanding LSTM and its diagrams
这是LSTM的一个储存单元。
将其看作一个黑盒,只看其输入输出。
三个输入分别是:
- X_t:当前时间的输入
- h_t-1:上一个LSTM单元的输出
- C_t-1:上一个单元的存储器
- h_t:该单元的输出
- C_t:该单元的内存
这是多个单元的连接图
在LSTM图中,顶部是内存管道,输入是旧的内存。
它会首先穿过第一个阀门:X 忘记阀门。实际上,这个一个逐元素做乘法的运算单元,如果权重接近零则要忘记大部分记忆。
然后,它会通过第二个操作符:+ 。这里将进行分段求和,将新内存和旧内存结合起来。
之后,就会把旧内存更改为新内存。
在这部分,第一个是忘记阀门。它由简单的神经网络控制。输入是h_t-1,X_t,C_t-1。偏置量b_0。这个神经网络有sigmod函数作为激活函数。它的输出向量是忘记阀门,其将逐元素应用于C_t-1。
第二个阀门是新记忆阀门(左)。同样,是一个单层简单神经网络,输入与忘记阀门相同。该阀门控制新内存影响就内存的程度。
右侧是新记忆,使用tanh作为激活函数。
这两个阀门分别是:忘记阀门和新记忆阀门。
最后一部我们需要产生这个单元的最终输出。这步骤的输出值是由新的记忆、之前的输出、输入和一个偏置向量决定的,这个值控制新的记忆应该输出到下一个LSTM的。
最常用的结构是下图,主要区别在于下图不同记忆单元C看做单元输入,而是作为内部的Cell。
下图试着用虚线和实线来表达延迟和顺序,虚线表达旧的记忆,这在开始是有效的。一些实线表示新的记忆。操作的执行必须要求新的记忆等待C_t可用。
即:
分部分分析:
这个是忘记阀门,用来减少过去的记忆。
这是新的记忆和记忆阀门。
这是两个阀门和元素求和器,来合并就的记忆和新的记忆,来生成C_t。流回Cell。
这是输出阀门和LSTM单元的输出。