今天打算复习一下RNN方面的基础,本篇博客会分三个部分讲:第一部分讲NN中的梯度弥散问题,第二部分讲RNN中的梯度弥散问题,并引出LSTM和GRU,第三部分聊一聊batch normalization和group normalization。
关于第一NN和RNN中的梯度问题(弥散,爆炸),因为涉及到了BP(NN),BPTT(RNN)的推导,索性直接在纸上手推了,顺便巩固了:
好的,现在已经引出了RNN中的梯度弥散问题,下面LSTM,GRU出场,看看他们如何解决这个问题。
LSTM出场
上面讲到,RNN的梯度问题是产生于 这一项,LSTM作为RNN的改进版本,改进了共享的神经网络模块,引入了cell结构,其实也是为了在这一项中保持一定的梯度,把连乘操作改为连加操作。
我们来看看LSTM的内部结构,包含了四个门层结构:
求导过程比较复