GRU
结构图![这是一张可爱的GRU结构图](https://i-blog.csdnimg.cn/blog_migrate/779e917f23f6a562da8214926a8aed20.png#pic_center)
向前传播的公式
注 : 图 中 用 h ′ 表 示 h ~ t r t = σ ( [ h t − 1 , x t ] ⋅ W r ) z t = σ ( [ h t − 1 , x t ] ⋅ W z ) h ~ t = tanh ( [ r t ∗ h t − 1 , x t ] ⋅ W h ~ ) h t = ( 1 − z t ) ∗ h t − 1 + z t ∗ h ~ t y t = σ ( h t ⋅ W o ) \begin{array}{l} 注:图中用 h^{\prime} 表示 \tilde{h}_{t} \\ r_{t}=\sigma\left([h_{t-1}, x_{t}] \cdot W_{r}\right) \\ z_{t}=\sigma\left([h_{t-1}, x_{t}] \cdot W_{z}\right) \\ \tilde{h}_{t}=\tanh \left(\left[r_{t} * h_{t-1}, x_{t}\right] \cdot W_{\tilde{h}}\right) \\ h_{t}=\left(1-z_{t}\right) * h_{t-1}+z_{t} * \tilde{h}_{t} \\ y_{t}=\sigma\left(h_{t} \cdot W_{o} \right) \end{array} 注:图中用h′表示h~trt=σ([ht−1,xt]⋅Wr)zt=σ([ht−1,xt]⋅Wz)h~t=tanh([rt∗ht−1,xt]⋅Wh~)ht=(1−zt)∗ht−1+zt∗h~tyt=σ(ht⋅Wo)
-
[ ]是将方括号内的矩阵拼接相连,如:[2, 3] 与 [11] 拼接成 [2, 3, 11]
-
*表示矩阵的阿达马乘积,即元素对位相乘
-
σ \sigma σ 是sigmoid函数 ,将数据缩放到 (0 ,1);tanh是双正切函数,将数据缩放到 (-1 , 1)
-
reset重置门:决定丢弃前一时刻的状态信息的程度,r 越小丢弃越多,r范围(0,1)
-
update更新门:在这,(1-z)构成遗忘门(参考LSTM)选择性遗忘前一时刻状态信息 h t − 1 h_{t-1} ht−1 ,选择性记忆当前隐藏状态信息 h ′ h^{\prime} h′ ,最后得到 h t {h}_{t} ht 。 有些博客是反过来的 h t = z t ∗ h t − 1 + ( 1 − z t ) ∗ h ~ t h_{t}=z_{t} * h_{t-1}+(1-z_{t}) * \tilde{h}_{t} ht=zt∗ht−1+(1−zt)∗h~t 即把z当作遗忘门,问题不大,其实道理都差不多,懂我意思吧~
如果有错,非常欢迎指出错误,我会积极接受人民群众的批评,未完待续~
允许转载,请附上原创链接, 谢谢~
参考链接
https://zhuanlan.zhihu.com/p/32481747