两层的LSTM循环神经网络展开结构图:

在这里插入图片描述

训练堆叠层在计算上代价非常高昂,但在 Keras 中把它们堆叠起来只需几秒,代码如下:

from keras.models import Sequential
from keras.layers import LSTM

model = Sequential()
# 假如要正确构建模型,需要在第一层和中间层使用参数 return_sequences=True。
# 这个要求是有意义的,因为每个时刻的输出都需要作为下一层时刻的输入。
model.add(LSTM(num_neurons, return_sequences=True, input_shape=X[0].shape))
model.add(LSTM(num_neurons_2, return_sequences=True))

备注:请记住,创建一个能够表示比训练数据中存在的关系更复杂的关系的模型可能会导致奇怪的结果,简单地在模型上叠加层,虽然很有趣,但很少是构建最有用的模型的解决方案。

Logo

更多推荐