9.1.1 门控隐状态

梯度消失问题是指在深度神经网络中,反向传播时梯度随着层数的增加逐渐变小,导致早期层的权重更新非常缓慢,甚至几乎不更新。这个问题在长序列的循环神经网络(RNN)中尤为明显。

为了缓解这个问题,门控循环单元(GRU)和长短期记忆网络(LSTM)引入了门控机制,使得网络能够更好地控制信息的流动。下面我们将通过数学推导来说明为什么GRU和LSTM可以缓解梯度消失问题。

LSTM的数学推导

LSTM的核心是引入了三个门:输入门、遗忘门和输出门。LSTM的单元状态更新公式如下:

  1. 遗忘门

    \[f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) \]

  2. 输入门

    \[i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) \]

    \[\tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C) \]

  3. 单元状态更新

    \[C_t = f_t \cdot C_{t-1} + i_t \cdot \tilde{C}_t \]

  4. 输出门

    \[o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o) \]

    \[h_t = o_t \cdot \tanh(C_t) \]

其中,\(\sigma\)是sigmoid函数,\(\tanh\)是双曲正切函数。

在反向传播时,LSTM的梯度更新公式为:

\[\frac{\partial C_t}{\partial C_{t-1}} = f_t \]

由于遗忘门\(f_t\)的值在0到1之间,它可以直接控制梯度在反向传播时的缩放。如果遗忘门接近1,梯度可以几乎不变地传递下去,从而避免了梯度消失问题。

GRU的数学推导

GRU是LSTM的简化版本,它合并了遗忘门和输入门,并引入了更新门和重置门。GRU的单元状态更新公式如下:

  1. 更新门

    \[z_t = \sigma(W_z \cdot [h_{t-1}, x_t]) \]

  2. 重置门

    \[r_t = \sigma(W_r \cdot [h_{t-1}, x_t]) \]

  3. 候选隐藏状态

    \[\tilde{h}_t = \tanh(W \cdot [r_t \cdot h_{t-1}, x_t]) \]

  4. 隐藏状态更新

    \[h_t = (1 - z_t) \cdot h_{t-1} + z_t \cdot \tilde{h}_t \]

在反向传播时,GRU的梯度更新公式为:

\[\frac{\partial h_t}{\partial h_{t-1}} = (1 - z_t) + z_t \cdot \frac{\partial \tilde{h}_t}{\partial h_{t-1}} \]

由于更新门\(z_t\)的值在0到1之间,它可以直接控制梯度在反向传播时的缩放。如果更新门接近1,梯度可以几乎不变地传递下去,从而避免了梯度消失问题。

总结

通过引入门控机制,LSTM和GRU能够在反向传播时更好地控制梯度的流动,从而缓解了梯度消失问题。这使得它们能够在处理长序列数据时表现得更好。

\(c^{\left<t\right>}\)就可以记很多个信息,不仅可以记主语是单数还是复数,也许还记下了文章的主题等等

posted @ 2025-03-22 19:17  最爱丁珰  阅读(45)  评论(0)    收藏  举报