6 自动微分-阅读笔记(1)

2019-06-10  本文已影响0人  深度学习模型优化

自动微分是tensorflow、pytorch和caffe带给我们最大的好处,这为深度学习的发展提供了巨大的便利性。这里我们回顾下自动微分的原理和技术实现。

1 引言

本章会介绍自动微分技术和一些常见的优化技巧,前者是大多数框架能够自由扩展的基础,而后者很多框架都提供了。

在介绍自动微分(Automatic Differentiation)之前,我们先介绍其它两种计算微分的方法,从而说明自动微分的好处在哪里,为什么它会成为大部分深度学习框架的基础。

2 数值微分

这个是比较常见的,来自于微积分中导数和梯度的定义:
f'(x) = \frac{df}{dx} = \lim_{\Delta x\rightarrow 0} \frac{f(x + \Delta x) - f(x)}{\Delta x}
在实际中,取\Delta x为一个很小的值h,于是有
f'(x) = D_+(h) = \frac{f(x+h) - f(x)}{h}
或者
f'(x) = D_-(h) = \frac{f(x) - f(x - h)}{h}
以及
f'(x) = D_0(h) = \frac{f(x+ \frac{h}{2}) - f(x - \frac{h}{2})}{h}

还有一种不怎么熟的理查德森外推法(Richardson's extrapolation);
f'(x) = \frac{4 D_0(h) - D_0(2h)}{3}

上一篇下一篇

猜你喜欢

热点阅读