QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2370|回复: 0
打印 上一主题 下一主题

训练神经网络的各种优化算法

[复制链接]
字体大小: 正常 放大

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
0 q/ ]4 ~& v& G. R. L4 B9 O: w( E. U7 p% t  h7 ?
梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。0 W% C+ f( V3 q, u
. N2 l( R+ \5 ~2 F* j- w
优点:5 T9 k, `) R1 C. N3 {7 {

; F. a' v' J7 w. y3 e. ^) \/ {$ a容易计算。) Q6 O1 T3 s% x
易于实施。* R5 O  @) r9 G7 ^4 T# S/ p
容易理解。$ s$ _1 @, K5 x4 C( N: O
缺点:3 L% J1 ]  m3 [* o6 D8 K

2 o; w& B9 K, t5 s+ _) z# t可能陷入局部最小值。
3 T8 X5 U0 O% }0 v在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。# b* D* l: Q% }& X
需要大内存来计算整个数据集的梯度
0 G4 N* `; f* _( [, |随机梯度下降4 s9 y3 L7 f. @0 l4 V& `
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
& Q# P( y' _3 _0 _/ F' q
- k" {8 K; @7 V; P! [θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本' c, G6 g' N8 n" s
9 `5 X* Q/ z! ?( {0 ^9 F/ `
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。4 Q! r% w% o8 O5 L0 v
6 j) K7 o) k0 K9 K
优点:/ C* V- _1 f3 b2 ^2 w, H) Q( V/ M6 ^

+ c: ^$ F' T9 d; q; `因此,频繁更新模型参数可以在更短的时间内收敛。
# S- k/ D4 H5 O6 |' b需要更少的内存,因为不需要存储损失函数的值。7 H* o+ j- u+ c! `2 t' F
可能会得到新的最小值。9 d* A+ A4 W1 j  O2 I3 ]- L* e
缺点:$ B; l2 K+ n' s+ Q3 E# t; {! J& }
- z4 y- C4 G9 U
模型参数的高方差。
5 |1 ^: C& V6 N: A' u即使在达到全局最小值后也可能射击。
  |3 g+ P" ^& c- I' c1 m1 v' `- ~要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。
* W1 ~9 Y9 Z& `小批量梯度下降: M2 s$ h, d2 ^2 }) D
它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
" m/ Y' \  C. D1 P! A: X
9 Y' h3 L1 `) vθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。% m  k( u- m  G5 m  X

# [, s; ?# J+ ]7 H3 o. n优点:
* D$ ?4 w" \, L7 H8 v' |' [3 Y* R( ]$ n4 P1 m' c/ a5 O  h6 }
经常更新模型参数并且方差也较小。  |( F! D5 W. H* p& Z! m- w
需要中等的内存
: m% k& q# ?6 H所有类型的梯度下降都有一些挑战:
/ p" ~2 |3 U2 l: A8 g; C
1 L6 O2 L% z# H. W! L选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。* a8 ^) u8 @) V: _+ [) q  Y
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。/ W8 @6 z% ]: |2 i! o! ?/ c5 Y
可能会陷入局部极小值。
' f$ t: T& z% q  b其它优化算法! p# S; r9 @% I% O3 |0 D
具体我就不再详细介绍,其它优化器如下:
: F8 a; ~! t4 }8 \. m  N  o- ~4 Z! R' x% v; D2 I; F( N  N7 O
Momentum7 K7 Q, {  t  s8 ^9 K
Nesterov Accelerated Gradient. N* d6 b" U% k2 q2 d
Adagrad" ]7 L. }, J9 L9 O  ~- Q* s' e& k
AdaDelta8 Z* e; p7 N/ J& f$ }; h7 x
Adam
6 x$ ^; k6 h5 H* h7 m( ?各个优化算法比较动态图: _% v3 C6 }" D( f1 l/ N7 d
VeryCapture_20231129112215.gif 2 R6 \. g5 D, U  l8 k8 p
  E5 ~% t& J% Z/ k) a. L& O6 H

7 u8 `. ?' r7 V; n; E8 C* i
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-8-26 00:38 , Processed in 0.548464 second(s), 54 queries .

回顶部