RNN中的梯度消失与梯度爆炸问题

梯度消失与梯度爆炸问题

循环神经网络(Recurrent Neural Network,RNN)是一类具有短期记忆能力的神经网络.在循环神经网络中,神经元不但可以接受其他神经元的信息,也可以接受自身的信息,形成具有环路的网络结构。

在RNN中,梯度计算时需要沿时间步反向传播(BPTT,Backpropagation Through Time),这个算法即按照时间的逆序将梯度信息一步步地往前传递.当输入序列比较长时了,时间步展开导致的长链乘积会存在梯度爆炸和消失问题,也称为长程依赖问题。

上图是一个简单的循环神经网络,只有一个隐藏层的神经网络,𝒉_𝑡不仅和当前时刻的输入𝒙_𝑡 相关,也和上一个时刻的隐藏层状态𝒉_{𝑡−1} 相关

分析步骤

分析:

1、使用了一个4层的前馈神经网络来模拟展开的RNN。

2、若激活函数是Sigmoid,求梯度的最大值是0.25,可能会导致梯度消失问题,这时候网络就学习不到东西了,即无法更新梯度。

3、若权重设置过大了,可能出现梯度爆炸问题,梯度变成NaN。

注:最后等式括号中根据不同的激活函数有不同的导数。

相关推荐
南方的狮子先生2 分钟前
【深度学习】卷积神经网络(CNN)入门:看图识物不再难!
人工智能·笔记·深度学习·神经网络·机器学习·cnn·1024程序员节
howard20051 小时前
神经网络初探
深度学习·神经网络·keras
小五1271 小时前
U-net系列
深度学习·目标检测·目标跟踪
zzZ65653 小时前
U-net 系列算法总结
人工智能·深度学习·机器学习
咩?4 小时前
10.27-yolov5代码
人工智能·python·深度学习
合才科技5 小时前
神经网络如何预测仓库拥堵?
人工智能·深度学习·神经网络
文火冰糖的硅基工坊5 小时前
[人工智能-大模型-115]:模型层 - 用通俗易懂的语言,阐述神经网络为啥需要多层
人工智能·深度学习·神经网络
无风听海5 小时前
神经网络之协方差
人工智能·深度学习·神经网络
xier_ran5 小时前
关键词解释:点积(Dot Product)在深度学习中的意义
人工智能·深度学习
停停的茶14 小时前
深度学习——图像分割
人工智能·深度学习