QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
" ~* p8 y. E$ I! a$ w
  x3 u, ~% ]; [: E/ d4 `梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。: y; H* ]  I7 d# ]7 J

& ~& D1 p9 v6 T$ N/ R9 g& ~优点:
, f( \/ C! P2 G0 ~0 {4 C+ {9 [
8 S( W6 p; T2 U+ ~$ S容易计算。2 n# j0 d8 s, z. m- S7 U5 `
易于实施。
' \: p4 ?7 |# |9 t$ c; m$ X6 m" ?2 P容易理解。" F# N! ^) Q) h: ^. K; ?; C: O- D
缺点:8 Y* G4 e2 C! \9 N$ e

! P' A% X3 n% h可能陷入局部最小值。- q6 i! g' H. `1 D. e* d6 E8 ^
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
6 s/ a# x) f, m' p需要大内存来计算整个数据集的梯度
/ O( G6 {; g) I7 \) H' ]' o! P随机梯度下降6 N1 n* P7 o: H/ C, x; G: [; a7 a
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
3 L9 @; A5 S$ Y- k3 Y8 l7 r1 D! I* m5 ~4 _# H8 d
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本% u, Q/ q; ~/ r! s, j3 C
8 @% f: U  I1 X7 }9 C& z4 `
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
+ Y  ~0 s" t% c& S# Y$ l: ?2 Q% b# F! z
' ^9 U) y, y2 I( ]0 q; H/ M优点:; E5 Y4 [" q. @/ c. V6 h
0 H  v  T- H/ l9 k5 ]5 b
因此,频繁更新模型参数可以在更短的时间内收敛。
' ]) K6 S) l1 P+ ?( ?需要更少的内存,因为不需要存储损失函数的值。- X" t7 b1 c1 Q! s# j" I- V) h
可能会得到新的最小值。
4 H1 q/ K; M+ A7 `! s, w: [缺点:
4 f0 [0 |7 ^: w* `' Z3 f- a+ g6 E8 r2 ^5 ~, D( F8 N0 }
模型参数的高方差。) m( w7 z* D5 C. m9 |
即使在达到全局最小值后也可能射击。
- ~& h$ E: ^9 i+ ~& b0 N5 }! C要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。$ x# v4 l9 I, V0 ?2 F( B7 @
小批量梯度下降
* G1 o9 K2 a9 @/ Q- c, [$ b6 B它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
! S0 Z/ v" @$ h" \; O7 _+ J# {% z7 f" a" }2 D3 x
θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。. R6 y' D* o9 h% W, e3 X9 F
( R4 B1 Z6 p9 p% _* S
优点:' m4 h7 Z* j- }8 o) y
) O( u5 B  `" C; G/ o
经常更新模型参数并且方差也较小。
' b# _* W! a8 y9 W1 \% w需要中等的内存
- _1 h7 r9 c3 [所有类型的梯度下降都有一些挑战:
4 ^9 B+ [$ g# g" y9 ~
+ y3 S3 A% @1 Z# H8 Y2 Y选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。$ z! k- ?$ o1 j9 d
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
) g3 l- F1 j% J: W可能会陷入局部极小值。0 e' B0 P- [7 \) M7 L
其它优化算法
5 E3 @$ L, G* S" f! `具体我就不再详细介绍,其它优化器如下:
4 N8 @+ r9 R5 J" M& _8 N
1 Q# t8 h! a- x' A( FMomentum
8 h" ]5 B( {* o  C1 c% kNesterov Accelerated Gradient
6 L+ h! x* J$ F& c9 {7 DAdagrad
: ^0 X- T6 d: U& FAdaDelta4 s- v* |2 `5 v5 I5 Y2 V$ l
Adam
/ T* H6 b. F3 m  O各个优化算法比较动态图
3 h) U* k# y* m3 x# h8 n/ h VeryCapture_20231129112215.gif
' w$ w8 \7 `# Z
, w+ I0 R3 |" G$ ]6 G. Y) G+ b  E; H5 E6 G8 f' `9 Y/ D
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-4-20 10:48 , Processed in 0.590797 second(s), 54 queries .

回顶部