吴恩达Deeplearning.ai 第五课 Sequence Model 第一周------Vanishing gradients with RNNs
这一节主要描述了RNN的梯度消失问题,解决方案就是后面的GRU和LSTM
如图,两句话,cat对应was和cats对应were,但是这两个单词相隔很远,这样就存在一个问题,cat的单复数可能影响不了后面be动词的单复数判断,在神经网络中,这和之前在DNN中所见到的类似,梯度消失。
也就是一个输出,只会受到附近的输入的影响。这里每个输入输入的就是一层神经网络
梯度爆炸:
同样,在RNN也会可能发生梯度爆炸的问题,不过这种情况相对梯度消失来说更为少见。
并且如果发生梯度爆炸,我们可以通过数据产生的NaN来进行判断,并通过gradient clipping来解决(rescaling gradient vector)
一种简单的处理方法是:对于梯度矩阵中,如果某个梯度值大于10(一个事先设定的值),则将该梯度设为10,如果某个梯度值小于-10,则将该梯度设为-10。如果在-10到10之间,则保持该值不变。