数学建模社区-数学中国
标题:
训练神经网络的各种优化算法
[打印本页]
作者:
2744557306
时间:
2023-11-29 11:37
标题:
训练神经网络的各种优化算法
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
3 x( G, S8 O: ~+ S
5 y! a5 g P- e# N
梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
! P+ L6 C6 J/ q% J: k# l
`8 k8 u% S, y! s
优点:
1 c5 Z7 J# q m8 o; t
* ]. p* u6 H8 V7 ~
容易计算。
. z& Z2 ~; a, P; n
易于实施。
2 X& I$ S* Z+ u
容易理解。
+ V" P, r) m7 d+ a# Z* x, l
缺点:
3 f1 t4 J+ a3 W) G3 _ T
" d2 p: f. O' G, ~$ C" t8 T# e; m* t0 ?. h
可能陷入局部最小值。
- Q4 p+ g7 [ R$ m- k$ `8 Q
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
9 E1 Q+ P( r3 Z. q6 {" v- O. \+ l4 Y
需要大内存来计算整个数据集的梯度
5 x1 z1 o6 J T) Z. ~4 Q- y
随机梯度下降
3 G$ o. n/ J( p# \! Z) [
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
$ H% u" E- z# q5 [& j. S
' O4 N7 k$ u" P. ]
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本
0 Z2 s" v" D; G' b8 n' }' ~
9 X Z: u- r" q0 d. e- I- c h9 N
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
8 j3 a$ r+ g' |5 o0 r
5 L. k$ `# m# `$ K+ b" h7 F
优点:
+ n6 X5 F. {4 O
8 G: E0 I! `) L4 f
因此,频繁更新模型参数可以在更短的时间内收敛。
: _- z' q, n9 p+ [ _
需要更少的内存,因为不需要存储损失函数的值。
- q0 m P3 k9 ?2 n8 N1 W0 i+ {+ V6 T
可能会得到新的最小值。
3 ^( u8 Q" _/ o% A: P. @
缺点:
) ?6 D- Y2 {3 b8 ?5 m2 e6 g* T2 I
7 V6 {+ G" T+ r" i! T1 R* d9 i/ F
模型参数的高方差。
- V0 I' |8 o( q
即使在达到全局最小值后也可能射击。
. i$ x2 E! p& W f, N
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。
5 w# _/ \/ ]/ h1 B. {; b/ Q
小批量梯度下降
4 \% z2 [; X" k- b8 I( m
它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
! H* M9 ~ [- `9 x; q) m6 v9 R. q; K9 K
* H" _- c* J9 w% R8 v
θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
: i; ]" {! W9 y1 A7 j
% Y# X5 L j# Z# |+ I
优点:
" Z; t8 J X) e( g1 k# {
' F0 @7 e6 d1 |% f `
经常更新模型参数并且方差也较小。
' u* d; A3 s0 k( ?
需要中等的内存
; f% x E# N5 K8 p; D8 z2 G& Y0 u
所有类型的梯度下降都有一些挑战:
5 }) R `' C- A Q# j8 e, i
! u4 c' v% V0 ]# j: c p
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
2 Z) d0 Z0 j7 r
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
4 F }/ |& `5 r p
可能会陷入局部极小值。
" s3 x+ W. P2 |
其它优化算法
& `9 s2 S/ U. y% S
具体我就不再详细介绍,其它优化器如下:
/ X- l) @; g# C5 _" T! c
+ b8 B* Q. r& b9 [
Momentum
+ q4 ]* c) H6 n, P! t" `: `% `
Nesterov Accelerated Gradient
6 w7 I. B! w: c. N6 r( D, h6 p
Adagrad
) L2 _4 t1 }$ i- n8 N1 m# _" V6 e
AdaDelta
: u/ k- z/ h) e! q4 P4 f5 T
Adam
9 b5 W6 V/ }" W8 `3 i
各个优化算法比较动态图
; Q1 x% v& B7 }9 G* v, |4 R# S A
2023-11-29 11:33 上传
下载附件
(1.09 MB)
5 j6 Q. ~- ?! Y1 Q# x8 k8 |1 u
1 y" ^7 R' A+ j: s: Z+ N
a# D& z( w$ D) r
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5