QQ登录

只需要一步,快速开始

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

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

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

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
% ?  P6 b" P& G) k# p
, @+ Y# C! w8 A梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
. V5 O5 j2 D; {4 X  r, O
- n* R% `. U) g  T1 E优点:
, ~! g7 _% L- g8 r+ A2 i% j. Y$ w: c1 A6 [; O( h; C5 b
容易计算。
4 e6 o5 U8 z: k易于实施。
7 K. z3 p( J" Q+ u7 L容易理解。, o5 ?7 s. h2 p6 x- q
缺点:
" N! e! U; V/ L. }# m5 L
  X# K0 K; d$ R1 w$ e# w  L可能陷入局部最小值。
1 b! l  y: s9 [0 `* M$ K/ R在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
; r1 F* H8 T% p, F需要大内存来计算整个数据集的梯度4 v6 I6 T  R$ I$ o
随机梯度下降
) n& H6 c- o8 |* ~# B* x它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。( G4 u! u$ Q5 L, U
6 n7 \  }) V" @* B+ A. R. T
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本
' g% Z5 H8 y3 [9 y
8 M& w" `5 M3 U' g由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。  O  n. F1 b& U5 s

3 H4 z( l! H7 a7 w$ ~6 X- s优点:
. F/ y. E) O& l  z3 K+ y7 `+ i
2 B9 ?: X  ~$ M* A因此,频繁更新模型参数可以在更短的时间内收敛。" |5 y: ?0 [) A1 h! t* F
需要更少的内存,因为不需要存储损失函数的值。
! u, a( s8 P$ }$ g  g6 M可能会得到新的最小值。; y% u. s) w" c/ J
缺点:: r1 [+ `% z6 ~7 w$ C$ K/ s

. F8 n/ ]( @/ V* q8 s, C模型参数的高方差。6 k# I0 B0 S' a/ B
即使在达到全局最小值后也可能射击。6 v4 g4 W2 q" R8 r( L
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。2 J) Y( H; k+ }" P2 x
小批量梯度下降# a" {$ d; q' h* x% N& g: D+ \
它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
- A8 D/ H2 h* B2 S) {, t
, r5 O$ ]8 x* o! j' q/ U: z# @θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
! G2 T- x* g8 I% X) a; a
% v& H# A1 T# M2 W, V优点:
1 Z, O4 h$ y! M7 G( d- `. v3 X5 \+ X4 t; F: c  i4 V6 e' w% x
经常更新模型参数并且方差也较小。$ g9 x) @* n6 K- [* V" o) `, v; R
需要中等的内存- A9 V7 U$ P% o, m. e
所有类型的梯度下降都有一些挑战:- h% ~* e1 ^3 _8 B7 [& _4 V

# p; o$ d2 F) w' M选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。" i% [) y  b# x. E: `
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
8 k- u: R+ C( o! L可能会陷入局部极小值。" E( i! ~" Z% S, l
其它优化算法+ `% }5 Q! H* }8 h" f0 b' p
具体我就不再详细介绍,其它优化器如下:
6 o) D  P8 ^' [: z# D. L3 [% w* s/ l$ Y& G( ?
Momentum
$ Y3 S3 C1 s3 RNesterov Accelerated Gradient
' ?# s/ k) s7 a3 ~' f$ o4 AAdagrad+ K! O7 x, P9 t& i) x8 |  o
AdaDelta
) y6 r0 L  X* mAdam
* l/ u8 _- Y7 l! o. J各个优化算法比较动态图
  `& c) Z: ^* k VeryCapture_20231129112215.gif
1 ~) b2 ^$ C4 v, {' h& e1 L& f; v, A  i% f" Z: I6 F, U9 ?

+ `1 t3 V: R+ ]  _1 `" D$ _
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:18 , Processed in 0.429496 second(s), 54 queries .

回顶部