堆叠LSTM反向传播运行机制:双层LSTM梯度计算疑问
堆叠LSTM反向传播梯度计算(以2层为例)
假设你提到的红色框是指第一层LSTM的隐藏状态节点,它的梯度确实来自两个维度,具体计算逻辑如下:
来自上层(第二层LSTM)的梯度:
前向传播时,第一层每个时间步的隐藏状态输出,是第二层对应时间步的输入。反向传播时,第二层每个时间步隐藏状态的损失梯度,会沿着输入路径反向传递,转化为第一层对应时间步输出的梯度,这部分梯度会流入第一层的隐藏状态节点。来自同层后续时间步的梯度:
和单层LSTM逻辑一致,第一层t时间步的隐藏状态会参与t+1时间步的计算(隐藏状态跨时间步传递)。反向传播时,t+1时间步隐藏状态的损失梯度,会反向传递回t时间步的隐藏状态节点。
最终红色框内的梯度,是这两部分梯度的逐元素累加——因为梯度是损失对该节点的偏导数,根据链式法则,所有依赖该节点的路径产生的偏导数都要相加。
进一步拆解到LSTM内部的门控结构(输入门、遗忘门、输出门、细胞状态)时,每部分参数的梯度计算依然遵循链式法则,将上述两个来源的梯度整合,逐步计算出每个权重、偏置的偏导数。
内容的提问来源于stack exchange,提问作者397265362
相关产品推荐
相关产品推荐

