发布于 

LSTM笔记

LSTM计算公式

LSTM

计算过程:

\[ 输入门:I_t = \sigma(X_tW_{xi}+H_{t-1}W_{hi}+b_i) \\ 遗忘门:F_t = \sigma(X_tW_{xf}+H_{t-1}W_{hf}+b_f) \\ 输出门:O_t = \sigma(X_tW_{xo}+H_{t-1}W_{ho}+b_o) \]

其中\(I_t,F_t,O_t\in R^{n\times h}\),n为batch_size \[ 候选记忆细胞:\tilde{C}_t=tanh(X_tW_{xc}+H_{t-1}W_{hc}+b_c) \] 其中\(\tilde{C}_t \in R^{n \times h}\) \[ 记忆细胞:C_t=F_t \bigodot C_{t-1}+I_t \bigodot \tilde{C}_t \\ 隐藏状态:H_t=O_t \bigodot tanh(C_t) \] \(\bigodot\)表示按元素乘法

要点:

  1. 输入门\(I_t\)、遗忘门\(F_t\)、输出门\(O_t\)、候选记忆细胞\(\tilde{C}_t\)的计算与传统RNN中隐藏状态H的计算相似

  2. 遗忘门决定上一个记忆细胞的信息是否流入该时间步的记忆细胞,输入门决定该时间步的候选记忆细胞的信息是否流入该时间步的记忆细胞

  3. 输出门控制改时间步的记忆细胞的信息是否流入该时间步的隐藏状态并被输出层利用

  4. 多层LSTM:

    多层LSTM

向量化:

\(输入X:(batch\_size,seq\_len,d\_model)\)

\(隐藏状态H:(batch\_size,num\_direction*num\_layers,num\_hidden)\)

\(记忆细胞C:(batch\_size,num\_direction*num\_layers,num\_hidden)\)


图片来源:TensorFlow入门(五)多层 LSTM 通俗易懂版_永永夜的博客-CSDN博客_lstm层数


本站由 @Eumendies 使用 Stellar 主题创建。 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。