参考:博客

RNN在使用过程中会出现梯度爆炸 (exploding gradients) 和梯度消失 (vanishing gradients) 两种问题:

  • 梯度爆炸 这个问题通常出现在深度神经网络中 (多层网络),当使用梯度回传时,梯度可能会爆炸。这个问题可以使用 gradient clipping 方法解决,即设定一个阈值,当超过这个阈值之后,就把梯度设为一个固定值;
  • 梯度消失 这个问题通常是因为步骤过长,RNN不能很好的捕捉之前的信息;

为了解决这两种问题,可以引入两种RNN的变形,GRU和LSTM。

双向网络

双向网络的结构如下图所示:

多层RNN

每个时间步,前向和后向的表示都用来计算当前的 \(\widehat{y}\):

\[\hat{y}_t = g(W_y[\overrightarrow{a}_t,\overleftarrow{a}_t]+b_y) \]

多层网络

我们可以将这些单层的RNN堆叠成多层的网络,网络的结构如下:

多层RNN

可以看出第 2 层,第 3 步的结果计算如下:

\[a^{l2}_{t3}=g(W_a[a^{l2}_{t2},a^{l1}_{t3}]+b_a) \]

相关文章:

  • 2022-12-23
  • 2021-05-31
  • 2021-08-10
  • 2021-06-06
猜你喜欢
  • 2021-07-25
  • 2021-04-01
  • 2022-01-22
  • 2021-12-20
  • 2022-12-23
  • 2021-10-06
  • 2021-12-09
相关资源
相似解决方案