深度学习基础(三):梯度下降

Gradiect Descent 梯度下降

什么是梯度下降?

顾名思义,梯度下降法的计算过程就是沿梯度下降的方向求解极小值(也可以沿梯度上升方向求解极大值)。求解优化问题。

使用场景?

  • 求最小损失函数(Loss function) L L L使用梯度下降,目的寻找最优参数 θ \theta θ

公式解释?

假设 θ \theta θ有两个参数{ θ 1 , θ 2 \theta_1,\theta_2 θ1,θ2},随机选取起始参数 θ 0 \theta_0 θ0
计算偏微分
[ θ 1 1 θ 2 1 ] = [ θ 1 0 θ 2 0 ] − η [ ∂ L θ 1 0 ∂ θ 1 0 ∂ L θ 2 0 ∂ θ 2 0 ] \begin{bmatrix} \theta_1^1 \\ \theta_2^1 \\ \end{bmatrix}=\begin{bmatrix} \theta_1^0 \\ \theta_2^0 \\ \end{bmatrix}-\eta \begin{bmatrix} \frac {\partial L \theta_1^0 }{\partial \theta_1^0} \\ \frac {\partial L \theta_2^0 }{\partial \theta_2^0} \\ \end{bmatrix} [θ11θ21]=[θ10θ20]ηθ10Lθ10θ20Lθ20 η \eta η为learning rate 控制步幅,反复进行

  • 简化写法,批量梯度下降
    ∇ L ( θ ) = [ ∂ C θ 1 ∂ θ 1 ∂ C θ 2 ∂ θ 2 ] \nabla L(\theta)= \begin{bmatrix} \frac {\partial C \theta_1 }{\partial \theta_1} \\ \frac {\partial C \theta_2 }{\partial \theta_2} \\ \end{bmatrix} L(θ)=[θ1Cθ1θ2Cθ2]表示步子方向, θ 1 = θ 0 − η ∇ L ( θ 0 ) \theta^1=\theta^0-\eta \nabla L(\theta ^0) θ1=θ0ηL(θ0)

步骤

1. learning rate η \eta η 选取

  • 可视化参数改变时loss的改变情况
    在这里插入图片描述
  • 选取思想
    起始状态,learning rate选大些;在几代后,learning rate减少

2. 随机梯度下降 Stochastic Gradient Descent

只算单个样本得loss,让训练更快
在这里插入图片描述

  • 弊端
    偶尔失效,每部信息量有限,对梯度估计出现偏差

  • 解决之道
    惯性保持、环境感知

  • 经典方法
    AdaGrad、动量Momentum、Adam

Momentum

θ t + 1 = θ t − v t + 1 \theta^{t+1}=\theta^t-v^{t+1} θt+1=θtvt+1 v t + 1 = μ v t + η g t v^{t+1}=\mu v^t+\eta g^t vt+1=μvt+ηgt 前进步伐由两部分组成:学习速率乘当前估计梯度和衰减的前一次步伐, μ \mu μ代表衰减系数

在这里插入图片描述

AdaGrad——历史梯度平方和

在这里插入图片描述
简化后learning rate为
η ∑ i = 0 t ( g i ) 2 \frac{\eta}{\sqrt{\sum_{i=0}^t (g^i)^2 }} i=0t(gi)2 η i代表当前时刻

Adam——梯度一阶矩和二阶矩m

公式表示:
θ t + 1 = θ t − η v t + ε m t ^ \theta^{t+1}=\theta^t-\frac{\eta}{\sqrt{v^t+\varepsilon}}\hat{m^t} θt+1=θtvt+ε ηmt^ m t ^ = m t 1 − β 1 t , v t ^ = v t 1 − β 2 t \hat{m^t}=\frac{m^t}{1-\beta_1^t},\hat{v^t}=\frac{v^t}{1-\beta_2^t} mt^=1β1tmt,vt^=1β2tvt 其中, m t ^ \hat{m^t} mt^是一阶矩, v t ^ \hat{v^t} vt^是二阶矩, β 1 \beta_1 β1 β 2 \beta_2 β2是衰减系数

扩展其他
RMSProp——AdaGrad改进

θ t + 1 = θ t − η v t g t \theta^{t+1}=\theta^t-\frac{\eta}{\sqrt{v^t}}g^t θt+1=θtvt ηgt v t = g 0 2 v^{t}= g^2_0 vt=g02 v t + 1 = α v 1 + ( 1 − α ) ( g t ) 2 v^{t+1}=\alpha v^1+(1-\alpha)(g^t)^2 vt+1=αv1+(1α)(gt)2 指数衰退平均法,确保 v t v^t vt不会永无止境变大

3.特征缩放 feature scaling

Why?处理多维问题时,特征缩放到相似尺度,梯度下降更快
What? 标准化特征范围,归一化+标准化
How?种类很多,下图为经典算法
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值