QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2922

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-11-29 11:37 |只看该作者 |正序浏览
|招呼Ta 关注Ta
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。! U2 p! }& {0 r1 o7 u( Y

( s; f. v& Q* K# r5 z! [梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。, @; e$ I* X9 y. L

6 e0 }1 @( M; }& e优点:
3 S; P/ c- ^3 [& g4 @, A' ]# Y) m# A) v( }
容易计算。
5 P4 ^" X6 ]0 o5 H7 F1 A易于实施。
5 i* S4 M' b7 m$ _容易理解。+ i* [1 k2 B  s! [5 Z9 b
缺点:
% i$ y" T2 c" I. Y7 g7 k
! ]4 b# C- d) X; k4 ^$ j可能陷入局部最小值。' x" N0 S9 z- B- W0 l1 p% E8 l8 F2 I" J
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。3 l, ]% M7 X* w1 ^
需要大内存来计算整个数据集的梯度
8 `) W2 g2 H* d随机梯度下降
' m1 g/ l' ?6 X8 E$ Z, W它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。7 G3 a  y  `( z, K; o9 H# c
1 m( j" b( T6 _) j
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本
) y8 u; C" ^; \) P  M- N5 x2 r1 s
. f2 {3 `! A1 B$ G3 t, i由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
% J( q  d0 l& ?. q# b, @+ `; V
优点:
6 F% V9 [6 e% P- l1 O) f" ~& o2 l, K/ J! l
因此,频繁更新模型参数可以在更短的时间内收敛。& |! b% Q3 ]& {" K
需要更少的内存,因为不需要存储损失函数的值。
9 C# [& g" g! w" R可能会得到新的最小值。9 e+ X, @1 i# S
缺点:
. m( ^  u& A# D: `. G' Y
/ ~' n9 T* a2 K  I% P' e# S: w模型参数的高方差。
, {; g) s4 @7 w- Q$ s: p5 o即使在达到全局最小值后也可能射击。
, ^8 o2 X: n3 {" C7 A* T. W( r+ U要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。$ N: f4 X. {' I* K8 O8 q
小批量梯度下降
" |) Z) {: d' O1 `% h6 C它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
: J4 [3 {, U- h" h5 l5 X# R/ L
0 H1 T+ `3 A0 k; ~5 q5 fθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
  s" W6 v0 q" p* K7 ^8 b, M) @
) ?  z+ R* g0 K7 P优点:' M4 `3 b9 }, j& \* E" _" v: m

: Z5 G" P: S* O# m  V. ^# a经常更新模型参数并且方差也较小。0 T- ]) s5 f4 E- g4 v0 C
需要中等的内存1 c+ m6 ?. y/ ^  P6 J
所有类型的梯度下降都有一些挑战:; g! E+ m& h$ s7 m
  e1 e+ V, |+ _3 J8 }7 B
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。0 T+ J1 y; V' G
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。8 W* y4 h, A' f
可能会陷入局部极小值。: I% b$ G3 T9 v0 y- k
其它优化算法, Q: S& A' v* x: T1 H
具体我就不再详细介绍,其它优化器如下:3 v% E0 m" l/ E) q% C5 m

2 e& E& Z% X' dMomentum
) Z+ ]7 K3 Y1 {5 wNesterov Accelerated Gradient% E5 h  ~- a: p6 X
Adagrad0 a5 q, _+ m# @+ |5 [: u7 i% `
AdaDelta
: U+ v0 E* k1 x5 j: M& OAdam& t$ g- ?5 L; i3 t6 @- t- q
各个优化算法比较动态图+ R2 q: W5 C) v/ A
VeryCapture_20231129112215.gif # e  D# r! t# p1 T; Q! J. s+ O2 u
6 V/ J$ K( ^4 N# q  C( ?$ d
* {3 t" z& Q) V- K( h* 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, 2026-4-13 09:39 , Processed in 0.410988 second(s), 54 queries .

回顶部