QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
/ T8 X6 n6 s* k& z9 C! u) z. l, P1 [8 k' g# `' l! C" ~
梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。* x/ r. p5 W9 Z( _

+ h, ]; f( G) M. c. N优点:! H) W+ Y* ]' G) L3 \- T( R7 E
/ n7 J. u( h' c7 t! }
容易计算。. B6 n! y. w" f( h  i9 e) u
易于实施。* w1 L% @8 C. d
容易理解。/ k/ \" f0 D# y  w
缺点:
, U, D9 G- z5 B* ?9 v" A* t8 s3 t( l
可能陷入局部最小值。3 @9 _2 ?: e$ @- \, n
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。% S7 o2 Q3 R) `: F
需要大内存来计算整个数据集的梯度
' u6 n& J4 ]% {$ f  B+ [4 f6 ~3 u: V随机梯度下降# v4 n# T7 x7 X# p' G
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
0 c; z4 F' l9 q) T
' t+ O0 \* H2 K) Jθ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本% o; k0 z2 O$ E8 z; w
/ B. z. {' E# `4 f
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
  X$ D2 P5 H8 g" x! y7 [! B) L+ N
- d, K" j; Z' c, C; m5 r( d2 F优点:. ^8 V+ _7 r4 C) x, W2 F

1 C3 Z( a& a" B  r2 X5 A因此,频繁更新模型参数可以在更短的时间内收敛。
9 S' P: w( G4 o# ~需要更少的内存,因为不需要存储损失函数的值。
% q  |7 @8 `0 |: X+ H* G! ^可能会得到新的最小值。' d. Q' r" U# i/ \7 z& s# @2 a
缺点:
0 @- w* `0 W7 I2 Q* g
( U8 O% J6 d* v6 r模型参数的高方差。
: O: u7 C2 Y- ?3 y5 P  g即使在达到全局最小值后也可能射击。0 j0 U! ~6 a4 z! W" G( Q
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。8 g. [! S# Z+ o' q6 J1 a5 A
小批量梯度下降
7 T; J" M3 B1 g0 n它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
4 Z6 I' Y6 \2 N2 x' A/ T
) D. u- N% z; _- i% O$ G- D1 gθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。8 v' ]5 s. n7 }- G8 t; G% j

, @4 a/ p( Z. u# z. \优点:
* A* c' `/ d! s2 Z2 ]6 k8 K/ D2 M% C5 _% `% ]+ N, v/ h
经常更新模型参数并且方差也较小。
. l; p( `4 e) E+ R需要中等的内存
+ }6 V* l& m6 B所有类型的梯度下降都有一些挑战:" [0 W0 A0 z+ c3 q% m

% K0 b  z0 @- D: L. V6 p& N3 a9 [选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。: z; V- b$ ^' A$ j1 k) i# z7 r
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。1 I  M* D4 F, |( k  `  ]! L
可能会陷入局部极小值。  o9 X& m/ M7 w* y. U& n
其它优化算法
4 `4 Z6 s0 k9 [' ?% H7 ]: E+ Q具体我就不再详细介绍,其它优化器如下:/ n5 S) {0 L8 J1 ]0 i: [5 h

& t2 N( W5 a7 f5 d+ G3 BMomentum/ [! J) h( S% b3 o6 ?. q6 _
Nesterov Accelerated Gradient
, V; B4 c, g0 E- L- Q( I: E* zAdagrad
$ A, N3 x& M. p3 c9 t& H' xAdaDelta( k% O% W2 C" |& |6 i
Adam1 O- }' h9 q( M6 t
各个优化算法比较动态图
) b+ P5 z* H9 k. L( ^# k VeryCapture_20231129112215.gif 7 v; t  n+ K& ?* c

, |7 H- l% [/ Z6 m8 w  s: n/ R. Q0 K
  _1 C/ w. Q, e: G. g8 [0 h- `  i5 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-6-18 09:16 , Processed in 0.433350 second(s), 53 queries .

回顶部