Datawhale X 李宏毅苹果书 AI夏令营 第五期 深度学习(进阶班)Task01 笔记分享

Task1:《深度学习详解》- 3.1 局部极小值与鞍点(6页+34分钟)

Part01.视频笔记

为什么优化会失败?
随着updates增加,训练的Loss会出现
  • 不够小
  • (或者)一直在较大的数值处振荡
    (梯度会趋近于零,Loss也就不再更新)
梯度为零的情况:局部最小值(local minima)和鞍点(saddle point)

梯度为零的点称为critical point
如果卡在了local minima,那训练就无路可走了
而如果卡在了saddle point,还有可以逃离的路线。

数学知识
泰勒展开式

L ( θ ) ≈ L ( θ ′ ) + ( θ − θ ′ ) T g + 1 2 ( θ − θ ′ ) T H ( θ − θ ′ ) (1) L(\theta) \approx L(\theta') + (\theta -\theta')^T g + \frac{1}{2}(\theta - \theta')^T H(\theta -\theta')\tag1 L(θ)L(θ)+(θθ)Tg+21(θθ)TH(θθ)(1)
其中(gradient)g是一个向量(vector)满足 g = ∇ L ( θ ′ ) g = \nabla L(\theta') g=L(θ) g i = ∂ L ( θ ′ ) ∂ θ i g_i = \frac{\partial L(\theta')}{\partial \theta_i} gi=θiL(θ)
而(Hessian)H是一个矩阵(matrix)满足 H i j = ∂ 2 ∂ θ i ∂ θ j L ( θ ′ ) H_{ij} = \frac{\partial^2}{\partial \theta_i \partial \theta_j} L(\theta') Hij=θiθj2L(θ)

  • 在critical point时,(1)式中的第二相就为零了
    此时,不妨记 v T = ( θ − θ ′ ) T v^T = (\theta-\theta')^T vT=(θθ)T v = θ − θ ′ v = \theta-\theta' v=θθ,那么就有 L ( θ ) ≈ L ( θ ′ ) + v T H v L(\theta) \approx L(\theta')+v^T H v L(θ)L(θ)+vTHv (系数1/2可以被忽略)
    v T H v > 0 v^T H v > 0 vTHv>0对于所有的 v v v都成立,那么 θ ′ \theta' θ是一个local minima
  • H是一个正定矩阵(矩阵的所有特征值都是正的
    v T H v < 0 v^T H v < 0 vTHv<0对于所有的 v v v都成立,那么 θ ′ \theta' θ是一个local maxima
  • H是一个负定矩阵(矩阵的所有特征值都是负的
    如果有时 v T H v > 0 v^T H v > 0 vTHv>0有时 v T H v < 0 v^T H v < 0 vTHv<0,那么 θ ′ \theta' θ是一个saddle point
  • H的特征值有正有负
不要害怕鞍点(saddle point)

Hessian矩阵指出参数update方向
假设 u u u是H的一个特征向量, λ \lambda λ u u u对应的特征值,那么 u T H u = u T ( λ u ) = λ ∥ u ∥ 2 u^THu=u^T(\lambda u)=\lambda \lVert u \rVert^2 uTHu=uT(λu)=λu2
λ < 0 \lambda<0 λ<0时, L ( θ ) < L ( θ ′ ) L(\theta) < L(\theta') L(θ)<L(θ)—>沿着 u u u的方向,就可以逃离鞍点,降低Loss

鞍点与局部最小值

低纬度的鞍点或局部最小值在高纬度的角度可能并不存在
从经验的角度来看,局部最小值没有那么常见;

Task2:《深度学习详解》 - 3.2 批量和动量(7页+31分钟)

Part01.视频笔记

通过批量(batch size)优化

将训练数据分成多个批量,每次迭代时只应用一个批量的数据;
epoch:将所有的批量训练一遍(shuffle after each epoch)

大小批量的比较
大批量小批量
训练时间(没有并行计算)
训练效果(有并行计算)一样(只要批量不是特别大)一样
一次epoch的训练时间
梯度稳定不稳定
优化
泛化
排除一些刻板印象:

大批量的不一定需要更多时间去计算梯度(并行运算的帮助);
同时,小批量的训练效果更好(而且不是过拟合)
小批量的测试效果也更好

通过动量(momentum)优化

优化方向:梯度反方向+上一步优化方向: m n = λ m n − 1 − η g n − 1 m^n = \lambda m^{n-1} - \eta g^{n-1} mn=λmn1ηgn1
那么第 m m m步移动方向可以视作前面所有梯度的加权和

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值