网络权重初始化方法总结(上):梯度消失、梯度爆炸与不好的初始化

本文介绍了神经网络训练中的梯度消失和梯度爆炸问题,分析了激活函数如Sigmoid和Tanh的影响,以及权重矩阵对网络初始化的重要性。讨论了不良初始化如何导致梯度消失和爆炸,并提出ReLU激活函数能缓解该问题。此外,还探讨了全常数初始化的负面影响,强调了寻找合适权重初始化方法的必要性。
摘要由CSDN通过智能技术生成


博客: blog.shinelee.me | 博客园 | CSDN

前向传播与反向传播回顾

神经网络的训练过程可以简化成以下步骤,

  1. 输入预处理(feature scaling等)
  2. 初始化网络weight和bias
  3. 前向传播,得到网络输出
  4. 计算损失函数,得到当前损失
  5. 反向传播,根据链式法则,逐层回传得到损失函数对当前参数的偏导,根据梯度下降算法对当前参数进行更新
  6. 重复步骤3 4 5,直到损失不再减小,即收敛

一个简单的前向传播和反向传播的示意图如下,线性组合和非线性激活交替进行,线性组合层可以为全连接层或卷积层等,图片来自链接

前向传播

反向传播

梯度下降算法的参数更新公式为,
W ( t + 1 ) = W ( t ) − η d C d W W(t+1)=W(t)-\eta \frac{d C}{d W} W(t+1)=W(t)ηdWdC
其中 C = J ( W ) C=J(W) C=J(W)为损失函数,即通过参数的偏导对参数进行更新。反向传播时,由链式法则,偏导反向回传,逐层计算损失函数对当前参数的偏导。对某个参数的偏导为一串因子的乘积,因子依次为损失函数对网络输出的偏导、激活函数的偏导、线性组合的偏导、激活函数的偏导、线性组合的偏导……如下面所示(来自链接),这里,损失为二分之LMS,用 C C C表示, z z z为线性组合的输出(激活层的输入), a a a为激活层的输出(线性组合的输入),

反向传播中的偏导计算

仔细观察上式,偏导为一串因子的乘积,因子中的每一项对乘积结果都有影响,有几点需要注意,回传时,

  • 每个权重的偏导中含有一个共同的因子项,为损失函数对网络输出的偏导
  • 每经过一个激活层,就有一个激活函数偏导作为因子项,如 σ ′ ( z L ) = ∂ a L ∂ z L \sigma'(z^L)=\frac{\partial a^L}{\partial z^L} σ(zL)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值