GRU神经网络

前面已经详细讲了LSTM神经网络(文末有连接回去),接着往下讲讲LSTM的一个很流行的变体。web

GRU是什么

GRU即Gated Recurrent Unit。前面说到为了克服RNN没法很好处理远距离依赖而提出了LSTM,而GRU则是LSTM的一个变体,固然LSTM还有有不少其余的变体。GRU保持了LSTM的效果同时又使结构更加简单,因此它也很是流行。网络

GRU模型

回顾一下LSTM的模型,LSTM的重复网络模块的结构很复杂,它实现了三个门计算,即遗忘门、输入门和输出门。并发

这里写图片描述

而GRU模型以下,它只有两个门了,分别为更新门和重置门,即图中的 zt rt 。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。机器学习

这里写图片描述

GRU向前传播

根据前面GRU模型图来一步步看他是怎么向前传播的,根据图不可贵到如下式子:
分布式

rt=σ(Wr[ht1,xt])

zt=σ(Wz[ht1,xt])

h~t=tanh(Wh~[rtht1,xt])

ht=(1zt)ht1+zth~t

yt=σ(Woht)

其中[]表示两个向量相链接,*表示矩阵元素相乘。svg

GRU的训练

从前面的公式中能够看到须要学习的参数就是 WrWzWhWo 那些权重参数,其中前三个权重都是拼接的,因此在学习时须要分割出来,即函数

Wr=Wrx+Wrh

Wz=Wzx+Wzh

Wh~=Wh~x+Wh~h

输出层的输入 yit=Woh ,输出为 yot=σ(yit) 学习

设某时刻的损失函数为 Et=12(ydyot)2 ,则某样本的损失为atom

E=Tt=1Et spa

与前面LSTM网络相似,最终能够推出

EWo=δy,tht

EWzx=δz,txt

EWzh=δz,tht1

EWh~x=δtxt

EWh~h=δt(rtht1)

EWrx=δr,txt

EWrh=δr,tht1

δy,t=(ydyot)σ

δh,t=δy,tWo+δz,t+1Wzh+δt+1Wh~hrt+1+δh,t+1Wrh+δh,t+1(1zt+1)

δz,t=δt,h(h~tht1)σ

δt=δh,tztϕ

δr,t=ht1[(δh,tztϕ)Wh~h]σ

如下是广告相关阅读

========广告时间========

公众号的菜单已分为“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”等,可能有一款适合你的胃口。

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有须要的朋友能够购买。感谢各位朋友。

为何写《Tomcat内核设计剖析》

=========================

相关阅读:

LSTM神经网络

循环神经网络

卷积神经网络

机器学习之神经网络

机器学习之感知器

欢迎关注:

这里写图片描述