这是代码
model = Sequential()
model.add(LSTM(256, input_shape=(None, 1), return_sequences=True))
model.add(LSTM(256, input_shape=(None, 1), return_sequences=True))
model.add(Dense(1))
这是 lstm(256) + lstm(256) 代码
model = Sequential()
model.add(LSTM(512, input_shape=(None, 1), return_sequences=True))
model.add(Dense(1))
这是 lstm(512) 代码
那么,lstm(256) + lstm(256) 和 lstm(512) 有什么区别?
只是并行吗,最终的意思是一样的吗?
或者说这两者有什么区别?
最佳答案
您展示的两种架构并不相同。
第一个模型有 2 个 LSTM 层,它们相互堆叠。第一个 LSTM 层采用单个输入参数并输出 256 个参数,第二个 LSTM 层有 256 个输入参数,并且返回与输出相同数量的参数,因此最终层的输入宽度为 256 个参数。
第二个模型具有单个 LSTM 层,该层采用单个输入参数并输出 512 个参数,这些参数充当最终层的输入(而不是第一个模型中的 256 个参数)。
堆叠 LSTM 层使模型更深,并且可能允许每个级别的隐藏状态在不同的时间尺度上运行。
如果您想了解有关堆叠 LSTM 层的更多信息,您会发现以下 Jason Brownlee 的帖子链接内容非常丰富:
关于machine-learning - lstm(256) + lstm(256) 和 lstm(512) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57248847/