【问题标题】:What is the difference between lstm(256) + lstm(256) and lstm(512)?lstm(256) + lstm(256) 和 lstm(512) 有什么区别?
【发布时间】:2019-07-29 07:18:11
【问题描述】:

这里是代码

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-learning deep-learning lstm


    【解决方案1】:

    您介绍的两种架构不一样。

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

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

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

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

    Stacked Long Short-Term Memory Networks

    【讨论】:

      【解决方案2】:

      不,在第一种情况下,第一层的每个单元格与第二层的适当单元格相互作用,这不仅仅是平行的。在第二种情况下,它只是 LSTM 的一层,以通常的方式工作。我希望这张图片可以帮助您看到不同之处。

      【讨论】:

        猜你喜欢
        • 2022-06-16
        • 2017-08-19
        • 2018-10-03
        • 2018-08-28
        • 1970-01-01
        • 2020-11-15
        • 1970-01-01
        • 2020-03-13
        • 2019-03-31
        相关资源
        最近更新 更多