Datawhale X 李宏毅苹果书 AI夏令营 之 深度学习进阶 Task1

机器学习包含三个阶段:确定机器学习所要寻找的函数模型、定义损失函数、优化损失函数的参数。

对于机器学习所需寻找的函数,输入的特征是自变量,输出的数值或分类是因变量,其中的函数系数是固定值,这个固定值事先是不知道的,通过损失函数最小化,确定机器学习所需寻找的函数的系数。对于损失函数,特征是固定的(即训练集),此时所需寻找的系数是自变量,损失函数的值是因变量,所要寻找的函数应该在训练集上能最大程度上与训练集中的标签一致,即之间的差异即损失函数应该最小化。优化损失函数的参数是训练机器学习模型最大的挑战。

1. 局部极小值与鞍点

(1)局部极小值

优化损失函数最理想的情况应该使损失函数最小,即达到全局最小值,此时得到的参数是最优的。然而,由于损失函数的复杂性,找到全局最小值是很难的。在损失函数最小化的搜索过程使用的是梯度下降算法,即在损失函数梯度的负方向搜索参数,使损失函数最小。为了确保搜索的进行,需要在各处存在梯度。但是在搜索过程中会遇到梯度为零的点,称为临界点。临界点又分为局部最大值、局部最小值和鞍点。这会给损失函数的优化带来困难。

局部最大值处任意方向梯度都会使损失函数降低,因此没有问题。

局部最小值周围任意方法都会使损失函数增加,导致搜索无法继续进行,使得深度学习的训练失败或无法达到满意结果。

(2)鞍点

鞍点处梯度为零,但鞍点在部分方向会使得损失函数增加,而在另一些方向则会使损失函数下降,因此只要找到使损失函数下降的方向,则不会使训练停止。

在实践中,局部最小值并不常见,更常见的是鞍点。

(3)判断临界点的类型

理论上可用损失函数构造黑塞矩阵H,根据黑塞矩阵H的特征值判断:

H的所有特征值都是正的,临界点是局部最小值;

H的所有特征值都是负的,临界点是局部最大值;

H的特征值有正有负,临界点是鞍点。

2.批量和动量

(1) 批量

所有数据训练一遍后再计算损失函数和梯度,进而更新参数,这样更稳定、更准确,但计算量大,训练速度慢。而每个训练数据都相应更新参数,损失带有更多噪声。可把训练集分为若干组,即批量,每个批量数据训练后更新一次参数。此时如何划分批量又是一个问题。

大的批量更新稳定,优化效果可能不好,而小的批量虽有噪声,但优化效果反而比较好。

(2) 动量

动量是对抗鞍点或局部最小值的方法之一。动量法在更新参数步伐时,考虑当前梯度和以往梯度的影响,使得更容易越过局部最小值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值