我正在尝试了解 LSTM 中的层,以便我自己使用 Python 实现。我从 Keras 开始熟悉层流。
我已经在 Keras 中尝试过以下代码,我的观察结果如下
# LSTM MODEL
step_size = 3
model = Sequential()
model.add(LSTM(32, input_shape=(2, step_size), return_sequences = True))
model.add(LSTM(18))
model.add(Dense(1))
model.add(Activation('linear'))
我得到了这个实现的以下摘要细节。
我试图了解这些层的内部结构以及这些层号(32、18、1)如何与矩阵映射。我从权重矩阵中得到了以下矩阵大小。
我看不到输出大小和权重矩阵之间的任何关系:(
矩阵顺序
Layer 1
(3, 128)
(32, 128)
(128,)
Layer 2
(32, 72)
(18, 72)
(72,)
Layer 3
(18, 1)
(1,)
现在我很困惑地找出层内的实现逻辑。因为我在每个 LSTM 层都有三个权重矩阵,我无法将第一个 LSTM(32) 连接到下一个 LSTM(18) 层。
如果此实现存在任何实时实现或流程图,将不胜感激。谢谢。
