深度学习记录

一、梯度下降

定义

梯度下降是一种通过迭代地调整模型参数来最小化损失函数的优化算法。在每一次迭代中,梯度下降计算目标函数(损失函数)对参数的梯度,并沿着梯度的反方向更新参数,以此逐渐逼近损失函数的最小值。

核心原理

  • 利用目标函数的梯度(导数)信息来引导参数的更新。
  • 选择一个初始参数值作为算法的起点,并在当前参数值处计算目标函数相对于参数的梯度。
  • 根据梯度的信息更新模型的参数,以减小目标函数的值。更新的大小由学习率(learning rate)控制。

变体

  • 随机梯度下降(SGD):在每次迭代中,仅使用训练集中的一个样本来计算梯度,然后更新参数。这种方法具有随机性,有助于跳出局部最小值,但收敛可能不稳定。
  • 批量梯度下降(BGD):在每次迭代中使用整个训练集来计算梯度,以获得更准确的梯度估计。这种方法收敛稳定,但计算成本较高。
  • 小批量梯度下降(Mini-Batch Gradient Descent):结合了SGD和BGD的优点,在每次迭代中使用一个大小适中的小批量样本来计算梯度。这种方法通常用于深度学习中的模型训练。

二、梯度消失

定义

梯度消失是神经网络训练中常见的一个问题,特别是在深层神经网络中。它指的是在网络的反向传播过程中,用于更新网络权重的梯度变得非常小,以至于几乎不对权重产生任何显著的更新。

原因

  • 链式法则的乘积效应:在深层网络中,通过链式法则计算梯度时,梯度会通过每一层逐层传播。如果每层的梯度都小于1(例如,激活函数的导数是0到1之间的值),多个小于1的数相乘会导致梯度逐渐变得非常小。
  • 不恰当的激活函数:某些激活函数(如Sigmoid和Tanh)在输入较大或较小的时候,导数接近于0,因此在深层网络中使用这些激活函数容易导致梯度消失。
  • 权重初始化:不适当的权重初始化也可能导致梯度消失,特别是当初始化的权重太小时。

影响

  • 网络训练缓慢:由于深层网络中底层参数无法有效更新,网络学习速度变慢。
  • 网络性能下降:无法学习到深层次的抽象特征,影响网络的表征能力和泛化能力。

解决方案

  • 使用ReLU激活函数:ReLU函数在正数区间的导数是常数,有助于缓解梯度消失的问题。
  • 权重初始化技巧:如He初始化或Xavier初始化,这些方法可以帮助在训练开始时保持梯度在适当的范围内。
  • 批量归一化(Batch Normalization):通过重新调整每个小批次数据的输出,批量归一化可以加速训练并减轻梯度消失。
  • 使用残差连接(Residual Connections):例如,在ResNet架构中使用的残差连接允许一部分梯度直接流过网络,从而减少梯度消失的影响。

综上所述,梯度下降是一种优化算法,用于通过迭代地调整模型参数来最小化损失函数;而梯度消失是神经网络训练中的一个常见问题,特别是在深层网络中,它会导致网络训练缓慢和性能下降。通过采取适当的解决方案,可以有效地缓解梯度消失问题,提高神经网络的训练效率和性能。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值