QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
! ~5 n8 u& m+ k  Z: r& s: B0 b
. Q; V$ U9 p. q. }! d! h- a. v& F: [7 t梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
4 C* {5 E: u0 f7 B, T  F7 k& ~2 x6 Y
优点:
: H" K' _- M# H& |; H) ~! M. [( B# W; L
容易计算。
" @0 {* a) F2 B, b, L6 e0 n易于实施。
4 e; V0 p# ]/ P4 b8 J. N! ?容易理解。
0 P) ?1 W% [! k7 d缺点:
; D% |$ t  `. p' H; e) \
9 y( }  e: u/ V& N( a1 O, B可能陷入局部最小值。
/ r% n" _) }" f4 Z在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
9 I+ X# L0 v* d) n% z+ i" J* J! k需要大内存来计算整个数据集的梯度  ]. g# x7 l2 R
随机梯度下降
2 C3 ~' X2 T  k它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
- o; x1 G, r9 W; O, {
0 f; y- T" B0 ]- L8 c* Tθ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本( A% K) o* }, R
: M' d; ]7 T7 @4 G# r0 s5 Y( }
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
+ i2 m+ V' Y; ^+ s) G
/ {- Z* E5 Q* Q- [2 W优点:
2 L" Z& K$ w+ O3 o/ m) f5 Y4 q
6 z/ u4 s# S/ T+ O; u; I& w因此,频繁更新模型参数可以在更短的时间内收敛。! N  f' o6 G" x, [4 ~! y* K
需要更少的内存,因为不需要存储损失函数的值。
& w$ X0 N8 p1 S' R/ t可能会得到新的最小值。
, i7 c6 ~; `3 U3 d缺点:
* G( K! q% z4 b9 }! B
1 Z, n) A; @+ c/ V' p* j8 @5 n模型参数的高方差。. x' v$ F% o% c6 Z6 p3 E
即使在达到全局最小值后也可能射击。
  y$ B; _" e& I8 u" b# d9 r+ P要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。" [  ^/ y/ ?* U; o; l. v. z5 k
小批量梯度下降
# W7 O3 d# w4 R1 I, S它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。9 o! ~  O' P( n4 O# m, E( ^* w

/ P& u( s/ F- V, {- ^. z( p5 [θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。* W! ^# b' i1 D
- G0 N+ g  q7 k6 X/ R( j: b; s( \) g
优点:3 S5 i; t' d5 l8 Z+ z( V
. C# u$ S: n  w
经常更新模型参数并且方差也较小。3 N. r% P( D5 j
需要中等的内存" q$ K; {, C" Z# T$ L
所有类型的梯度下降都有一些挑战:( ^. P4 |$ i5 Y* F; S+ M: K1 M

$ M5 R9 R5 A1 b2 F选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。: v: ~3 E) t. @$ [/ l# c! _0 }
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。" k4 G: G  Z6 N% D4 ~8 ]" Y0 C$ N# ~
可能会陷入局部极小值。
, O' ^9 m. r! E( {- E1 R其它优化算法0 C% s4 p! v6 x5 Y
具体我就不再详细介绍,其它优化器如下:8 c! M1 A5 m1 e4 p" t! D; Z% w

! N+ g8 R, W, {Momentum# Z/ i8 e2 f: m8 @& N, S
Nesterov Accelerated Gradient& R7 L1 i0 B1 p2 w
Adagrad$ M! F4 @' p  O' S
AdaDelta
( r- [! h1 ]$ D8 j  UAdam! E$ R4 x+ T6 g: x0 n
各个优化算法比较动态图
. \/ h2 g/ j  i6 N/ Z$ Y) g VeryCapture_20231129112215.gif
/ B8 O4 z# ^! {  [* N. X' n8 J  V( C3 ?: o/ o" M8 q0 k- v; G5 W
9 W4 ]5 m, `; f* T
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 18:21 , Processed in 0.400949 second(s), 54 queries .

回顶部