QQ登录

只需要一步,快速开始

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

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

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

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。" t, E% Q6 k( G( ~; w/ D

6 P, B- C/ x8 Z' k6 C3 T  z2 p6 p梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。( ^6 N# O$ v7 L5 l9 P
& A+ n5 z" u5 l. j& ?
优点:
4 w8 A) K' N4 v2 @# W& B2 W
9 x9 _$ @( ?! y, d" s/ Q2 l容易计算。
$ B7 B6 z+ d5 {8 V易于实施。5 b+ Y4 Y# Q! j/ I% c" Y/ h
容易理解。
$ I9 ^6 T6 F$ u- q/ Q1 H缺点:: k) `1 e& z0 V! `$ W

0 ~, q4 G4 v; m, E9 N2 q# }. @' o可能陷入局部最小值。$ L, _$ B& D2 R0 k4 r1 N3 W" Q" c" C
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
/ e9 i7 Y  R: v0 Q& J$ T需要大内存来计算整个数据集的梯度' e6 G6 ^6 L) ?
随机梯度下降* U' i/ B, \. O7 T6 l1 D6 ~5 v- L
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。4 O& I* U+ E% W, f9 i5 B+ z  i( S

7 D7 ?  I9 H/ E! ]! Y2 g7 l9 {5 uθ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本
, V5 U4 u( T9 i% I; x* M! I8 P0 Q/ @
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
5 E! [' N+ m! \6 s/ d, g7 M3 _9 U3 `8 Y2 P; \& n# ~, V
优点:
& B2 E, G1 l; E! R, V+ q1 ~. ?2 G% j2 r9 u- ~4 Q
因此,频繁更新模型参数可以在更短的时间内收敛。! z, E0 @; ^. b2 C" U
需要更少的内存,因为不需要存储损失函数的值。6 S6 H. z5 F- ]& b6 {" }" m
可能会得到新的最小值。0 J4 F: U4 |! {
缺点:
/ t: Q; t8 x+ o$ ?* |! p/ ]$ f% A7 B+ h) m2 C, ]7 U# ^
模型参数的高方差。6 \5 m9 W; L! a" x; N8 c* D
即使在达到全局最小值后也可能射击。, L' m) V) r- d4 G% \
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。
; _: n! P$ n! H" W" ?# i9 v小批量梯度下降
; A: ?7 G: t, U. C5 I" q0 D它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。" ^0 e' w1 z" [, C( s6 z

6 w2 m" [3 n) D$ o0 j1 [6 ?2 Dθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。, Q6 Q7 t7 E6 I6 h
3 c% r' Y6 f, |2 U4 S  z
优点:% g' M% o9 a) [# ~9 u. \0 k

" C" T; C; j! j0 ?+ B8 ?经常更新模型参数并且方差也较小。1 [1 o2 g# m; f, U  I2 g
需要中等的内存: C2 B2 l( o) t0 ?7 @0 ?2 F
所有类型的梯度下降都有一些挑战:$ V( O+ E" P+ O# ], z6 y
; |4 M" B& y6 D: W, A; Y% S  H: k# u
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
" f7 R8 g* B  G- ~" M对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
3 R+ v. K$ s& b可能会陷入局部极小值。
4 |2 i* Q) y' ~. I: o其它优化算法
& t2 P. |2 g) C, |# r7 _8 X! R, ~具体我就不再详细介绍,其它优化器如下:& T7 Q' \& `3 r) c/ s. d. j4 G+ I

5 a  U. T4 s0 t, z% QMomentum
4 T4 b- ^1 p6 a8 J& dNesterov Accelerated Gradient
% }  j; C" C; V) z, t4 K+ kAdagrad
' b& b/ {2 c; H/ e* [$ sAdaDelta
: e8 O' H; r) vAdam5 v; T' i% F; u! p; ?5 F3 B
各个优化算法比较动态图
# W5 ]3 \; g/ W3 ]) d+ ?4 Q% q VeryCapture_20231129112215.gif ! |! b* D' t: x% d
$ W  ?. ~7 _. ]& t' K! T
* \) |9 S, y" {1 b
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-8-26 04:52 , Processed in 0.377049 second(s), 54 queries .

回顶部