在 RNN 中,为什么网络总是使用最后一个输出而不是最后一个输入?

数据挖掘 神经网络 rnn
2021-09-30 03:42:11

RNN 的所有描述都引入了一些方程,例如:

 H=FW(H-1,X)

我想知道为什么我们不直接进入“源”,即最后一个输入,例如:

 H=FW(X-1,X)

我唯一能想到的可能是 RNN 可以将某种“状态”存储在ht-1

但是,同样,如果我们使用之前的输入和之前的输出,LSTM 架构会发生什么?在我看来,内存功能的存在应该能够避免这个潜在的问题(如果它甚至是一个)

1个回答

如果马尔可夫假设在这里是可行的(即最后一个状态足以确定新状态)。

然而,这正是 RNN 试图打破的。RNN 尝试对输入和预测的整个历史进行编码,以确定下一个输出。

所以在公式中, H-1是最后一个输出,但它是一个隐藏状态,它对所有先前的输入、输出和计算进行编码。所以当你有新的信息进来时(即X),您的模型可以利用所有历史记录和新输入来确定新输入。

这同样适用于 LSTM,您正在使用一个序列,新输出不仅取决于最后一个输入,还取决于过去的更多内容,并且此信息被编码为 H-1.