Optimization for DL

On-line Learning: One pair of (X,Y') at a time step;

Optimization for DL_第1张图片

Off-line Learning: Pour all (X,Y') into the model at every time step;

Optimization for DL_第2张图片

OPTIMIZATION目的:

找到最合适的 θ 以便得到最小的 ∑xL(θ;x),或是找到最合适的 θ 以便得到最小的 L(θ) 

OPTIMIZATION算法:

SDG:(Stochastic Gradient Descent)

Optimization for DL_第3张图片

η是Learning Rate,就是通过计算θ的Gradient后,根据公式对θ进行更新;以此反复,直到Gradient \approx0;

SDGM: SDG with Momentum

Optimization for DL_第4张图片

这里新增Momentum项,它还考虑之前的Movement,也可以说它不仅考虑当前Gradient,还考虑先前的Gradient;增加Momentum有助于对抗一些Critical Point,增加探索性;

ADAGRAD:

 Optimization for DL_第5张图片

这是一种Adaptive方法,在 η下面除以一个式子,该式可以作用于:如果先前的Gradient较大,则此时更新的步幅小,而如果先前的Gradient教小,则可以更新的步幅大;也有用Optimization for DL_第6张图片式,区别在于是否加入均值;

RMSProp:

Optimization for DL_第7张图片

也是一种Adaptive方法,和Adagrad区别只在于底部式子,新增一个参数\alpha,如果\alpha接近0,代表刚算出来的gi相较于之前算出的Gradient 比较重要,如果\alpha接近1 ,代表现在算出来的 gi相对不重要,而之前的算出来的Gradient比较重要。调整\alpha可以调整当前Gradient的比重,可以避免因初始Gradient大而一直影响Learning Rate的情况;

 ADAM:

 Optimization for DL_第8张图片

Adam将SGDM和RMSProp结合;

ADAM VS SGDM

ADAM: fast training, large generalization gap, unstable(速度快,但是不稳定)

SGDM: stable, little generalization gap, better convergence(稳定,但是速度慢)

SWATS结合了ADAM和SGDM,一开始用ADAM,结尾用SGDM;

Optimization for DL_第9张图片

你可能感兴趣的:(人工智能,python,算法)