LSTM网络的反向传播数学公式的严格矩阵推导证明

本文主要是针对LSTM网络的反向传播公式进行推导,在观看前,请确保自己拥有矩阵求导,向量求导,矩阵求导布局,链式求导法则以及LSTM网络的相关知识。因本人水平有限,如有错误请大家指出。当然,如果不想看推导过程的话,可以直接使用推导结果就行,本人已经用matlab试验成功,对我自己的数据集有95%以上的识别正确率。本科的时候用CNN识别这个数据集只有91%左右,可以说效果还行了。
圆圈中带一个点的符号是矩阵或者向量点乘。
在这里插入图片描述这是LSTM前向传播的算法回顾。反向传播算法首先要定义c,h的反向传播误差量,上标的t代表的是第t个时间步。h是隐藏层,c是LSTM存贮长期信息的路径。
在这里插入图片描述我们首先要推导每一个时间步的h和c的反向传播误差值。因为只有知道每一层的这两个值,才能更新梯度,从而运用梯度下降法。上图先计算输出层的h和c的反向传播值,再计算每一时间步的h的反向传播误差值。
在这里插入图片描述
在这里插入图片描述我们用每一个时间步的h的反向传播值计算c的每一个时间步的反向传播值。
在这里插入图片描述
接下来就是更新各个时间步的权重值和偏差值。首先是遗忘门。在这里插入图片描述然后是输入门
在这里插入图片描述
在这里插入图片描述
最后是输出门
在这里插入图片描述
这就是LSTM网络反向传播的全部数学推导,比较复杂,但是是一个基础性的公式推导。只要掌握了这一套流程,任何RNN,DNN或者CNN类型的神经网络甚至加上注意力机制的网络以及变体都可以自己推导。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
LSTM(长短期记忆网络)是一种递归神经网络(RNN)的变体,它在处理时间序列数据时表现出色。LSTM通过使用门控单元来解决传统RNN的梯度消失和梯度爆炸问题。在LSTM反向传播算法用于优化网络参数。 反向传播(Backpropagation)是一种用于训练神经网络的优化算法。在LSTM反向传播通过计算损失函数对每个神经元的权重和偏置的梯度,并通过梯度下降法更新这些参数来最小化损失函数。 具体来说,在LSTM反向传播算法通过以下步骤来计算梯度并更新参数: 1. 前向传播:输入一个序列数据,通过LSTM的各个层进行前向传播,计算输出。 2. 计算损失:将模型预测的输出与实际值进行比较,计算损失函数(如平均误差)。 3. 反向传播:从输出层开始,计算每个神经元的权重和偏置的梯度。这是通过链式法则来实现的,将误差从输出层向后传播到每个神经元。 4. 参数更新:使用梯度下降法来更新每个神经元的权重和偏置。通过将梯度乘以学习率来确定参数更新的幅度。 5. 重复步骤1-4:重复以上步骤,直到达到停止条件(如达到最大迭代次数或损失函数收敛)。 通过反向传播算法,LSTM能够学习时间序列数据的长期依赖关系,并进行优化。这使得LSTM在处理许多任务(如语言模型、机器翻译、情感分析等)上表现出色。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值