Artificial intelligence 在LSTM中,[h(t-1)]与[h(t)]的大小如何相同?
我似乎在任何地方都找不到这个具体问题的答案。 我正在从头开始重新创建LSTM,因为我想更好地理解它 我已经提出了我目前对LSTM的理解,并将其附在这篇文章中 如果它取h(t-1)并将其与x(t)连接起来,则会生成一个比h(t-1)大的向量。 Sigmoid随后应用于这个级联向量,tanh应用于单元状态,然后它们相乘。这将生成新的隐藏状态 那么h(t)的大小如何不比h(t-1)大呢?为什么隐藏状态不随每个时间步增长Artificial intelligence 在LSTM中,[h(t-1)]与[h(t)]的大小如何相同?,artificial-intelligence,lstm,Artificial Intelligence,Lstm,我似乎在任何地方都找不到这个具体问题的答案。 我正在从头开始重新创建LSTM,因为我想更好地理解它 我已经提出了我目前对LSTM的理解,并将其附在这篇文章中 如果它取h(t-1)并将其与x(t)连接起来,则会生成一个比h(t-1)大的向量。 Sigmoid随后应用于这个级联向量,tanh应用于单元状态,然后它们相乘。这将生成新的隐藏状态 那么h(t)的大小如何不比h(t-1)大呢?为什么隐藏状态不随每个时间步增长 Hm,图中的一些步骤中隐藏了一些投影步骤。图中的“sigmoid”符号实际上意味着
Hm,图中的一些步骤中隐藏了一些投影步骤。图中的“sigmoid”符号实际上意味着将sigmoid函数应用于线性投影操作的输出。即;使用
@
进行矩阵乘法,numpy
风格,你不仅仅是取sigmoid([h(t-1);x(t)]
,你实际上是取sigmoid(W@x(t)+U@h(t-1))
(暂时不考虑偏差项),其中W,U
是带学习参数的投影矩阵
在matrix land中,这在数学上确实相当于连接hx(t)=[h(t-1);x(t)]
并学习一些适当大小的参数V
,从而V@hx(t)
是乙状结肠的输入。实际上,V
只是上面的U,W
(按顺序)的水平串联
现在,让我们完成图表中的示例。你有h(t-1)
和x(t)
和h(t-1)
和h(t-1)
,我们将学习W和U和U和(3,3)
的形状(3,)
的最终输出,这与h(t-1)
相同。请注意,如果我们决定用shape(5,)
将其表示为级联向量hx(t)
,实际上,我们可以水平合并U,W
,以达到shape(3,5)
——这仍然会产生所需shape(3,)
的最终输出
要达到h(t)
,您需要对单元状态项(在图中标记为x
的节点处)再进行一次元素级乘法,但结果表明该项也具有形状(3,)
提供了所有操作和尺寸的准确概述,这是中提供的方程式的更紧凑形式,非常感谢您的详细回答。我想我明白了,但我不确定。我写了/画了一幅我认为你的意思的插图,并附上它。我的理解正确吗?根据我做的第二个插图,每个闸门都有W和U。这是真的吗?