为什么 LSTM 遗忘门接受新的输入?

Why do LSTM forget gates take in new inputs?

我正在关注 LSTMs

的解释

在门的图示示例之一中,它们显示了遗忘门接收旧的单元状态值(等于先前的隐藏状态?)以及新的输入。

我的问题有两个:

1) 如果遗忘门应该调节先前细胞状态的记忆,为什么需要接受新的输入?不应该只在输入门中处理吗?

2) 如果输入门决定向细胞状态添加哪些新信息,为什么我们还要在输入门中输入先前的细胞状态?那个规定不应该已经在遗忘门上发生了吗?

总的来说,这里似乎有一些多余的过程。

这是 LSTM 方程:

当您查看这些等式时,您需要在头脑中区分门是如何计算(第 1 至 3 行)以及它们是如何应用(第 5 行和第 6 行)。它们被计算为隐藏状态 h 的函数,但它们被应用于记忆单元 c.

they show the forget gate taking in the old cell state value (which is equal to the previous hidden state?) as well as the new input.

让我们具体看一下第 2 行中计算的 forget 门。它的计算将当前输入 x[t] 和最后一个隐藏状态 h[t-1] 作为输入。 (请注意,您评论中的断言是不正确的:隐藏状态与记忆单元不同。)

事实上,第 1 行到第 3 行中的所有 inputforgetoutput 门都是作为接受 x[t] 和 [=14 的函数统一计算的=].从广义上讲,这些门的值取决于当前输入是什么以及之前的状态。

直接回答您的问题:

1) If the forget gate is supposed to regulate memory of the previous cell state, why is there a need to take in new input? shouldn’t that just be handled in the input gate exclusively?

不要混淆门是如何计算和它是如何应用的。查看第 5 行中如何使用 f 遗忘门来执行您提到的调节。遗忘门仅应用于前一个记忆单元 c[t-1]。正如您可能知道的那样,门只是一个浮点小数向量,它被用作逐元素乘法。此处,f 门将与 c[t-1] 相乘,从而保留一些 c[t-1]。在同一行 5 中,i 输入门对新的候选记忆单元 c-tilde[t] 做同样的事情。第 5 行的基本思想是新的记忆单元 c[t] 将一些旧记忆单元和一些新的候选记忆单元混合在一起。

第 5 行是 LSTM 方程中最重要的一个。你可以在 GRU 方程中找到类似的直线。

2) if the input gate decides what new information is added to the cell state, why do we also feed in the previous cell state in the input gate? Shouldn’t that regulation have already happened in the forget gate?

同样,您需要将门计算 的方式与应用 的方式分开。输入门确实调节了哪些新信息被添加到细胞状态,这是在我上面写的第 5 行中执行的。