前面已经详细讲了LSTM神经网络(文末有链接回去),接着往下讲讲LSTM的一个很流行的变体。
GRU是什么
GRU即Gated Recurrent Unit。前面说到为了克服RNN无法很好处理远距离依赖而提出了LSTM,而GRU则是LSTM的一个变体,当然LSTM还有有很多其他的变体。GRU保持了LSTM的效果同时又使结构更加简单,所以它也非常流行。
GRU模型
回顾一下LSTM的模型,LSTM的重复网络模块的结构很复杂,它实现了三个门计算,即遗忘门、输入门和输出门。
而GRU模型如下,它只有两个门了,分别为更新门和重置门,即图中的$z_t$和$r_t$。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。
GRU向前传播
根据前面GRU模型图来一步步看他是怎么向前传播的,根据图不难得到以下式子:
其中[]表示两个向量相连接,*表示矩阵元素相乘。
GRU的训练
从前面的公式中可以看到需要学习的参数就是
那些权重参数,其中前三个权重都是拼接的,所以在学习时需要分割出来,即输出层的输入
,输出为 。设某时刻的损失函数为
,则某样本的损失为与前面LSTM网络类似,最终可以推出
以下是广告和相关阅读
========广告时间========
鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 进行预定。感谢各位朋友。
=========================
相关阅读:
欢迎关注: