梯度消失和梯度爆炸

本文介绍了梯度消失和梯度爆炸的现象,它们是深度学习中常见的问题。梯度消失主要由权重初始化不当、激活函数导数小于1以及数据尺度扩大引起,而梯度爆炸则与权重初始化值过大、数据尺度过大和激活函数有关。解决办法包括权值初始化,如使用Xavier或Kaiming初始化,以及选择非饱和激活函数如ReLU、Leaky ReLU和ELU等。此外,批量归一化、残差结构也是有效的防止梯度问题的方法。
摘要由CSDN通过智能技术生成

1. 前向传播和反向传播

在讲解梯度消失和梯度爆炸之前,我们需要先了解什么是前向传播和反向传播。

前向传播: 输入层数据开始从前向后,数据逐步传递至输出层。
反向传播: 损失函数从后向前,梯度逐步传递至第一层。

在讲解前向传播和反向传播计算过程之前,我们先介绍一下计算图的概念,通过计算图可以很清楚的了解后向传播的计算过程,以3层网络为例。
在这里插入图片描述
蓝色圆圈表示运算操作,分别为乘法,激活函数,乘法,损失函数;白色框框表示传播的数值;蓝色框框表示权重;
前向传播不同多说,不断的乘以权重在通过激活函数即可;
反向传播的计算过程本质是链式求导过程。下面为 W 1 W_1 W1的计算过程,从后向前逐步进行计算。
在这里插入图片描述

2. 梯度消失和梯度爆炸产生的原因

了解了前向传播和反向传播机制之后,再去了解梯度消失、爆炸就很简单了。
以5层网络为例,激活函数为 f ( z ) f(z) f(z), f i + 1 = f ( f i ⋅ x ) f_{i+1} = f(f_i \cdot x) fi+1=f(fix),通过计算图给出 W 1 W_1 W1的梯度推导公式,我们将根据这个公式进行梯度消失、爆炸的分析。

在这里插入图片描述
Δ W 1 = ∂ l o s s ∂ o u t ∂ o u t ∂ f 3 ∂ f 3 ∂ 2 ∂ f 2 ∂ f 1 ∂ f 1 ∂ W 1 = ∂ l o s s ∂ o u t W 4 f ′ W 3 f ′ W 2 f ′ x Δ W 2 = ∂ l o s s ∂ o u t ∂ o u t ∂ f 3 ∂ f 3 ∂ f 2 ∂ f 2 ∂ W 2 = ∂ l o s s ∂ o u t W 4 f ′ W 3 f ′ f 1 \Delta W_1 = \frac {\partial loss} {\partial out} \frac {\partial out} {\partial f3} \frac { \partial f3} {\partial 2} \frac {\partial f2} {\partial f1} \frac {\partial f1} {\partial W_1} \\ \quad \\ = \frac {\partial loss} {\partial out} W_4f'W_3f'W_2f'x \\ \quad \\ \Delta W_2 = \frac {\partial loss} {\partial out} \frac {\partial out} {\partial f3} \frac { \partial f3} {\partial f_2} \frac {\partial f_2} {\partial W_2} \\ \quad \\ = \frac {\partial loss} {\partial out} W_4f' W_3f'f_1 ΔW1=outlossf3out2f3f1f2

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值