Lesson 3 when gradient is small

听课(李宏毅老师的)笔记,方便梳理框架,以作复习之用。本节课主要讲了优化失败的原因,batch大小对训练的影响,使用Momentum方法来解决梯度下降时无法逃离critical point的现象

1. 优化失败的原因

主要有两个

  • local minima
  • saddle point
    大家在学习时通常会忽略第二个,而直接说是因为遇到了local minima,实际上这是很不严谨的。应该统称为critical point,当gradient 为0时,不仅仅可能是local minima,还有可能是saddle point
    theta’是一个critical point
    在这里插入图片描述

2. 如何分辨是local minima还是saddle point?

这部分涉及到数学的证明和推理,看不懂也没关系,反正在实际应用中也不用这个算……
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 看起来存在的local minima在更高维度不一定存在

在这里插入图片描述
在这里插入图片描述
小结
在这里插入图片描述

4. Batch size对训练有影响吗?

4.1 简单回顾

在这里插入图片描述

4.2 一个比较极端的例子

在这里插入图片描述

4.3 大batch速度占优势(但有一定限制)

只要batch size不是特别大,其实大batch在速度上还是占优势的。
在这里插入图片描述

4.4 大batch并非十全十美

在这里插入图片描述
大batch可能会导致optimization fails
在这里插入图片描述

4.5 大batch导致optimization失败的原因

在这里插入图片描述

4.6 为什么小batch在测试集上表现更好?

在这里插入图片描述
下面这张图我来解释一下。
首先,为什么traning loss和testing loss可能不一样?
因为这可能是碰到了mismatch现象,测试集和训练集的数据分布就不太一样。导致两个loss函数不一样
其次,我们认为flat minima比sharp minima好。这是为什么呢,因为看两类minima在两条loss曲线的差别,很明显在sharp minima时得到的testing loss更大。
最后,为什么说small batch更容易走到flat minima?不知道,老师这么说的,说是小峡谷无法困住small batch,就可以跳出来到flat minima了

在这里插入图片描述
在这里插入图片描述
有没有什么办法两全其美一下,就是一种既要又要的追求!

5. Momentum

5.1 引入

考虑到物理世界中小球滚下坡时,带有一定的惯性,即使遇到最低点,也能滚出去

5.2 运动方向的合成

红色虚线和蓝色虚线(代表惯性)合成了蓝色实线,蓝色实线就是实际的运动的方向。
在这里插入图片描述

5.3 数学表达

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香菜菜菜菜子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值