CS224N Natural Language Processing with Deep Learning Lecture 7
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 7的课程内容,这一讲介绍了梯度消失以及梯度爆炸的问题,GRU以及LSTM。
Vanishing Gradient and Gradient Explosion Problems
回顾梯度计算公式
由链式法则不难得到
上式中最难计算的是$ \frac{\partial h_{t}}{\partial h_{k}}$,注意到
其中
上述等式中省略了下标。
结合以上几个式子可得
利用范数不等式可得
其中$\beta_W,\beta_h$分别表示$W^T,\operatorname{diag} [f^{\prime}\left(h_{j-1}\right)]$的范数上限,从而
所以如果$\beta_{W} \beta_{h}<1$,那么梯度的范数就会非常小,从而产生梯度消失的问题。
在实际中,也会产生梯度爆炸的问题,该问题的解决方式较为简单,只要将梯度按比例缩小即可:
Deep Bidirectional RNNs
之前介绍的RNN是单向的,这里介绍双向RNN:
计算公式如下
将双向RNN堆叠起来即可得到Deep Bidirectional RNN:
计算公式和双向RNN非常接近:
为了解决梯度消失或者梯度爆炸的问题,人们提出了一些结构,其中最常见的为GRU和LSTM。
Gated Recurrent Units(GRU)
图示如下:
Long-Short-Term-Memories
图示如下:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Doraemonzzz!
评论
ValineLivere