随着 RNN,尤其是 LSTM 架构(第 10.1 节)在 2010 年代迅速流行,许多论文开始尝试简化架构,希望保留结合内部状态和乘法门机制的关键思想,但目的是加快速度上计算。门控循环单元 (GRU) (Cho等人,2014 年) 提供了 LSTM 记忆单元的简化版本,通常可实现相当的性能,但具有计算速度更快的优势(Chung等人,2014 年)。
import tensorflow as tf
from d2l import tensorflow as d2l
10.2.1。重置门和更新门
在这里,LSTM 的三个门被两个替换:重置门和更新门。与 LSTM 一样,这些门被赋予 sigmoid 激活,迫使它们的值位于区间内(0,1). 直觉上,重置门控制着我们可能还想记住多少之前的状态。同样,更新门将允许我们控制新状态中有多少只是旧状态的副本。 图 10.2.1说明了 GRU 中重置门和更新门的输入,给定当前时间步的输入和前一时间步的隐藏状态。两个门的输出由两个具有 sigmoid 激活函数的全连接层给出。
在数学上,对于给定的时间步长t,假设输入是一个小批量Xt∈Rn×d(示例数量:n, 输入数:d) 而前一个时间步的隐藏状态是 Ht−1∈Rn×h(隐藏单元的数量:h). 然后,复位门 Rt∈Rn×h和更新门 Zt∈Rn×h计算如下:
在哪里 Wxr,Wxz∈Rd×h和 Whr,Whz∈Rh×h是权重参数和 br,bz∈R1×h是偏置参数。
评论
查看更多