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]σ

以下是广告相关阅读

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

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

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

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

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

相关阅读:

LSTM神经网络

循环神经网络

卷积神经网络

机器学习之神经网络

机器学习之感知器

欢迎关注:

这里写图片描述

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

深度学习之六,基于RNN(GRU,LSTM)的语言模型分析与theano代码实现

引言前面已经介绍过RNN的基本结构,最基本的RNN在传统的BP神经网络上,增加了时序信息,也使得神经网络不再局限于固定维度的输入和输出这个束缚,但是从RNN的BPTT推导过程中,可以看到,传统RNN在...

循环神经网络(RNN, Recurrent Neural Networks)介绍

循环神经网络(RNN, Recurrent Neural Networks)介绍   这篇文章很多内容是参考:http://www.wildml.com/2015/09/recurrent-neura...

深度学习(三十九)LSTM、GRU网络入门学习-未完待续

众所周知,RNN是深度学习领域用于解决序列问题的神器,从理论的上来说,RNN是可以实现长时间记忆的。然而RNN反向求导会出现梯度弥散,导致我们很难训练网络,对于长时刻记忆总不尽人意,于是就诞生了LST...
  • hjimce
  • hjimce
  • 2016年04月24日 17:10
  • 8003

深度学习与自然语言处理(7)_斯坦福cs224d 语言模型,RNN,LSTM与GRU

说明:本文为斯坦福大学CS224d课程的中文版内容笔记,已得到斯坦福大学课程@Richard Socher教授的授权翻译与发表 1.语言模型 语言模型用于对特定序列的一系列词汇的出现概率进行计算。...

关于lstm和gru的一些简单资料,讲得比较容易理解

Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不...

循环神经网络教程第四部分-用Python和Theano实现GRU/LSTM循环神经网络

作者:徐志强 链接:https://zhuanlan.zhihu.com/p/22371429 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 本篇教程的...

循环神经网络——实现LSTM/GRU

循环神经网络——实现gitbook阅读地址 知乎阅读地址梯度消失和梯度爆炸网络回忆:在《循环神经网络——介绍》中提到循环神经网络用相同的方式处理每个时刻的数据。 * 动态图: 数学公式:ht=ϕ(...

LSTM与GRU的一些比较--论文笔记

reference:Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling1.概要:传统的RNN在训练...
  • meanme
  • meanme
  • 2015年10月01日 13:29
  • 36741

RNN LSTM与GRU深度学习模型学习笔记

RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory)与GRU(Gated Recurrent Unit)都是自然语言处理领域常见的深度...

LSTM与GRU的一些比较 - 论文笔记

参考:关于序列建模门控回归神经网络的实证评价 链接:http://blog.csdn.net/meanme/article/details/48845793 1.概要: 传统的RNN在训练长期依赖的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GRU神经网络
举报原因:
原因补充:

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