微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

堆叠式LSTM网络如何工作?

如何解决堆叠式LSTM网络如何工作?

我在理解堆叠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中,我们具有先前的隐藏状态和当前输入作为输入。如果来自第一LSTM层的输入(input_shape)没有进入第二LSTM层,那么来自第二LSTM层的输入是什么?只有隐藏状态?哪个隐藏状态?

解决方法

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

这是一篇解释这一问题的文章

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。