将密集层连接到 LSTM 架构

数据挖掘 Python 神经网络 分类 lstm 堆叠的lstm
2022-02-16 13:57:37

出于教学原因,我正在尝试用普通的 numpy 实现 LSTM 结构。我清楚地了解如何输入数据,但不了解如何输出。假设我给出一个维度为 (n, b, d) 的张量作为输入,其中: • n 是序列的长度 • b 是批量大小(在我的例子中是时间戳) • d 每个示例的特征数 每个示例 (数据集中的行)标记为 0-1。然而,当我将数据提供给 LSTM 时,我得到了隐藏状态 h_out,它与网络的隐藏大小具有相同的维度。我怎样才能获得一个可以与我的标签进行比较并正确反向传播的数字?我读到有人在 LSTM 之上实现了另一个密集层,但我不清楚这样的层及其权重矩阵应该具有的维度。

1个回答

您得到的输出是内部 LSTM 状态。为了获得与您的标签相当的价值,请在其顶部添加一个密集层。密集层的输出维度将是您想要结果的标签数量。

  1. 如果它的 0 和 1,只有 1 个输出神经元可以与 sigmoid 一起工作
  2. 如果有 5 个标签类,那么密集层的输出维度也应该是 5