QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
  B0 f. s: S5 V2 P/ H- q
; Z: }/ Q$ s* d, L# U' G梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
  z% Q8 x# k' j1 R' q5 @3 O' ^; T. u9 ^/ ~8 p2 ~6 o% m$ h
优点:
; K2 B2 {* p1 j0 C! U3 Z
: ~# L4 m. b3 K; ^5 x, D" c8 C9 G容易计算。6 g" G8 R" w7 e  `; O
易于实施。
9 }) \9 P4 [) i; a, L容易理解。
8 Y4 ^3 A  g, I) [" R9 N3 l0 e缺点:
0 }/ H2 h* t$ N# ]2 _/ s3 N" F# `
$ `1 J7 c  s% s: {可能陷入局部最小值。. M8 F4 G1 t! G* f5 Z% O) U  h
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
6 g1 q  W2 t+ |* C; v/ w需要大内存来计算整个数据集的梯度
9 q  C4 P0 m$ x5 J) I2 V随机梯度下降; c. u' }( c; g/ j% w$ u$ _& W5 O
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
' \% }1 m$ j1 \2 Y2 j3 x
* ], k6 N( h  P, G4 [θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本8 g" k2 U- M8 G( z
0 B5 |" L6 q4 S4 _9 X: f* E6 H
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
5 _8 s) K5 P! v' e6 E$ D! q! r- R- h+ b
优点:5 f, K% c9 x7 N

: P; A! r4 `/ l0 P因此,频繁更新模型参数可以在更短的时间内收敛。
9 q, m4 |! t! V+ o0 B  m需要更少的内存,因为不需要存储损失函数的值。
1 }. c( I3 T/ t0 f5 n" C可能会得到新的最小值。
) I* k! S( D2 r; U7 J缺点:
, R$ O/ d/ {% ?( \
  p2 \2 j5 }9 r& @模型参数的高方差。
. ?% Q2 u/ E# ?1 c; _0 G5 h/ Z即使在达到全局最小值后也可能射击。
7 d1 M2 P0 U7 l# v. E要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。
6 [' D: w8 x% p2 ]小批量梯度下降
  K8 D# O0 |: |3 u/ Z它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。9 T( b, F% c; U" h
& _/ e3 H" {9 p+ Q" x
θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
' e' B' W$ G# ~" w
: d# [4 p+ E: m; {# d. @, Y优点:" r( K/ a9 c; ?0 i2 V7 P! `* O1 t- \
. }/ e1 A6 H4 n' H
经常更新模型参数并且方差也较小。9 j+ s) C/ _2 ~4 B- {
需要中等的内存
6 N- }) T2 s) s+ ~7 J: ~4 h* B所有类型的梯度下降都有一些挑战:- Z" p% w% S" Q
6 `' U4 G  K% l; F0 l
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
) B) M8 {5 G7 X  W: D对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
& ?! N0 ~  d3 U' y' f可能会陷入局部极小值。. F' ^4 o# u: q% n3 P
其它优化算法
, T* e0 ~! ~8 k1 {具体我就不再详细介绍,其它优化器如下:9 V4 u5 C6 b- ^; b3 j$ ?1 r

* B8 _- W2 ?1 n5 x, T; JMomentum0 y4 f7 L( A$ d3 y2 j
Nesterov Accelerated Gradient
7 |* ^3 p) ]0 v8 r1 eAdagrad8 e1 u7 U/ k7 ~& S2 M: g
AdaDelta) D6 T' O2 r; B$ b( F7 U% d( G8 H
Adam
8 j2 O' p+ U% \* ?. I各个优化算法比较动态图
  S1 D7 ]! s% L( Q, K VeryCapture_20231129112215.gif % v3 u& B/ |, f, O. @( w

7 c) t1 n, w0 v4 S% V( h- M/ Y8 q( [6 A4 I
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-16 21:17 , Processed in 0.511311 second(s), 53 queries .

回顶部