QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
$ v8 g4 o  q0 u: h, s/ Q# I9 g
/ e* q- K- `( U  h; B% a- c梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
9 z5 t3 H8 C) p, V5 `
' W8 ~1 s! F$ M, d  Z' Z% e* R2 ?优点:
( M" c! y( s1 f- c3 c+ C7 ?" }/ l1 @2 _( X
容易计算。, S/ j1 D7 F  C
易于实施。
8 S- Y0 c* Q  e容易理解。9 k5 z, l; O0 f! l
缺点:: g. M8 B) o0 D+ l( c

1 O4 P5 ]1 h' n) _; m0 ~3 v( B  d可能陷入局部最小值。$ q  K$ l: q. l$ ^6 G
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。; i2 F9 Y. l: P. [0 I7 `
需要大内存来计算整个数据集的梯度5 C" p- |* S, C1 h: ?  V# p
随机梯度下降
3 f7 ?6 h4 Z$ }" K' G2 j3 v' J它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。2 F6 D! n, [' P5 i

& _0 j( A4 W* M9 y7 v, M! Jθ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本& Y$ o$ L1 s; J$ x

8 r* C9 h5 v8 J6 R" B由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
) \7 c7 e  G" n, A; ^) ]+ ]0 o8 m* a0 E0 I. Y1 _* N% y3 S
优点:
; \9 K) C( b0 K9 q4 C# J% j
' v' _+ A# \2 M! ~因此,频繁更新模型参数可以在更短的时间内收敛。
" ~' o5 _$ N9 |需要更少的内存,因为不需要存储损失函数的值。
) f+ C: I$ u" U. w% r可能会得到新的最小值。8 [) `- f& G4 O. T% I
缺点:
2 ~' Y) o' v, m$ s
7 t7 s2 A  p% C模型参数的高方差。0 Y/ u# S2 q/ M! Y- R
即使在达到全局最小值后也可能射击。6 l0 ]9 F! x# _' B
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。
6 q: D5 t" P9 X+ F5 S小批量梯度下降" o1 x( h# Z6 [
它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
/ R/ {6 O7 f: M+ r" Q9 O: |
. L* I0 g5 @3 d4 y" rθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。2 P# i; ?% D9 s, M

  n5 ?7 V+ i8 W' U' k+ m优点:
/ O( M% f6 X! C5 l; e, z9 e8 z0 T- T
经常更新模型参数并且方差也较小。
  S2 q1 j$ E* v  {, D& ^5 s需要中等的内存
% c# N" O, K2 p/ I9 W/ u所有类型的梯度下降都有一些挑战:& s: o8 b% B/ ^: ~* V
7 g. d2 f  d& H0 ?; ]
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
& o0 R$ L4 M5 U3 E  c8 @对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。. a( z3 c6 i  v( w, r
可能会陷入局部极小值。7 ]' I' c4 `0 i+ o0 i4 x' O5 E" l
其它优化算法
% c: N/ g7 T; S. q3 t- [- Q具体我就不再详细介绍,其它优化器如下:
& L; j: L, N& H6 r  q. S7 T
: u% {! K8 i( C) B: B" j) m1 TMomentum; U5 v) X% U) S" X
Nesterov Accelerated Gradient2 Y  z- z3 m4 l; B. [
Adagrad7 A8 b" i; c7 u# }
AdaDelta
- ^3 s) U, o' }) EAdam
" [9 q3 V) H8 _3 p各个优化算法比较动态图
6 Q% x8 a8 g  Q# P  P) _/ G VeryCapture_20231129112215.gif
! E/ n: _  x. F! ~
9 k7 H+ n8 s& J& l2 @3 _3 d) `6 E6 r
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-18 11:13 , Processed in 0.380820 second(s), 54 queries .

回顶部