深度学习笔记—数值稳定和模型初始化

本文探讨了模型参数初始化在神经网络学习中的重要性,它影响数值稳定性和优化速度。文章揭示了梯度爆炸和消失的问题,特别指出sigmoid函数可能导致梯度消失,强调了选择合适的激活函数和初始化方法的必要性。
摘要由CSDN通过智能技术生成

        有人认为模型参数初始化的选择并不是很重要,相反,初始化方案的选择在神经网络学习中起着举足轻重的作用,它对保持数值稳定性至关重要,此外,这些初始化方案的选择可以与非线性激活函数的选择有趣的结合在一起。我们选择哪个函数以及如何初始化参数可以决定优化算法收敛的速度有多快。糟糕选择可能会导致我们在训练时遇到梯度爆炸或梯度消失。

梯度消失和梯度爆炸

        考虑一个具有L层、输入x和输出o的深层网络。每一层l由变换fl定义,该变换的参数为权重\mathbf{W}^{l},其隐藏变量是\mathbf{h}^{l}。我们的网络可以表示为:

 如果所有隐藏变量和输入都是向量,我们可以将o关于\mathbf{W}^{l}任何一组参数的梯度写为下式:

        换言之,该梯度是L − l个矩阵 \mathbf{M}^{^{L}}...\mathbf{M}^{^{l-1}}与梯度向量 \mathbf{v}^{^{l}}的乘积。 因此,我们容易受到数值下溢问题的影响. 当将太多的概率乘在一起时,这些问题经常会出现。在处理概率时,一个常见的技巧是切换到对数空间,即将数值表示的压力从尾数转移到指数。

        不稳定梯度带来的风险不止在于数值表示;不稳定梯度也威胁到我们优化算法的稳定性。我们可能面临一些问题。要么是梯度爆炸(gradient exploding)问题:参数更新过大,破坏了模型的稳定收敛;要么是梯度消失(gradient vanishing)问题:参数更新过小,在每次更新时几乎不会移动,导致模型无法学习。

         sigmoid函数的输入过大或者过小会导致其梯度消失。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值