QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2922

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。, \+ b3 r0 ]$ \1 `* l8 e- r

, @# {2 K% i; ?( r梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。% z9 o  f' o$ \# E
" N5 F' d; ?: s3 M  X
优点:: `: ]! ~- B2 `$ y6 w: [5 o
. S+ C* y' p/ L7 ^
容易计算。9 g! z* i( Y8 t/ T- n
易于实施。
0 K" A% H) M6 }+ h9 f5 E容易理解。
$ `4 n2 D( N! b+ [( L+ |/ b缺点:
6 v+ [6 L, O4 }: M, E/ `2 {7 ~% K. x$ Y# P
可能陷入局部最小值。
9 ?' i! b. H$ N3 x; L* k在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
3 |  m: v7 I% }需要大内存来计算整个数据集的梯度
) q; p+ n( x+ h- z随机梯度下降
" e2 X' `0 y: a% N" _8 X  b/ }6 R它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。; o: K0 [& C* k0 W4 r
" p" D6 a% i: w0 I  ~5 r0 i9 M
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本: Y8 x, ?7 y, j7 ~

! y& _: E2 d% E* ~% o8 [2 b3 {由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
: e! ?7 j$ d; z
( G9 K% x* ^# S) m优点:0 D2 ?( h8 w! |/ _: ~
8 X1 M; H7 K0 R1 O: L0 K% R' q
因此,频繁更新模型参数可以在更短的时间内收敛。) w/ w4 x* ~9 P+ r' e0 H
需要更少的内存,因为不需要存储损失函数的值。
0 ?1 {: W; ^; Z可能会得到新的最小值。* i5 G/ x+ d* o" A$ r* u8 {+ h
缺点:. t  C0 h( C4 U5 W0 @# I! l, G

  Z' v$ B( e* {' F5 f0 _5 [% C: d. ~模型参数的高方差。' t1 ~4 M( c. i! M
即使在达到全局最小值后也可能射击。
) n" x" _6 \1 F要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。
  T' P* A# C) p  d; `小批量梯度下降
6 o% e$ J) m! o9 o8 `它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
9 k6 X  ]( x, h. Z3 W
' ?) i! j/ |, x+ h. _6 K7 G9 [θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。7 K1 J) @- C/ Z# X- K/ z/ o

+ W$ f; ^& |7 W, H8 `$ ~1 R5 c" }" u优点:2 o, C, I# p5 G+ c6 r% F7 w* r
2 ^/ L' m2 U' ^6 X+ t" O
经常更新模型参数并且方差也较小。$ V8 T3 x) P' b/ i
需要中等的内存. s  N4 l) j. v1 D' Y# S- u) ~9 e, T9 t
所有类型的梯度下降都有一些挑战:" A7 ?4 m" l# _$ V+ X/ W

1 v; q8 x$ Q* E5 B6 g) w! Y0 [选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。5 r: Z3 h4 [  d  r; |
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。4 K, X, [- c- _! D/ z9 l4 t
可能会陷入局部极小值。
0 L$ b3 j$ y3 z/ v1 L6 A其它优化算法
7 M: B0 \8 J# o1 I$ c5 q; |具体我就不再详细介绍,其它优化器如下:
' |- W7 L6 A; U# y; V5 r# ?$ M) z3 _  T$ D3 p6 T
Momentum
) ~& w, e8 G$ b# l$ RNesterov Accelerated Gradient7 T' t9 R0 R# A4 z
Adagrad" O$ d$ K5 E  v3 b, p
AdaDelta
' `) }: c8 ~# rAdam
- ]$ U, s. F& ^+ K各个优化算法比较动态图, A% `; V3 Q  D2 m8 W) V& C
VeryCapture_20231129112215.gif
- w+ i2 J; r5 ?4 ~% ~) R! w, B+ c
2 \& T6 S8 X, u# n9 B% s
1 i% I, ^1 l# {- e9 |8 j% A( U
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-17 01:21 , Processed in 0.642786 second(s), 54 queries .

回顶部