优化函数 (Optimization Function)

本文深入探讨了深度学习中常见的优化函数,如梯度下降、批量梯度下降、随机梯度下降及Adam优化器的工作原理与优缺点。梯度下降作为基础方法,存在计算成本高和易陷入局部最优的问题;批量梯度下降和随机梯度下降分别针对全局最优和抖动问题进行了优化;而Adam优化器通过自适应学习率提高了优化效率。

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

在利用损失函数(Loss Function)计算出模型的损失值之后,接下来需要利用损失值进行模型参数的优化。在实践操作最常用到的是一阶优化函数。包括GD,SGD,BGD,Adam等。一阶优化函数在优化过程中求解的是参数的一阶导数,这些一阶导数的值就是模型中参数的微调值。

1.梯度下降

梯度下降(Gradient Descent)是参数优化的基础方法。虽然已广泛应用,但是其自身存在许多不足,所以在其基础上改进的优化函数也非常多。

全局梯度下降的参数更新公式如下:

\theta_{j}=\theta_{j}-\eta \times \frac{\partial J\left(\theta_{j}\right)}{\partial \theta_{j}}

其中,训练样本总数为n,j=0....n\theta是我们优化的参数对象,\eta是学习速率,J(\theta )是损失函数,后面的求导是根据损失函数来计算\theta的梯度。学习速率过快,参数的更新跨步就会变大,极易出现局部最优和抖动。学习率过慢,梯度更新的迭代次数就会增加,参数更新时间也会变长。

缺点:计算损失值的时间成本和模型训练过程中的复杂度增加。

2.批量梯度下降

假设划分出来的批量个数为m,其中的一个批量包含batch个数据样本,那么一个批量的梯度下降的参数更新公式如下:

\theta_{j}=\theta_{j}-\eta \times \frac{\partial J_{b a c h}\left(\theta_{j}\right)}{\partial \theta_{j}}

缺点:容易导致优化函数的最终结果是局部最优解。

3.随机梯度下降:

假设我们随机选取的一部分数据集包含stochastic个数据样本,那么随机梯度下降的参数更新公式如下:

\theta_{j}=\theta_{j}-\eta \times \frac{\partial J_{\text {stochastic}}\left(\theta_{j}\right)}{\partial \theta_{j}}

缺点:会在模型的参数优化过程中出现抖动的情况。

4.Adam

一个比较智能的优化函数方法--自适应时刻估计方法(Adaptive Moment Estimation)。它在模型训练优化的过程中通过让每个参数获得自适应的学习率,来达到优化质量和速度的双重提升。现在一般都选择用这个方法。

。。。。。。等等

参考:

PyTorch学习之十种优化函数

深度学习各种优化函数详解

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值