QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2922

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
4 e* w* I, V' U! d
1 A- N2 n8 S  U$ s$ \, ~梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
4 y# t. V( j9 z* L7 i
/ B3 D3 \6 d8 Q7 I9 B% [8 P优点:' N# j( \- l( H
! W: t. R8 Z/ |$ c5 k3 D
容易计算。
, M1 y5 Z1 o6 I& [易于实施。
% p4 W9 b- J' h5 a$ i" S容易理解。
8 n0 O" z9 |6 ?: W缺点:9 K+ j7 k1 ^1 T! c1 @
+ m5 _& o) g6 T8 F0 B4 e
可能陷入局部最小值。
, g, h' C  r" Z在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。$ r) P/ ^) n% V* g
需要大内存来计算整个数据集的梯度5 J$ T" z" G& A' @; D7 C" u* v; j
随机梯度下降9 S- d+ q( z& x* g' E
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。3 q2 W% q7 H$ w, H* x+ V1 Q+ S, z# x

- Z& J+ B7 ]3 L" h, j/ bθ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本
' r# c( h7 q- S1 Z) b, c, v
: x0 |. k! c' U由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
) f8 z! U% v1 Z% }5 \4 b
( a. Q7 t7 g  A. i优点:" q$ B& Q3 _$ B
$ d9 o4 W- L+ v7 g8 h* q
因此,频繁更新模型参数可以在更短的时间内收敛。
: _9 Z% C) Z+ D# L5 w) f) }+ Y# C需要更少的内存,因为不需要存储损失函数的值。
# K% m" ]1 d: s8 d  {可能会得到新的最小值。$ \2 z4 j3 E0 L& v2 S
缺点:8 v) O) A0 b; v$ @: v5 N
0 \2 F, `# s( c: r7 r
模型参数的高方差。  g  g& @  d9 V
即使在达到全局最小值后也可能射击。- k3 j. t5 b8 U9 {4 Z
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。/ I! D! }( S  J/ b
小批量梯度下降
( b8 `( [" N+ l& _% Z( e它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。# I$ _$ I: N- i0 M

, k, H% Y1 |! h3 F7 d8 l9 eθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
- m- ]/ k7 z  d9 k+ h: w' I
( U, Y6 ?2 ~  G. R' z优点:. u$ U( f7 q; M$ a/ F  C- f0 E* q+ g1 X
/ p. x* g( `; w2 T8 m* _
经常更新模型参数并且方差也较小。
) n, q4 B8 }( Y  D4 i需要中等的内存
# J9 f! Q, Y1 L8 ?  k7 s- d( e2 P7 o所有类型的梯度下降都有一些挑战:
9 o7 x, V' _, \' Z
& K& ?( A1 v+ a选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
2 b* a7 m3 u0 L: h6 t" ^对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。  @: I) h7 {$ B/ T
可能会陷入局部极小值。; T) g, h/ N& J8 N# l3 d) H
其它优化算法
* o& a3 B8 p* J具体我就不再详细介绍,其它优化器如下:+ U/ o5 |' h3 B1 T1 H7 e! d" P

1 f* K$ D5 t7 N6 F0 m: s, ?5 WMomentum
% v: a5 G! r/ L2 m& INesterov Accelerated Gradient
5 R* P' j' `- Z2 SAdagrad
9 F+ A7 b- ^' i0 VAdaDelta! h# }0 ?8 h4 T: i* E% L
Adam
  X5 c9 ?8 j$ n. G2 K( p* i各个优化算法比较动态图
$ g8 j5 Y/ Q$ G0 H& x4 x VeryCapture_20231129112215.gif
( q5 M6 F; d$ f: u4 B, c7 c. q0 P; i/ n# A, F
' ^. x- n' |8 F
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-10 11:52 , Processed in 0.981556 second(s), 53 queries .

回顶部