【问题标题】:How does stacked LSTM network works?堆叠 LSTM 网络如何工作?
【发布时间】:2021-01-09 00:23:47
【问题描述】:

我在理解堆叠 LSTM 网络中的细胞流时遇到了一些困难。我有这个网络:

def make_model(x_train):

    # Create a new linear regression model.
    model = Sequential()
    model.add(Bidirectional(LSTM(units=30, return_sequences=True, input_shape = (x_train.shape[1],1) ) ))
    model.add(Dropout(0.2))
    model.add(LSTM(units= 30 , return_sequences=True))
    model.add(Dropout(0.2))
    model.add(LSTM(units= 30 , return_sequences=True))
    model.add(Dropout(0.2))
    model.add(LSTM(units= 30))
    model.add(Dropout(0.2))
    model.add(Dense(units = n_future,activation='linear'))
    model.compile(optimizer='adam', loss='mean_squared_error',metrics=['acc'])
    return model

1)第一层LSTM的输入是否进入第二层LSTM?

2)我已经读过,在 LSTM 中,我们将先前的隐藏状态和当前输入作为输入。如果来自第 1 个 LSTM 层(input_shape)的输入没有进入第 2 个 LSTM 层,那么第 2 个 LSTM 层的输入是什么?只有隐藏状态?哪个隐藏状态?

【问题讨论】:

    标签: tensorflow keras lstm


    【解决方案1】:

    您正在创建的是一个层网络。所以是的,从第一个输入到第二个,依此类推。您可以控制来自层的输入,在 lstm 的情况下,您可以使用 return_sequences 或 return state。

    这是一篇解释这一点的文章

    https://www.dlology.com/blog/how-to-use-return_state-or-return_sequences-in-keras/

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 2017-03-12
    • 2021-07-26
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 2021-10-24
    相关资源
    最近更新 更多