20170225#cs231n#3.最优化问题

本文深入探讨了梯度下降这一优化算法的基本概念及其不同变种,包括解析梯度和数值梯度的区别,以及如何通过梯度检验确保解析梯度的正确性。此外,还介绍了批量梯度下降、小批量梯度下降和随机梯度下降的应用场景与优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Optimization:Stochastic Gradient Descent

Optimization是寻找一个 W 使得LossFunction最小化的过程

SVMcostFunction就是一个convex function(凸函数),然后这就涉及到了 ConvexOptimization(凸优化)
但是神经网络的代价函数就是non-convex的了

然后会有很多lossfunction是Non-differentiable 不可导的,(例如最大值函数)。这个时候我们使用subgradient次梯度和gradient梯度交替结合的方法

 Optimization最优化问题

核心在于利用梯度下降,有两种计算梯度的方法

  • analytic gradient解析梯度
    df(x)dx=limh0f(x+h)f(xh)2h

    • 解析梯度算法的速度快结果精确但是实现的时候容易出错
    • numerical gradient数值梯度(近似解)
      f(x+h)f(xh)2h

      • 上式称为中心差值公式(centered difference formula),h的值特别小(例如1e-5),
      • 中心差值公式的结果误差比较小,看wiki
      • 数值梯度算法速度慢但是实现简单
    • csdn-DeepLearning梯度检验
      优快云-cs231-最优化问题

      其他关于数值梯度下降的东西可以看之前的Courseraweek1-3笔记,cs231n和Coursera大同小异
      计算数值梯度的复杂性和参数的量线性相关,现代的NeuralNetwork经常有上千万个参数,所以数值梯度的方法其实效率很低,我们需要更好的办法

      用微积分的方法计算解析梯度
      数值梯度有个明显缺点就是它是个近似值,但是由于实现起来简单所以结果收敛到全局最优一般没有太大问题

      不过解析梯度计算效率很高,但实现起来并不简单所以容易出错

      因此我们经常计算出解析梯度analytic gradient的值之后和数值梯度numerical gradient的值进行对比,check一下结果,来检查我们的解析梯度analytic gradient实现是否正确

      这个过程称之为Gradient Check

      Gradient Descent 梯度下降

      梯度下降是对神经网络的LossFunction最优化中最常用的方法

      Mini-batch gradient descent小批量梯度下降

      它运行得比较好的原因在于效率高,小批量的梯度其实就是对整个数据集梯度的近似,而由于数量较少所以运算速率较高,所以收敛得更快

      Stochastic Gradient Descent (SGD) 随机梯度下降

      这就是一个mini-batch中只有1个数据的情况
      有时候也称为on-line gradient descent在线梯度下降,但是随机梯度下降在实际中几乎没有人用。不过经常还是有人用SGD来去指代mini-batch gradient descent(或者用MGD指代)

      一个mini-batch的size虽然是一个超参数,但其实一般不会用交叉验证来调参。这个size经常是决定于存储器的限制,或者就是直接使用32,64,128等
      在实际中size的大小一般为2的n次幂。因为当输入的大小是 powers of 2 的时候,很多向量化操作实现会运算的更快一些


      mini-batch的lossfuction与迭代次数图像会有很大的噪声但最后的趋势仍然是下降的。如果是Full-batch的话lossfunction与迭代次数的图像会是平滑的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值