如何解决堆叠式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 举报,一经查实,本站将立刻删除。