LSTM 组件是神经元还是层?

人工智能 神经网络 深度学习 长短期记忆
2021-11-12 09:35:23

给定标准的说明性前馈神经网络模型,将点作为神经元,将线作为神经元到神经元的连接,(展开)LSTM 单元的哪一部分(见图)?它是一个神经元(一个点)还是一个层?

LSTM 单元

1个回答

您显示的图表至少部分地用于描述单个神经元和这些神经元的层。

然而,左侧的“输入”数据线表示所有正在考虑的输入,通常是单元格所有输入的向量。这包括来自当前时间步长的所有数据(来自输入层或更早的 LSTM 或时间分布层) - 进入 LSTM 单元的线 - 以及来自前一个时间步长的整个 LSTM 层的完整输出和单元状态向量 -单元格内的水平线从左侧开始。从技术上讲,左上角的输入线可以被读取为单个神经元细胞状态值,或者是前一个时间步长的细胞状态的完整向量,这取决于您是否将图表视为描述层中的单个神经元,或者整个层分别。

如果您可视化此单元格随着时间步长连接到自身,则输入和输出的数据线必须是整个层向量。然后最好将该图视为表示整个 LSTM 层,该层由各种组合的子层组成,例如遗忘门层(最左边的黄色框)。

图中的每个黄色框都可以实现非常类似于简单前馈神经网络的单层,具有自己的权重和偏差。所以遗忘门可以实现为

ft=σ(Wf[xt,yt1]+bf)

在哪里Wf是遗忘门的权重矩阵,bf是偏置向量,xt是当前时间步的层输入,yt1是上一个时间步的层输出,逗号,显示将这两个(列)向量串联成一个大列向量。

如果输入x是一个n维向量和输出y是一个m维向量,则:

  • c,细胞状态(顶线),所有中间层输出是m维向量
  • Wf,遗忘门权重和其他三个内部权重矩阵是m×(n+m)矩阵
  • bf,遗忘门偏置和其他三个内部偏置向量是m维向量

其他门几乎相同(使用自己的权重和偏差,加上第三个单元格候选值使用 tanh 而不是逻辑 sigmoid),并且有自己的权重矩阵等。整个事情的构建很像四个独立的前馈层,每个都接收相同的输入,然后使用逐元素操作组合以执行 LSTM 单元的功能。没有什么可以阻止您将每个黄色框本身实现为更复杂和更深的 NN,但这在实践中似乎相对较少,并且更常见的是堆叠 LSTM 层来实现这种深度。