长短期记忆网络 – LSTM
长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。
LSTM简化模型:有四个input、一个output。
接下来就对上面这个模型展开来讲:
LSTM的当前输入
x
t
x^t
xt和上一个状态传递下来的
h
t
−
1
h^{t-1}
ht−1拼接训练得到四个状态——
z
i
z^i
zi 、
z
f
z^f
zf、
z
o
z^o
zo、
z
z
z 。
z
i
z^i
zi 、
z
f
z^f
zf、
z
o
z^o
zo 是由拼接向量乘以权重矩阵之后,再通过一个
s
i
g
m
o
i
d
sigmoid
sigmoid 激活函数转换成0到1之间的数值,来作为一种门控状态。而
z
z
z 则是将结果通过一个
t
a
n
h
tanh
tanh 激活函数将转换成-1到1之间的值。
实际应用中LSTM一般是多层级的,如下图的网络模型:
同一时刻,将LSTM输出的y传入下一层,到最后一层在连接到全连接网络层。不同时刻,将前一时刻选择性记忆传给下个时刻综合得到输入的值。