李宏毅机器学习 之 神经网络训练不起来怎么办(五)

本文探讨了深度学习训练过程中的常见问题及其解决方案,包括局部最小值与鞍点的区别、不同批量梯度下降方法的选择、动量法的应用、自动调整学习率的方法、损失函数的选择以及批次标准化的作用。

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

目录

一、局部最小值 Local Minima 与鞍点 Saddle point

1、为什么Saddle point 和 Local Minima 不好优化?

2、如何区分 Saddle point 和 Local Minima ?

二、批次 Batch 与动量法 Momentum

1、Batch 和Epoch

1)随机梯度下降 Stochastic Gradient Descent

2)小批量梯度下降 Mini-batch Gradient Descent

3)全批量梯度下降 Batch Gradient Descent

2、Small Batch 和 Large Batch

3、动量梯度下降法 Momentum

三、自动调整学习率 Learning rate

1、AdaGrad 优化算法

2、RMSProp 优化算法

3、Adam 优化算法

四、损失函数Loss 也有可能影响

1、回归 Regression 和 分类 Classification

2、MSE和 Cross-entropy 的区别

五、批次标准化 Batch-Normalization


一、局部最小值 Local Minima 与鞍点 Saddle point

1、为什么Saddle point 和 Local Minima 不好优化?

鞍点:在微分方程中,沿着某一方向是稳定的,另一条方向是不稳定的奇点,叫做鞍点。在泛函中,既不是极大值点也不是极小值点的临界点,叫做鞍点。在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。可以理解为“马背”上的点,下图蓝色图中的红点就是鞍点。

鞍点和局部最小点都是临界点critical point,此处的梯度都为0,所以在优化的时候很容易陷在其中,无法收敛到全局最小点。

 

2、如何区分 Saddle point 和 Local Minima ?

要区分局部极小点和鞍点,需要用到Hessian 矩阵。

当 H > 0,说明特征值全部为正,此点为局部极小点;

当 H < 0,说明特征值全部为负,此点为局部极大点;

当 H 有时大于0,有时小于0,说明此点为鞍点;

但是Hessian 矩阵不仅需要计算梯度,还需要计算Loss对weight的二阶偏导数,计算量非常大,所以不建议使用这种方法。

 

二、批次 Batch 与动量法 Momentum

1、Batch 和Epoch

1个epoch相当于所有的batch过一遍,并且epoch之后要shuffle一下。

batch是将整体样本分成若干份,按大小可以分为三种:随机梯度下降、小批量梯度下降和全批量梯度下降。

设样本数为m,

1)随机梯度下降 Stochastic Gradient Descent

每次从样本中随机选择一个进行学习,batch size = 1

优点:学习速度快;

缺点:优化波动,收敛变慢。

2)小批量梯度下降 Mini-batch Gradient Descent

每次从样本中随机选择部分进行学习,1 < batch size < m

if mini-batch size = 1:即为随机梯度下降;

if mini-batch size = m:即为全批量梯度下降;

优点:学习速度快,朝着极小点方向。

3)全批量梯度下降 Batch Gradient Descent

每次使用全部的样本进行学习,batch size = m

优点:必然能收敛到极小点;

缺点:学习速度非常慢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值