machine-learning - lstm(256) + lstm(256) 和 lstm(512) 有什么区别?

标签 machine-learning deep-learning lstm

这是代码

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 的帖子链接内容非常丰富:

Stacked Long Short-Term Memory Networks

关于machine-learning - lstm(256) + lstm(256) 和 lstm(512) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57248847/

相关文章:

c++ - 使用来自 C++ 的训练有素的 caffe net 得到错误的结果

machine-learning - 在 Tensorflow 中使用 tf.assign 时的竞争条件

tensorflow - 卷积神经网络 (CNN) 输入形状

android - Android中的自定义 tensorflow 模型

python - 使用 lstm 进行 IMDB 评论的准确性非常低

python - 在 PyTorch 中本地测量多类分类的 F1 分数

algorithm - 哪种机器学习算法适合投篮?

python - 与 GPU 一起使用时,packed_pa​​dded_sequence 会出错

machine-learning - 使用经过训练的字符级 LSTM 模型生成文本

Tensorflow服务ML引擎在线预测json文件格式