QQ登录

只需要一步,快速开始

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

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

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

1198

主题

4

听众

2978

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。6 I( v' {+ Y& T! O

/ E( P* u0 z2 I0 e. u梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
$ c( q3 P3 k3 n5 V( o, Q
' l# v3 @# i* w; j+ B# h优点:
  S: t$ L8 _# Q4 b
) Q  b9 I. f8 y8 p) a) Q( v容易计算。
& Z9 s& h  i, x' H4 g: q3 Q$ V易于实施。
4 x" @6 ^% L: D, K4 f容易理解。
" f8 d8 a# z9 Z' k( S缺点:
* c" S! P* I3 g
0 d. Z4 D% B  K4 D# ~; |可能陷入局部最小值。+ h' ^1 L) }' A5 X/ O3 _
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
5 a# Q  n; |1 F8 R: Z3 T  ^需要大内存来计算整个数据集的梯度1 ^6 |* m3 _( z$ `4 ^8 V" N
随机梯度下降3 a' }% F( l8 f; g: O, f8 N( A$ l* I
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。1 v/ |) w3 [$ R
3 h3 J" `+ n8 [4 G
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本# g/ n! ~$ ?- ?$ s/ W) d/ }6 x
' q/ u4 a  J8 y' U
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
" A% a. L1 ~4 w) |! O  Q  }4 W9 X4 Q; z' E
优点:
4 n9 f1 _8 d" I- i! H2 V7 h# \
) V# H5 R$ L% X! z因此,频繁更新模型参数可以在更短的时间内收敛。
  s; h$ H9 h# ]; X6 C需要更少的内存,因为不需要存储损失函数的值。
* W2 {" v( F$ B5 C* F可能会得到新的最小值。; }0 G$ u# Q: f4 W7 ~
缺点:" |5 x; C7 m5 A0 u  C' K
: }  W- Q( T. W! f( j$ Z
模型参数的高方差。
3 W+ f) T# T% S9 ^! Q! V( k5 e/ S即使在达到全局最小值后也可能射击。
; z6 U6 l- u" h1 ~7 K5 L要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。! T5 J9 K! \1 I; u1 B6 z
小批量梯度下降  ^3 a) L2 f2 s4 r/ _  x, [
它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
5 d; g4 M5 x0 |" H4 Q
$ M7 ]6 o- a9 J0 pθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
" D( k: N8 M6 r  M2 }7 m
) F' K! r. D6 U) g. _5 g优点:: i1 f  c% u. {8 k# ]0 n/ Y+ [
" @; \' _, q( I
经常更新模型参数并且方差也较小。, t" ^( W/ C: f/ Y5 c2 ?9 O
需要中等的内存# q- b# e' w# \$ a9 j/ {
所有类型的梯度下降都有一些挑战:9 p- @  U) e, a% q- Y8 Z+ a3 v
" s$ o( V/ [0 i' C/ {$ m
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。: g& ~- {$ y, I
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。' \" s& L# F2 X: g* V; Z
可能会陷入局部极小值。
3 j4 N+ U) S! d/ X" x: Q其它优化算法8 }& |9 T* v7 o9 M* A
具体我就不再详细介绍,其它优化器如下:
" h4 i7 g# E+ N/ P8 l; O, \& ]% e! d9 V1 u0 C
Momentum' d8 O1 u  f. _- o* }
Nesterov Accelerated Gradient; I: Z4 p! L+ v) @" `, O, Y
Adagrad
1 T1 F, E' j8 ^$ v3 y, S7 aAdaDelta
! c, U. x/ b! bAdam! L' s, i3 S4 \% _7 p
各个优化算法比较动态图. a# j; ^- A6 l/ Q) S9 J% M8 n
VeryCapture_20231129112215.gif * p$ f: ^; @' S- e) y

6 S! N0 b% t. ~7 P) i0 @/ v% a4 v, Y
, ?. q4 L  P# u: v& z0 Z
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-10-14 05:37 , Processed in 0.395510 second(s), 54 queries .

回顶部