我的印象是单层 LSTM 架构包括相同重复的 LSTM 单元,其中是时间步数。然后在 LSTM 单元内有门。我一直在努力寻找每个“门”实际上由什么组成的严格解释。每个门是否只是一个前馈神经网络,其输出要么通过 sigmoid 或 tanh 压缩,具体取决于它是哪个门?
谢谢
我的印象是单层 LSTM 架构包括相同重复的 LSTM 单元,其中是时间步数。然后在 LSTM 单元内有门。我一直在努力寻找每个“门”实际上由什么组成的严格解释。每个门是否只是一个前馈神经网络,其输出要么通过 sigmoid 或 tanh 压缩,具体取决于它是哪个门?
谢谢
每个门是否只是一个前馈神经网络,其输出要么通过 sigmoid 或 tanh 压缩,具体取决于它是哪个门?
关闭。每个门都是一个激活函数(通常是 sigmoid 用于实际门,但 tanh 用于单元内的其他函数)在单元层的所有输入的加权和上。尽管对图表的 spome 阅读可能意味着 LSTM 单元正在孤立地处理一些单个输入,稍后重新组合,但实际上每个单元的输入是整个前一层和整个前一层的整个时间步单元状态。这类似于全连接前馈网络中单个神经元的视图。
每个单元中的每个门都有自己的一组权重——前一层的每个输入一个权重加上同一层中每个单元状态的一个权重,再加上一个偏差。当您将这些单元组合成一个包含多个单元的层时(例如,当您选择具有 64 个单元的 LSTM 层时),这会导致每个门都有一个单独的矩阵加上偏置。在 LSTM 的描述中,这些不同的矩阵通常以它们参数化的门的类型命名,因此例如,层的“忘记”门将有一个矩阵加上偏置,这可能被记为.
如果你有输入,和单个 LSTM 层中的 LSTM 单元,然后将是一个权重矩阵,描述组合单元的其他门和值计算的所有其他参数矩阵也是如此。
在实践中,计算不需要按单元处理,但可以对一层单元的计算进行矢量化,这更像是有几个并行的全连接层,它们以各种方式组合以生成输出和下一个单元状态。
没有什么可以阻止您扩展此架构并通过提供其自己的隐藏层来使任何单个门或值计算更深入。我怀疑这已被研究人员尝试过,但找不到任何参考资料。但是如果没有这种定制,标准 LSTM 中的门更像是对连接输入和单元状态的逻辑回归。