循环神经网络RNN
GRU(Gated Recurrent Unit)
门控循环单元(GRU)的出现主要是为了解决循环神经网络训练过程中出现的梯度消失和梯度爆炸问题。
GRU中采用记忆细胞c的值替换了激活值a。本质来说,c就是新的a值。但c值的循环规则和a不同。
对于基本的RNN来说,其值的更新规则如下图所示:
但对于GRU来说,其更新规则则不同:
从数学的角度来看,GRU给网络增加了两个可以学习的单元 Γ u \Gamma_u Γu以及 Γ r \Gamma_r Γr,其中 Γ r \Gamma_r Γr用于表征待选值 c t ~ \widetilde{c_t} ct 与上一个时刻记忆值之间的关联程度,而 Γ u \Gamma_u Γu则用来控制实际输出是越接近待选值还是上一个时刻的记忆值。 Γ u \Gamma_u Γu被理解成“更新门”, Γ r \Gamma_r Γr被称作“相关门”。
LSTM(Long-short Time Memory)
LSTM与GRU最大的不同在于LSTM没用用c取代a,而是两者同时存在。更新规则参考上图。更新门、遗忘门、输出。