LSTM
LSTM(Long Short-Term Memory)是一种特殊的RNN,可以学习长依赖信息
核心原理
1.遗忘门:通过上一次的输出信息合并上这次的输入信息在通过一个激活函数为sigmoid函数的神经元得到一个(0, 1)之间的数$f_t$来乘上细胞状态,根据数字的大小来确定需要遗忘多少。
$$
f_t=\sigma(W_f.[h_{t-1},x_t]+b_f)
$$
2.输入门:通过上一次的输出信息合并上这次的输入信息在通过一个激活函数为sigmoid函数和tanh函数的神经元得到一个(0, 1)之间的数$i_t$和(-1, 1)之间的数,两数相乘再加入细胞状态中。
$$
i_t=\sigma(W_i.[h_{t-1},x_t]+b_i)
$$
$$
\tilde{C_t}=tanh(W_c.[h_{t-1}]+b_C)
$$
3.输出门:当细胞状态通过遗忘门和输入门后,新的细胞状态每个元素都通过tanh函数后乘上一个(0, 1)之间的数来作为当前神经元的输出和下一个神经元中的一个输入
$$
o_t=\sigma(W_o[h_{t-1},x_t]+b_o)
$$
$$
h_t=o_t*tanh(C_t)
$$
双向LSTM
单向的RNN,是根据前面的信息往后面推,但是有时候当前词语语义不仅和前面的词有关,还和后面的词也有关,所以再增加一个由前向后的LSRM的RNN
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zoubinbf@163.com