首页 > 解决方案 > lstm(256) + lstm(256) 和 lstm(512) 有什么区别?

问题描述

这是代码

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) 有什么区别?

它只是平行的,最后,它的意思是一样的吗?

或者这两者有什么区别?

标签: machine-learningdeep-learninglstm

解决方案


您展示的 2 种架构并不相同。

第一个模型有 2 个 LSTM 层,它们相互堆叠。第一个 LSTM 层采用单个输入参数并输出 256 个参数,第二个 LSTM 层有 256 个输入参数,它返回与输出相同的参数数量,因此最后一层的输入具有 256 个参数的宽度。

第二个模型有一个 LSTM 层,它接受一个输入参数并输出 512 个参数,作为最后一层的输入(而不是第一个模型中的 256 个)。

堆叠 LSTM 层使模型更深,并可能允许每个级别的隐藏状态在不同的时间尺度上运行。

如果您想了解有关堆叠 LSTM 层的更多信息,您会发现以下指向 Jason Brownlee 的帖子的链接非常有用:

堆叠的长短期记忆网络


推荐阅读