QQ登录

只需要一步,快速开始

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

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

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

1184

主题

4

听众

2916

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。  Z% {' ~4 M# g$ Q  n! P

/ E/ D# A( t: _8 ^3 h梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
$ \2 Z6 D1 l: z" @! G( }: ^" U  q7 R- ]
优点:
9 B& R  T, @% k
( F" ]4 k) X5 K- x6 Y- P容易计算。
& j) @1 ?+ }4 v2 |" z& v: m4 y  O( ?( |* E易于实施。( q" u) s) U' L  J% V
容易理解。/ [. `8 N% T' d6 u$ }
缺点:
- s7 H( ~, e, Z3 P( E. ]% S+ U! ]+ e3 F9 v
可能陷入局部最小值。( k7 p9 P# \: N/ p( B* r6 V
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。8 t8 b% B5 F+ r, N
需要大内存来计算整个数据集的梯度! y- x; q! w( u) s
随机梯度下降3 M7 ~- h! T2 D, O2 |
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
% R+ p" U% |6 O7 p  W
( W; i' ]& l( Y) Wθ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本5 N" _5 X# G$ ]& I. A& Z6 S
. ~; y& O7 @' N
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
) M3 b- d* n$ B2 k4 W$ d. O1 W& S5 B- }' `: W, X# W4 Q5 b
优点:
9 R% @6 t/ `. k: \& \4 D% _
9 X! H- [2 m+ K因此,频繁更新模型参数可以在更短的时间内收敛。5 w( D( e8 b# V7 x5 O8 A
需要更少的内存,因为不需要存储损失函数的值。! X- A  A; o- z7 P2 H" Y
可能会得到新的最小值。
9 ~+ ]5 z" q3 w) P  a) I1 W缺点:
* r+ J9 a. B( ]" L- _' F: Z/ ]. }3 i6 z3 y- k
模型参数的高方差。
. M$ P8 ?3 s" L3 d  g! Q% Y  Z即使在达到全局最小值后也可能射击。
  H& ~# G% j0 M  Z要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。/ h9 T5 R/ g* p
小批量梯度下降' L" _' K% w$ B; P1 |! g$ ~6 s
它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
! B2 v, q( p, o  @6 P4 o7 p" }4 t, Q
θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。3 B) n8 \, {* t0 l- ?

# j& x* F4 D5 ^9 {/ F优点:7 L& G4 Y# B, p* |
6 n8 d+ V- M" F. d* i
经常更新模型参数并且方差也较小。6 f  Z8 I- h0 t* c7 r" f% u
需要中等的内存
1 _5 N  F1 h; s/ _0 a5 E7 v所有类型的梯度下降都有一些挑战:
. Y- s* c! q, K/ A4 q2 f0 J$ s% R6 J8 e
9 W1 b+ r0 @$ {! O+ s选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
3 |, d* u. S1 |4 J, C0 P对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
( f# k8 {+ g7 U( w! I/ \可能会陷入局部极小值。
+ Q8 `" Z% ~2 m) h" M其它优化算法
. O$ ~+ x; R4 ]具体我就不再详细介绍,其它优化器如下:$ g& |; @3 C, m

, D: J4 _% V+ [) E4 t) bMomentum' }# [! w) ^6 l) L
Nesterov Accelerated Gradient
* ?* A& p- h6 xAdagrad
# U: |- }7 W, z* q) J+ hAdaDelta
3 z0 g" }) D9 x  X( a  {& G/ Q) kAdam
, l0 S2 n! D) @$ ]0 ]各个优化算法比较动态图
8 h4 G' M9 v, [) z! X8 I- y' q VeryCapture_20231129112215.gif
$ b" ^% W/ F% X# |  d' E
% v6 S/ G/ ~1 U5 \( Q/ {# V( P( ]
% b% a, K: C6 D( f, `! x* A
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-12-28 16:58 , Processed in 0.632089 second(s), 53 queries .

回顶部