深度学习的数学基础-神经网络的导数基础

之前我们提到过,神经网络会自己进行学习,这在数学上的含义是指,对权重和偏置进行最优化,使得输出符合学习数据。而对于最优化而言,求导是不可缺少的一种方法。

注:本篇所考察的函数都是充分光滑的函数。

导数的定义

函数y=f(x)的导函数f'(x)的定义如下所示。
image.png

注:希腊字母∆读作delta,对应拉丁字母D。此外,带有’(prime)符号的函数或变量表示导函数。

“lim( )(∆x→0)”∆x是指当∆x无限接近0时“(∆x的式子)”接近的值。

例1
当f(x)=3x时,
image.png

例2
当f(x)=x2时,
image.png

已知函数f(x),求导函数f'(x),称为对函数f(x)求导。当式(1)的值存在时,称函数可导

导函数的含义如下图所示。作出函数f(x)的图像,f'(x)表示图像切线的斜率。因此,具有光滑图像的函数是可导的。
image.png
导函数的含义。f'(x)表示图像切线的斜率。实际上,如果Q无限接近P(也就是∆x→0),那么直线PQ无限接近切线l。

神经网络中用到的函数的导数公式

我们很少使用定义式(1)来求导函数,而是使用导数公式。下面我们就来看一下在神经网络的计算中使用的函数的导数公式(x为变量、c为常数)。
image.png

注:这里省略了证明。e为纳皮尔数。

导数符号

在式(1)中,函数y=f(x)的导函数用f'(x)表示,但也存在不同的表示方法,例如可以用如下的分数形式来表示。
image.png

这个表示方法是十分方便的,这是因为复杂的函数可以像分数一样计算导数。关于这一点,我们会在后文中说明。

例3
式(2)中的(c′)=0,也可以记为dc/dx=0(c为常数)。

例4
式(2)中的(x)′=1,也可以记为dx/dx=1。

导数的性质

利用下式,可导函数的世界得到了极大的扩展。
image.png

注:组合起来也可以简单地表示为{f(x) – g(x)}′ = f′(x) – g′(x)。

式(3)称为导数的线性性。用文字来表述可能更容易记忆,如下所示。

和的导数为导数的和,常数倍的导数为导数的常数倍。

导数的线性性是后述的误差反向传播法背后的主角。

**例5 **
当C = (2 – y)2(y为变量)时,
C′=(4-4y+y2)′=(4)′-4(y)′+(y2)′=0-4+2y=-4+2y

问题1
对下面的函数f(x)求导。
① f(x)=2×2+3x+1 ② f(x)=1+e-x

根据式(2)、式(3),可得
① f′(x)=(2×2)′+(3x)′+(1)′=2(x2)′+3(x)′+(1)′=4x+3
② f′(x)=(1+e-x)′=(1)′+(e-x)′=-e-x
备注公式(e-x)′=-e-x

利用后述的链式法则(复合函数的求导公式),我们可以简单地推导出标题中的公式(即式(2)),如下所示。
image.png

分数函数的导数和Sigmoid函数的导数

当函数是分数形式时,求导时可以使用下面的分数函数的求导公式。
image.png

注:这里省略了证明。函数f(x)不取0值。

Sigmoid函数σ(x)是神经网络中最有名的激活函数之一,其定义如下所示。
image.png

在后述的梯度下降法中,需要对这个函数求导。求导时使用下式会十分方便。
image.png

利用该式,即使不进行求导,也可以由σ(x)的函数值得到Sigmoid函数的导函数的值。

证明
将1+e-x代入式(4)的f(x),利用式(2)的指数函数的导数公式(e-x)’=-e-x,可得
image.png

上式可以像下面这样变形。
image.png

将σ(x)提取出来,就得到了式(5)。

最小值的条件

由于导函数f'(x)表示切线斜率,我们可以得到以下原理,该原理在后述的最优化中会用到。
image.png

证明导函数f'(a)表示切线斜率,所以根据下图可以清楚地看出f'(a)=0。
image.png

当f(x) 在x=a处取最小值时,该函数在该点的切线的斜率(即导函数的值)为0。

应用时请记住以下事实。
image.png

注:已知命题p、q,由p可以推出q,则q称为p的必要条件。

从下面的函数y=f(x)的图像可以清楚地看出这一点。
image.png

虽然f'(a) = 0(切线斜率为0,即切线与x轴平行),但在①、②、③的情况下函数不取最小值。

在通过后述的梯度下降法求最小值时,这个性质有时会成为很大的障碍。

例题
求以下函数f(x)的最小值。
f(x)=3×4-4×3-12×2+32


首先我们求出导函数。
f'(x)=12×3-12×2-24x=12x(x+1)(x-2)

然后,我们可以做出以下表格(称为增减表)。
image.png

注:增大、减小用↗、↘表示,区间用…表示。

从表中可以看出,f(x)在点x=2处取得最小值0。

如果已知增减表,就可以画出函数图像的大体形状。这里我们使用例题中的增减表,画出函数 f(x)=3×4-4×3-12×2+32的图像,如下图所示。
image.png

问题2
求f(x)=2×2-4x+3的最小值。


首先我们求出导函数。
f'(x)=4x-4

然后,我们可以做出如下的增减表。从表中可以看出,f(x)在点x=1处取得最小值1。
image.png

作为参考,我们在增减表的下面画出了函数图像。
image.png