循环神经网络之——门控制循环单元(GRU)

辩才天
• 阅读 1007

一. 摘要

在上次分享中,我们了解到了基础的循环神经网络(RNN),对于基础的循环神经网络模型,它可以比较好的通过t时刻关联到t-1时刻和t+1时刻,甚至更多。但它对任意时刻的输入都是赋予相同权重计算。这样区分不出重点因素。并且循环神经网络的梯度很容易衰减和爆炸,虽然可以采用裁剪梯度的方法缓解,但无法解决梯度衰减的问题。由于这个原因,循环神经网络在实际中就会较难捕捉时间序列中的时间步距离较大的依赖关系。本次内容便是基础循环神经网络的一个升级版,门控循环神经网络(gated recurrent neural network)。

二. 门控制循环单元

门控循环神经网络(gated recurrent neural network)的提出,是为了更好地捕捉时间序列中时间步距离较大的依赖关系。它通过可以学习的门来控制信息的流动。其中,门控循环单元(gated recurrent unit,GRU)是一种常用的门控循环神经网络。

下面将介绍门控循环单元的设计。它引入了重置门(reset gate)和更新门(update gate)的概念,从而修改了循环神经网络中隐藏状态的计算方式。

门控循环单元中的重置门和更新门的输入均为当前时间步输入XtXt与上一时间步隐藏状态Ht−1,输出由激活函数为sigmoid函数的全连接层计算得到。

image.png

图1:门控制循环单元的重置门和更新门

具体来说,假设隐藏单元个数为h,给定时间步t的小批量输入Xt∈Rn×d(样本数为n,输入个数为d)和上一时间步隐藏状态Ht−1∈Rn×h。重置门Rt∈Rn×h和更新门Zt∈Rn×h的计算如下:

Rt=σ(XtWxr+Ht−1Whr+br),

Zt=σ(XtWxz+Ht−1Whz+bz),

其中Wxr,Wxz∈Rd×h和Whr,Whz∈Rh×h是权重参数,br,bz∈R1×h是偏差参数。

接下来,门控循环单元将计算候选隐藏状态来辅助稍后的隐藏状态计算。如图2所示,我们将当前时间步重置门的输出与上一时间步隐藏状态做按元素乘法(符号为⊙)。如果重置门中元素值接近0,那么意味着重置对应隐藏状态元素为0,即丢弃上一时间步的隐藏状态。如果元素值接近1,那么表示保留上一时间步的隐藏状态。然后,将按元素乘法的结果与当前时间步的输入连结,再通过含激活函数tanh的全连接层计算出候选隐藏状态,

image.png

图2:门控制循环单元中候选隐藏状态的计算

具体来说,时间步t的候选隐藏状态H~t∈Rn×h的计算为:

H~t=tanh(XtWxh+(Rt⊙Ht−1)Whh+bh)

其中Wxh∈Rd×h和Whh∈Rh×h是权重参数,bh∈R1×h是偏差参数。从上面这个公式可以看出,重置门控制了上一时间步的隐藏状态如何流入当前时间步的候选隐藏状态。而上一时间步的隐藏状态可能包含了时间序列截至上一时间步的全部历史信息。因此,重置门可以用来丢弃与预测无关的历史信息。

最后,时间步t的隐藏状态Ht∈Rn×h的计算使用当前时间步的更新门Zt来对上一时间步的隐藏状态Ht−1和当前时间步的候选隐藏状态H~t做组合:

Ht=Zt⊙Ht−1+(1−Zt)⊙H~t.

image.png

图3:门控制循环单元中隐藏状态的计算

值得注意的是,更新门可以控制隐藏状态应该如何被包含当前时间步信息的候选隐藏状态所更新,如图2所示。假设更新门在时间步t′到t(t′<t)之间一直近似1。那么,在时间步t′到t之间的输入信息几乎没有流入时间步t的隐藏状态Ht。实际上,这可以看作是较早时刻的隐藏状态Ht′−1一直通过时间保存并传递至当前时间步t。这个设计可以应对循环神经网络中的梯度衰减问题,并更好地捕捉时间序列中时间步距离较大的依赖关系。

我们对门控循环单元的设计稍作总结:重置门有助于捕捉时间序列里短期的依赖关系;更新门有助于捕捉时间序列里长期的依赖关系。

三. 总结

本次分享内容是对门控循环神经网络的浅析,对比基础型的循环神经网络模型,门控循环单元的改进是引入了门的概念,从而也修改了循环神经网络中隐藏层重点计算方式。其中包括重置门、更新门、候选隐藏状态和隐藏状态。这里的重置门有助于捕捉时间序列里面短期的依赖关系;更新门则是有助于捕捉时间序列里面长期的依赖关系。因为这些门控制单元的加入,门控制循环神经网络可以更好的捕捉到时间序列中时间步距离较大的依赖关系。

点赞
收藏
评论区
推荐文章
序列数据和文本的深度学习
序列数据和文本的深度学习用于构建深度学习模型的不同文本数据表示法:理解递归神经网络及其不同实现,例如长短期记忆网络(LSTM)和门控循环单元(GatedRecurrentUnit,GRU),它们为大多数深度学习模型提供文本和序列化数据;为序列化数据使用一维卷积。可以使用RNN构建的一些应用程序如下所示。文档分类器:识别推文或评论的情感,对新闻文章
Easter79 Easter79
3年前
tensorflow 之循环神经网络
应用场景:应用于语音识别语音翻译机器翻译RNNRNN(RecurrentNeuralNetworks,循环神经网络)不仅会学习当前时刻的信息,也会依赖之前的序列信息。由于其特殊的网络模型结构解决了信息保存的问题。所以RNN对处理时间序列和语言文本序列问题有独特的优势。递归神经网络都具有一连串重复神经网络模
MLtech MLtech
4年前
简单理解LSTM神经网络
简单理解LSTM神经网络https://blog.csdn.net/shijing\_0214/article/details/52081301(https://blog.csdn.net/shijing_0214/article/details/52081301)递归神经网络在传统神经网络中,模型不会关注上一时刻的处理会有什么信息可以用于
Wesley13 Wesley13
3年前
PID控制器开发笔记之十三:单神经元PID控制器的实现
神经网络是模拟人脑思维方式的数学模型。神经网络是智能控制的一个重要分支,人们针对控制过程提供了各种实现方式,在本节我们主要讨论一下采用单神经元实现PID控制器的方式。1、单神经元的基本原理  单神经元作为构成神经网络的基本单位,具有自学习和自适应能力,且结构简单而易于计算。接下来我们讨论一下单神经元模型的基本原理。(1)、单神经元模
人工智能人才培养
No.1第一天一、机器学习简介与经典机器学习算法介绍什么是机器学习?机器学习框架与基本组成机器学习的训练步骤机器学习问题的分类经典机器学习算法介绍章节目标:机器学习是人工智能的重要技术之一,详细了解机器学习的原理、机制和方法,为学习深度学习与迁移学习打下坚实的基础。二、深度学习简介与经典网络结构介绍神经网络简介神经网络组件简介神经网络训练方法卷积神经网络介
文本的深度学习
序列数据和文本的深度学习用于构建深度学习模型的不同文本数据表示法:理解递归神经网络及其不同实现,例如长短期记忆网络(LSTM)和门控循环单元(GatedRecurrentUnit,GRU),它们为大多数深度学习模型提供文本和序列化数据;为序列化数据使用一维卷积。可以使用RNN构建的一些应用程序如下所示。文档分类器:识别推文或评论的情感,对新闻文章
深度学习与图神经网络学习分享:CNN经典网络之-ResNet
深度学习与图神经网络学习分享:CNN经典网络之ResNetresnet又叫深度残差网络图像识别准确率很高,主要作者是国人哦深度网络的退化问题深度网络难以训练,梯度消失,梯度爆炸,老生常谈,不多说!深度网络的退化问题(htt
“前端”工匠系列(二):合格的工匠,怎么做好价值落地 | 京东云技术团队
一个合格的技术人的内心要时刻谨记自己在一个企业内的价值所在,并不断的通过技术提升来扩大价值,才可以在当下的环境中,个人价值与企业价值形成正向循环。那我们此次就聊一聊,前端职能如何在不同的业务场景中落地价值