多层 LSTM 是如何互连的?

数据挖掘 机器学习 神经网络 喀拉斯 lstm 堆叠的lstm
2022-02-22 21:58:59

我正在尝试了解 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) 层。

如果此实现存在任何实时实现或流程图,将不胜感激。谢谢。

0个回答
没有发现任何回复~