QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |正序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
4 v$ s' O7 o! [$ L+ Y- e1 P2 W6 z2 U2 L, a- T, r
梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
' ^( Y- _: S/ J* U7 P3 C+ |* U% X% U7 R, c$ d" Q3 `! g+ B. I: {
优点:4 g) j9 i4 J# P
1 f" P& t6 W5 v- x+ G' c. J
容易计算。* {. f! n! d: `  ^* _+ x+ o
易于实施。* f" y9 P8 R- p2 T% A$ A+ _
容易理解。
- ~+ f# O& |0 R& _缺点:
* x7 ~) G4 j. H# Z9 i8 \1 w! r& j* j  N% e* g: C
可能陷入局部最小值。! ?$ ?9 d  p  m2 E
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。6 ^! `/ u3 v' q6 @: [
需要大内存来计算整个数据集的梯度* q, m% n3 G& {' G8 S" m
随机梯度下降
1 @0 @$ Z7 \6 k; o0 P( g* ]它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。; {" G7 O9 |, S$ G$ i) v
3 [8 \  }5 f8 H, W
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本
8 w5 m3 \  a) C7 L& o" H8 o6 I/ ~3 I% I1 w  ^6 t
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
% s. q  E4 z) w- m+ O0 G% \) H3 E4 G: f7 h
! k6 H' [7 Y# f9 u# Q" |9 W) w优点:' D  X: w* T1 M; K  u8 Y) |
+ J6 }( {; N# g
因此,频繁更新模型参数可以在更短的时间内收敛。
" A+ U: O2 _/ q- T需要更少的内存,因为不需要存储损失函数的值。
' Z: y! k0 p  V. @  b4 F! K4 ~; g5 e可能会得到新的最小值。
; X' ^. s4 T5 f% D! X缺点:+ l  z6 N% R8 j' L
  D0 P+ Q+ f) ~+ R
模型参数的高方差。
: T" y- q9 V2 [  a3 j/ ]5 i! j9 m即使在达到全局最小值后也可能射击。8 t, L5 ]" w/ P3 r, {- t% w
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。
0 X5 B4 G5 z+ z0 ]小批量梯度下降
" h  J9 c# x4 w: c9 s- c# t它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
; Z% c% }# F% L7 A8 t$ x  B' J- m% @. f/ b! u
θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。; N: ^1 c: m: F% |

) [) B. x$ [  q* [( m优点:
! E; H, t' E! t  ~5 U, y4 E+ d' v0 {* e: q
经常更新模型参数并且方差也较小。4 a. j* q, G) l( J
需要中等的内存
  Y) h) W8 H: `3 D# F+ C( u所有类型的梯度下降都有一些挑战:
2 g- b+ g  q: ]1 a" `4 O6 D. J2 L5 z/ ~' i! l) f
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
" R& {% G, C$ ~+ X6 [' g9 m对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
( d- D! T/ v" D) F! a4 L可能会陷入局部极小值。& S3 q6 ^" ]5 I" W
其它优化算法
6 x  b, V" j8 [1 V+ G& b& }. ?具体我就不再详细介绍,其它优化器如下:$ y& T" w) y( M! {3 ]  B

! l1 g" v, p- O7 z9 @3 @) z1 Q& ZMomentum
5 E% [4 v5 x; oNesterov Accelerated Gradient
& v2 o) Y7 w) Q! o; n5 l2 @Adagrad
4 }! C) G8 f& ^7 P% O8 ZAdaDelta
& v; U  k& r, tAdam+ d/ l4 s, z- b- S" V
各个优化算法比较动态图# B$ ~; O% w; |* V. m! k6 S
VeryCapture_20231129112215.gif
. ~/ f; a2 S1 {2 L2 d  {. D: ~3 x: E8 U2 i; s8 M

# c9 J7 z8 C) L
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-6-17 03:26 , Processed in 0.357927 second(s), 54 queries .

回顶部