深度學習的數學基礎-神經網路的導數基礎

之前我們提到過,神經網路會自己進行學習,這在數學上的含義是指,對權重和偏置進行最優化,使得輸出符合學習數據。而對於最優化而言,求導是不可缺少的一種方法。

註:本篇所考察的函數都是充分光滑的函數。

導數的定義

函數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