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

梯度消失与梯度爆炸问题

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

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

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

分析步骤

分析:

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

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

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

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

相关推荐
羊小猪~~1 分钟前
神经网络基础--什么是神经网络?? 常用激活函数是什么???
人工智能·vscode·深度学习·神经网络·机器学习
雾重烟秋11 分钟前
前深度学习时代-经典的推荐算法
人工智能·深度学习·推荐算法
LDG_AGI2 小时前
【人工智能】Transformers之Pipeline(二十二):零样本文本分类(zero-shot-classification)
大数据·人工智能·python·深度学习·机器学习·数据挖掘
多吃轻食2 小时前
大模型的常用指令格式 --> ShareGPT 和 Alpaca (以 llama-factory 里的设置为例)
人工智能·深度学习·语言模型·自然语言处理
韬小志2 小时前
【LLaMa-Factory】监督微调训练方法
人工智能·深度学习·llama
lzt23233 小时前
深度学习中的 Dropout:原理、公式与实现解析
人工智能·python·深度学习·神经网络·transformer
shuyeah3 小时前
LSTM结构原理
人工智能·rnn·lstm
跟德姆(dom)一起学AI3 小时前
0基础跟德姆(dom)一起学AI 深度学习01-深度学习介绍
开发语言·人工智能·python·深度学习·机器学习
机器学习之心3 小时前
粒子群优化双向深度学习!PSO-BiTCN-BiGRU-Attention多输入单输出回归预测
人工智能·深度学习·回归·多输入单输出回归预测·pso-bitcn-bigru