LSTM计算公式
LSTM
计算过程:
输入门:It=σ(XtWxi+Ht−1Whi+bi)遗忘门:Ft=σ(XtWxf+Ht−1Whf+bf)输出门:Ot=σ(XtWxo+Ht−1Who+bo)
其中It,Ft,Ot∈Rn×h,n为batch_size
候选记忆细胞:C~t=tanh(XtWxc+Ht−1Whc+bc)
其中C~t∈Rn×h
记忆细胞:Ct=Ft⨀Ct−1+It⨀C~t隐藏状态:Ht=Ot⨀tanh(Ct)
⨀表示按元素乘法
要点:
-
输入门It、遗忘门Ft、输出门Ot、候选记忆细胞C~t的计算与传统RNN中隐藏状态H的计算相似
-
遗忘门决定上一个记忆细胞的信息是否流入该时间步的记忆细胞,输入门决定该时间步的候选记忆细胞的信息是否流入该时间步的记忆细胞
-
输出门控制改时间步的记忆细胞的信息是否流入该时间步的隐藏状态并被输出层利用
-
多层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层数