GRU神经网络

原创 2017年08月17日 15:19:48

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

GRU是什么

GRU即Gated Recurrent Unit。前面说到为了克服RNN无法很好处理远距离依赖而提出了LSTM,而GRU则是LSTM的一个变体,当然LSTM还有有很多其他的变体。GRU保持了LSTM的效果同时又使结构更加简单,所以它也非常流行。

GRU模型

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

这里写图片描述

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

这里写图片描述

GRU向前传播

根据前面GRU模型图来一步步看他是怎么向前传播的,根据图不难得到以下式子:

rt=σ(Wr[ht1,xt])

zt=σ(Wz[ht1,xt])

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

ht=(1zt)ht1+zth~t

yt=σ(Woht)

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

GRU的训练

从前面的公式中可以看到需要学习的参数就是WrWzWhWo那些权重参数,其中前三个权重都是拼接的,所以在学习时需要分割出来,即

Wr=Wrx+Wrh

Wz=Wzx+Wzh

Wh~=Wh~x+Wh~h

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

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

E=Tt=1Et

与前面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]σ

以下是广告相关阅读

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

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

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

相关阅读:

LSTM神经网络

循环神经网络

卷积神经网络

机器学习之神经网络

机器学习之感知器

欢迎关注:

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

(Unfinished)RNN-循环神经网络之LSTM和GRU-04介绍及推导

(Unfinished)尚未完成 一、说明 关于LSTM的cell结构和一些计算在之前已经介绍了,可以点击这里查看本篇博客主要涉及一下内容: LSTM前向计算说明(之前的博客中LST...

为什么写《Tomcat内核设计剖析》

三四年前更多地还是做web业务开发,基本不关心web层以下的东西,但是每次出故障时面对现象都不能从脑子里形成由底层到应用层的完整的逻辑,往往只能分析到Web应用就无法继续往下,Web容器完全就是一个黑...

Recurrent Neural Networks Tutorial, Part 1 – Introduction to RNNs

Recurrent Neural Networks (RNNs) are popular models that have shown great promise in many NLP tasks....

您当前位置 -> 业务主营        北京吉卉繁花木销售中心成立于2003年,是一家专注于绿植租摆、花卉租赁及园林绿化的大型绿植服务机构。电话:152...

神经网络的交叉熵损失函数

常见损失函数 0-1损失函数 L(Y,f(X))={1,0Y != f(X)Y = f(X)L(Y,f(X))=\begin{cases}1,& \text{Y != f(X)}\\0& \text...

LSTM神经网络

LSTM是什么LSTM即Long Short Memory Network,长短时记忆网络。它其实是属于RNN的一种变种,可以说它是为了克服RNN无法很好处理远距离依赖而提出的。我们说RNN不能处理距...

RNN以及LSTM的介绍和公式梳理

目录(?)[+] 前言 好久没用正儿八经地写博客了,csdn居然也有了markdown的编辑器了,最近花了不少时间看RNN以及LSTM的论文,在组内『夜校』分享过了,再在这里总结一下发出来吧,按照...

LSTM神经网络 和 GRU神经网络

LSTM是什么 LSTM即Long Short Memory Network,长短时记忆网络。它其实是属于RNN的一种变种,可以说它是为了克服RNN无法很好处理远距离依赖而提出的。 我们说...

循环神经网络——双向LSTM&GRU

* 简单梳理调整了代码结构,方便使用 * 将所有gate的计算并在一个大矩阵乘法下完成提高GPU的利用率 * 除了LSTM(Long-Short Term Memory)以外的cell,还提供了GRU...

循环神经网络教程4-用Python和Theano实现GRU/LSTM RNN, Part 4 – Implementing a GRU/LSTM RNN with Python and Theano

The code for this post is on Github. This is part 4, the last part of the Recurrent Neural Network...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)