我在尝试弄明白如何对GRU循环网络进行反向传播,但我对GRU的架构理解得不够精确。
下图展示了一个GRU单元,包含3个神经网络,接收拼接的前一个隐藏状态和输入向量作为其输入。
我参考的这张图片用于反向传播,然而,它显示输入被传送到每个门上的W和U,进行相加,然后应用各自的激活函数。
维基百科上显示的更新门方程如这里所示为例
zt = sigmoid((W(z)xt + U(z)ht-1))
有人能解释一下W和U代表什么吗?
编辑:
在我找到的大多数来源中,W和U通常被称为“权重”,所以我的最佳猜测是W和U代表它们自己的神经网络,但这会与我之前找到的图片相矛盾。
如果有人能给出一个简单的GRU中W和U如何工作的例子,那将是有帮助的。
图片来源:https://cran.r-project.org/web/packages/rnn/vignettes/GRU_units.htmlhttps://towardsdatascience.com/animated-rnn-lstm-and-gru-ef124d06cf45
回答:
W
和 U
是训练过程中学习得到的值矩阵(即神经网络权重)。矩阵 W
乘以向量 xt
产生一个新的向量。同样,矩阵 U
乘以向量 ht-1
也产生一个新的向量。这两个新的向量相加,然后结果的每个分量都被传递给 sigmoid
函数。