LSTM的架构和工作
LSTM 架构有一个由四个组成的神经网络,称为细胞不同存储块的链式结构。
信息由单元保留,内存操作由门完成。 有三个门——遗忘门、输入门和输出门。
遗忘之门
在单位状态中不再有用的信息将通过遗忘门删除。 两个输入 XT(特定时间的输入)和 HT-1(前一个单元输出)被馈送到栅极,并与权重矩阵相乘,然后是偏移量。 结果是通过一个提供二进制输出的激活函数。 如果对于特定单元格状态,输出为 0,则忘记该消息,而对于输出 1,则保留该消息以供将来使用。 被遗忘之门的方程式是:
f_t=σ(w_f·[h,x_t]+b_f)
w f 表示与遗忘门关联的权重矩阵。
H T-1, X T] 表示当前输入和先前隐藏状态的级联。
BF 是带有被遗忘门的偏差。
是 sigmoid 激活函数。
进门
通过输入门来向单元状态添加有用的信息。 首先,使用 sigmoid 函数对信息进行调节,类似于使用带有输入 HT-1 和 XT 的遗忘门来过滤要记住的值。 然后,使用 tanh 函数创建一个向量,该向量给出从 -1 到 +1 的输出,其中包含所有可能的值 ht-1 和 xt。 最后,将向量的值乘以审核值以获得有用的信息。 输入门的公式为:
i_t=σ(w_i·[h,x_t]+b_i)
ĉ_t=tanh(w_c·[h,x_t]+b_c)
我们将之前的状态乘以 ft,忽略我们之前选择忽略的信息。 接下来,我们将其包含在 *ct 中。 这表示更新的候选值,根据我们选择更新每个状态值的数量进行调整。
c_t=f_t⊙c_+i_t⊙
表示元素乘法。
Tanh 是 Tanh 激活函数。
输出门
从当前电池状态中提取有用信息作为输出的任务由输出门完成。 首先,通过在单元上应用 tanh 函数来生成向量。 然后,使用 sigmoid 函数调整信息,并使用输入 ht-1 和 xt 按要记住的值进行过滤。 最后,将矢量和调制的值相乘,并作为输出发送到下一个单元格和输入。 输出门的公式为:
o_t=σ(w_o·[h,x_t]+b_o)