LSTM 组件是神经元还是层?
人工智能
神经网络
深度学习
长短期记忆
2021-11-12 09:35:23
1个回答
您显示的图表至少部分地用于描述单个神经元和这些神经元的层。
然而,左侧的“输入”数据线表示所有正在考虑的输入,通常是单元格所有输入的向量。这包括来自当前时间步长的所有数据(来自输入层或更早的 LSTM 或时间分布层) - 进入 LSTM 单元的线 - 以及来自前一个时间步长的整个 LSTM 层的完整输出和单元状态向量 -单元格内的水平线从左侧开始。从技术上讲,左上角的输入线可以被读取为单个神经元细胞状态值,或者是前一个时间步长的细胞状态的完整向量,这取决于您是否将图表视为描述层中的单个神经元,或者整个层分别。
如果您可视化此单元格随着时间步长连接到自身,则输入和输出的数据线必须是整个层向量。然后最好将该图视为表示整个 LSTM 层,该层由各种组合的子层组成,例如遗忘门层(最左边的黄色框)。
图中的每个黄色框都可以实现非常类似于简单前馈神经网络的单层,具有自己的权重和偏差。所以遗忘门可以实现为
在哪里是遗忘门的权重矩阵,是偏置向量,是当前时间步的层输入,是上一个时间步的层输出,逗号显示将这两个(列)向量串联成一个大列向量。
如果输入是一个维向量和输出是一个维向量,则:
- ,细胞状态(顶线),所有中间层输出是维向量
- ,遗忘门权重和其他三个内部权重矩阵是矩阵
- ,遗忘门偏置和其他三个内部偏置向量是维向量
其他门几乎相同(使用自己的权重和偏差,加上第三个单元格候选值使用 tanh 而不是逻辑 sigmoid),并且有自己的权重矩阵等。整个事情的构建很像四个独立的前馈层,每个都接收相同的输入,然后使用逐元素操作组合以执行 LSTM 单元的功能。没有什么可以阻止您将每个黄色框本身实现为更复杂和更深的 NN,但这在实践中似乎相对较少,并且更常见的是堆叠 LSTM 层来实现这种深度。
其它你可能感兴趣的问题