LSTM 中的 h 大小增加?

数据挖掘 机器学习 神经网络 lstm rnn
2022-03-03 14:27:20

所以我正在阅读有关 LSTM 架构的信息,但我无法理解它的某个方面。本文在页面底部附近提到了有问题的步骤。这是给出的图像:在此处输入图像描述

我遇到的问题是:如果 o t是对 h t-1和 x t串联的操作的结果,那么 o t将大于 h t-1然后,h t通过对现在较大的 o t进行运算来计算h t然后被“传递”到下一个时间步。那么 h 的大小不会随着时间的推移而不断增加吗?

我肯定误解了其中的一部分,所以提前感谢您的帮助。:)

2个回答

o(t)不是 和 连接的结果h(t-1)x(t)而是一个简单的矩阵乘法。有关更多详细信息,请参见维基百科:

https://en.wikipedia.org/wiki/Long_short-term_memory

LSTM 操作

请记住矩阵乘法如何处理维度:

将维度的矩阵乘以维度为的矩阵会得到大小为的矩阵。因此,您可以在不改变矩阵乘法结果的形状的情况下向第二个矩阵添加任意多的行。但是当然第一个矩阵需要与此兼容,即与第二个矩阵的行数具有相同的列数。n,mm,kn,k

这正是这里发生的事情:

ot=σ(Wo[ht1,xt]+bo)

W_o的维度不会增加,因为具有恒定的行数并且具有恒定的列数因此,生成的矩阵的大小将始终为Wo[ht1,xt]Won[ht1,xt]kn,k

编写上述等式的另一种方法(例如,参见此处和@cho_uc 的帖子)是:

otalt=σ(Woaltht1+Uoxt+bo)

在这里,连接被简单地分成两个单独的术语(),它们被添加。在您的符号包含的权重。但结果是一样的。Woaltht1UoxtWoWoaltUo