这个问题与堆叠LSTM网络中每个LSTM层的输入是什么?类似,但更侧重于实现细节。
为了简单起见,我们考虑以下具有4个单元和2个单元结构的例子
model.add(LSTM(4, input_shape=input_shape, return_sequences=True))model.add(LSTM(2,input_shape=input_shape))
我知道LSTM_1
的输出是4个长度,但接下来的2个单元如何处理这4个输入,它们是否与下一层节点完全连接?
我猜它们是完全连接的,但不确定,如下图所示,Keras文档中并未提及
谢谢!
回答:
这不是长度4,而是4个“特征”。
长度由输入形状决定,并且始终不变,将常规输入提供给一个LSTM与将一个LSTM的输出提供给另一个LSTM时发生的情况完全相同。
你可以查看模型的摘要来了解形状和发生的事情。使用LSTM时,长度永远不会改变。
它们之间没有任何通信。每个LSTM都接收长度维度,并独立地进行循环处理。当一个LSTM完成并输出一个张量时,接下来的LSTM接收这个张量并按照相同的规则独立处理。