好的,所以您的问题让我开始思考,我想我已经解决了,但是什么都没有.
这是我为获取LSTM实现背后的一些见识而编写的代码段.
from keras.layers import LSTM
from keras.models import Sequential
model = Sequential()
model.add(LSTM(10, input_shape=(20, 30), return_sequences=True))
model.compile(loss='mse',optimizer='adam', metrics=['accuracy'])
weights = model.get_weights()
现在,通过检查砝码形状,我们可以直观了解发生的情况.
In [12]: weights[0].shape
Out[12]: (30, 40)
In [14]: weights[1].shape
Out[14]: (10, 40)
In [15]: weights[2].shape
Out[15]: (40,)
这是对它们的描述:
In [26]: model.weights
Out[26]:
[,
,
]
因此,您可以看到@gorjan是正确的,它实现了一个单元格,即4个门(用于循环输入和序列输入)及其偏置.
此处的“层”思想应应用于LSTM展开的次数,在这种情况下为30.
希望这可以帮助.