共计 1777 个字符,预计需要花费 5 分钟才能阅读完成。
一. 摘要
在上次分享中,咱们理解到了根底的循环神经网络 (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。这个设计能够应答循环神经网络中的梯度衰减问题,并更好地捕获工夫序列中工夫步间隔较大的依赖关系。
咱们对门控循环单元的设计稍作总结:重置门有助于捕获工夫序列里短期的依赖关系;更新门有助于捕获工夫序列里长期的依赖关系。
三. 总结
本次分享内容是对门控循环神经网络的浅析,比照根底型的循环神经网络模型,门控循环单元的改良是引入了门的概念,从而也批改了循环神经网络中暗藏层重点计算形式。其中包含重置门、更新门、候选暗藏状态和暗藏状态。这里的重置门有助于捕获工夫序列外面短期的依赖关系;更新门则是有助于捕获工夫序列外面长期的依赖关系。因为这些门管制单元的退出,门管制循环神经网络能够更好的捕捉到工夫序列中工夫步间隔较大的依赖关系。