QQ登录

只需要一步,快速开始

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

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

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

1171

主题

4

听众

2749

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。/ i4 w1 X. z  ]! c

( N$ r- d  B$ v, X4 i梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
$ y0 [. s9 _. G, j6 q! R3 i
0 {  S# |5 o# r; b; N3 b+ \& H优点:
- s& K) Q  t- S+ P5 H2 w: p) Z, E3 y0 \3 m' x6 Q5 b; W
容易计算。4 z- U$ k1 r3 L5 h7 m
易于实施。
4 @! {8 Q2 m2 E, O! z9 E容易理解。2 J% {8 k9 f/ ^
缺点:
! F& v+ o5 b" p; j( Y
6 B, @' O9 y$ L: ?可能陷入局部最小值。# A- X1 e4 g8 J: z, Y
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。8 Y% B# J# ^) i9 y7 c
需要大内存来计算整个数据集的梯度
. z- z5 C) F9 X3 z' X随机梯度下降0 U/ H4 H. f0 ?
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。$ F0 @* Q7 r; h& z; M* n% P5 U

# D4 u3 y1 B) l0 Hθ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本
" g! r* X8 J0 \; b# B% ^, k+ b: E& A+ y6 O1 ^8 H8 ~5 L
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。6 N6 }' E8 U* |7 {- e

% t' U; F# D) W- w/ W3 A优点:
. D( k8 S2 G' B+ Z" Y
. K1 b- b. w$ f因此,频繁更新模型参数可以在更短的时间内收敛。
5 d, v+ \* h( W( S# O( u/ t5 |3 J需要更少的内存,因为不需要存储损失函数的值。: b7 W) z; a6 g* K7 `7 x
可能会得到新的最小值。* f# H, ]7 f8 w* v* g6 [, r
缺点:
" o& F+ P! b- P& n1 @' A
+ R. ?( J) ]% f1 f# ~* ~/ G模型参数的高方差。
( x6 {% O9 b' ]8 s! U) G- H/ e即使在达到全局最小值后也可能射击。
, X8 X# s& A' K3 r) }/ w要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。
# T. w' Z, ^- y/ w5 l6 n9 R* O7 I小批量梯度下降
( q. S, ~' K/ G1 V2 f它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
/ [8 i* Z5 D, t/ o  f% F% n6 a. \# Q0 m% z5 S
θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
& ^/ Q2 ^) T0 j0 T' S' q8 y1 q8 E. @/ ?5 v
优点:
8 Q# ]5 {/ M+ g% u0 `' K; {6 i5 }/ d2 n+ f+ O0 i8 t
经常更新模型参数并且方差也较小。3 Z; Y0 f2 ~, [. Q# c
需要中等的内存, [% Y( h0 t* V, @+ C; A, M
所有类型的梯度下降都有一些挑战:
+ g* A  A6 ^8 f+ T! e9 p' H  D3 R+ y. E
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
: T' s# n& G. U; Y5 k对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。0 ?" D" D, n: }- V1 e
可能会陷入局部极小值。
& d0 u) V% I4 R8 V4 X6 e5 F; C其它优化算法
5 c) w& L& {2 a; l具体我就不再详细介绍,其它优化器如下:- i$ \: Y: \5 ^9 e; O* {
0 O: x' B% g5 @  I
Momentum8 |* s+ I2 e$ w6 o4 t( q' v+ S
Nesterov Accelerated Gradient
0 O3 u" ~% |, a. d( rAdagrad) X3 M% Y) h, V2 z+ B
AdaDelta# L7 v1 \3 q/ P% Q
Adam
7 B, Z' R! l- s各个优化算法比较动态图
3 m7 G1 ?: v  y/ U' S1 M VeryCapture_20231129112215.gif
! e% ~% I* b$ ?/ s2 |/ z6 q
4 w% X7 f7 ]2 H  c1 Z4 z
- G4 Y/ w# }7 Q* W3 S
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, 2025-5-11 20:15 , Processed in 0.387926 second(s), 54 queries .

回顶部