QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2922

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。  @  }, D3 z8 E
' K. [: k  U& ^4 u6 {+ }
梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。4 d$ N9 i+ |4 ^' k2 a
/ c* J% l; K  }, u
优点:1 y6 x. [. z1 A' a( g1 g( i1 k
" c: a0 r8 r+ v* B
容易计算。) t. m8 }2 g) @+ T4 @
易于实施。
; f% Y! A. W6 [4 `容易理解。
. F& Z2 C5 a! r& l缺点:
, q# D( M1 @2 c6 [! u2 o! }* |  l2 R3 r) d% a/ F: c9 O
可能陷入局部最小值。
6 X" u3 r& t& ~' ^% j7 d; P8 O在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。) S; h8 L: E. B
需要大内存来计算整个数据集的梯度( h  M# b5 L# r) |1 J, S2 G
随机梯度下降
+ M* r" {% e( T2 b/ U它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
. y# R: z% a. o; _8 _! w
% c" j0 y  X& @θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本% @$ p. [3 d8 L8 r$ t! {7 ~

# t* H" C; `- l由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。# Y9 h' U4 v9 @% U1 z2 H% e

8 O& a" z" z1 s5 o优点:2 e0 E3 u9 f1 F

, r. P( t/ S; V0 ?) H# F5 E! m8 b6 a% H6 o因此,频繁更新模型参数可以在更短的时间内收敛。# M% p5 U) o1 E' \/ J( Z0 s; d
需要更少的内存,因为不需要存储损失函数的值。% E. N  `: p, @
可能会得到新的最小值。
& ?3 j4 p( J- L) _* Z8 c( @4 B缺点:
0 N$ B0 S: C: }: _5 r0 {% H( T9 t. u
模型参数的高方差。
9 L- O7 y6 ~- B( d& D. r/ x% O6 c即使在达到全局最小值后也可能射击。. N- N' p- E" L8 o$ L6 M
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。
6 \  g, t# C# e/ V: w, h小批量梯度下降
' f5 b0 @$ }1 `, {. e7 r它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。. W+ u$ ~9 b0 D8 t5 j/ w* n$ {

+ ?' a/ R; T0 a" W9 z, Wθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。# e7 i. L: ]8 t" ^* P6 R: h+ L

/ d( W  u8 \8 l5 _6 g3 V优点:  c% h8 m' [. K

+ G6 T+ a- R1 j# z0 p经常更新模型参数并且方差也较小。
+ ?$ p1 A, I; K- s需要中等的内存2 j# y, {& a$ A
所有类型的梯度下降都有一些挑战:  X# |' T7 ^  A4 d3 g2 Y
9 Y# b7 H3 g2 O- h$ J
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。" G; u6 X8 c' o5 `1 I) Q
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。+ D' M6 G) t# ^: F& u; C1 t- y
可能会陷入局部极小值。: N+ ?2 p( B2 k4 A2 U3 G7 n
其它优化算法4 ^- t& y0 J2 O
具体我就不再详细介绍,其它优化器如下:
" G! o' B# r6 @5 K0 Y  r( s% D' z- t  X7 H7 n' J( B+ G2 M
Momentum# N8 n6 ^3 e- V5 j
Nesterov Accelerated Gradient
7 D) a# m3 }/ W. m  Z3 y2 hAdagrad4 Z2 v9 q9 g- X2 `( b( ~9 g
AdaDelta, L2 s" q% p3 @: _$ b( e
Adam
6 ~0 [% Z8 W1 S- N" ?) A各个优化算法比较动态图" W7 V+ Q# |+ \" E( L
VeryCapture_20231129112215.gif
: [4 j/ P' Z, t. z! g
2 R5 g9 ?1 ~: l  E5 P! P8 k! ~
% ~1 c* l' B# U( M2 K+ z% 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-4-10 13:41 , Processed in 0.287388 second(s), 54 queries .

回顶部