李宏毅-2021春-机器学习/深度学习学习笔记-Deep Learning【2】

二、Tips for Training: Batch and Momentum
1、Batch

(1)目标任务: θ ∗ = a r g min ⁡ θ L \theta^*=arg\min \limits_\theta L θ=argθminL

(2)操作:每次在所有的训练集中选取一个Batch然后进行梯度下降后更新参数,Epoch尾进行一次Shuffle:
g i = ∇ L i ( θ j ) u p d a t e θ j − η g i → θ j + 1 {\color{green}g^i}=\nabla L^i(\theta^j) \qquad update \quad \theta^j-{\color{red}\eta \color{green}g^i}\to \theta^{j+1} gi=Li(θj)updateθjηgiθj+1
(3)为什么要使用Batch?

  大的Batch训练梯度下降比较直接,小的则会比较Noisy,但是因为其训练的时候针对每个小Batch就会从每个局部最优跳来跳去,可以不会陷入局部最优,另外,小的Batch也对Testing的时候比较好;

  我们认为局部最优解如果该点曲率比较小(平原上),则其是一个比较好的局部最优解;

  所以,Batch Size是一个我们需要去调的超参数;

2、Momentum

(1)理解:一般的梯度下降中,我们只是向着梯度方向的反方向移动参数,但是添加了Momentum的时候,就变成了如下形式:
g i = ∇ L i ( θ j ) u p d a t e θ i + λ m i − η g i → θ i + 1 , {\color{green}g^i}=\nabla L^i(\theta^j) \qquad update \quad \theta^i+\lambda m^i-{\color{red}\eta \color{green}g^i}\to \theta^{i+1}, gi=Li(θj)updateθi+λmiηgiθi+1,
其中, m i m^i mi为前一步移动的步长: λ m i − 1 − η g i − 1 \lambda m^{i-1}-\eta g^{i-1} λmi1ηgi1

(2)优势:添加了Momentum会考虑前面计算到的所有梯度,而不是只有上一次的梯度;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值