跳到主要内容

RNN 学习笔记

RNN 时间序列输入形式​

自用—时间序列数据、RNN、LSTM 中输入形式的记录_

LSTM 结构​

LSTM

GRU 结构​

GRU

ConvLSTM​

ConvLSTM

ConvLSTM 公式:

输入门:it=σ(Wxixt+Whiht−1+Wci∘ct−1+bi)输入门:i_t =\sigma(W_{xi}x_t+W_{hi}h_{t-1}+W_{ci} \circ c_{t-1}+b_i)

遗忘门:ft=σ(Wxfxt+Whfht−1+Wcf∘ct−1+bf)遗忘门:f_t=\sigma(W_{xf}x_t+W_{hf}h_{t-1}+W_{cf} \circ c_{t-1}+b_f) 内部记忆单元:ct=ft∘ct−1+it∘tanh(Wxcxt+Whcht−1+bc)内部记忆单元:c_t=f_t \circ c_{t-1}+ i_t \circ tanh(W_{xc}x_t+W_{hc}h_{t-1}+b_c) 输出门:ot=σ(Wxoxt+Whoht−1+Wc∘ct+bo)输出门:o_t=\sigma(W_{xo}x_t+W_{ho}h_{t-1}+W_{c} \circ c_t +b_o) 隐藏层ht=ot∘tanh(ct)隐藏层 h_t=o_t \circ tanh(c_t)

ConvGRU​

GRU 摒弃了 LSTM 中的记忆单元,并将输入门和遗忘门结合成了更新门(update gate) 在不失精度的情况下,简化 ConvLSTM 的结构,加快训练的次数。 公式:

输入门:rt=σ(Wtxt+Utht−1)输入门:r_t=\sigma(W_tx_t+U_th_{t-1}) 更新门:zt=σ(Wzxt+Uzht−1)更新门:z_t=\sigma(W_zx_t+U_zh_{t-1}) 隐藏层候选值:h~t=tanh(Wxt+U(rt∘ht−1))隐藏层候选值:\widetilde{h}_t=tanh(Wx_t+U(r_t \circ h_{t-1})) 隐藏层:ht=(1−zt)∘ht−1+zt∘h~t隐藏层:h_t =(1-z_t)\circ h_{t-1} + z_t \circ \widetilde{h}_t

z 为更新门,决定有多少迁移一层的状态要更新当前神经元中 h~\widetilde{h} 为隐含层候选值,但输出的隐含层值是有更新门 z 计算出来的