深度學習的數學基礎-神經網路的導數基礎
之前我們提到過,神經網路會自己進行學習,這在數學上的含義是指,對權重和偏置進行最優化,使得輸出符合學習數據。而對於最優化而言,求導是不可缺少的一種方法。
註:本篇所考察的函數都是充分光滑的函數。
導數的定義
函數y=f(x)的導函數f'(x)的定義如下所示。
註:希臘字母∆讀作delta,對應拉丁字母D。此外,帶有』(prime)符號的函數或變數表示導函數。
「lim( )(∆x→0)」∆x是指當∆x無限接近0時「(∆x的式子)」接近的值。
例1
當f(x)=3x時,
例2
當f(x)=x2時,
已知函數f(x),求導函數f'(x),稱為對函數f(x)求導。當式(1)的值存在時,稱函數可導。
導函數的含義如下圖所示。作出函數f(x)的影像,f'(x)表示影像切線的斜率。因此,具有光滑影像的函數是可導的。
導函數的含義。f'(x)表示影像切線的斜率。實際上,如果Q無限接近P(也就是∆x→0),那麼直線PQ無限接近切線l。
神經網路中用到的函數的導數公式
我們很少使用定義式(1)來求導函數,而是使用導數公式。下面我們就來看一下在神經網路的計算中使用的函數的導數公式(x為變數、c為常數)。
註:這裡省略了證明。e為納皮爾數。
導數符號
在式(1)中,函數y=f(x)的導函數用f'(x)表示,但也存在不同的表示方法,例如可以用如下的分數形式來表示。
這個表示方法是十分方便的,這是因為複雜的函數可以像分數一樣計算導數。關於這一點,我們會在後文中說明。
例3
式(2)中的(c′)=0,也可以記為dc/dx=0(c為常數)。
例4
式(2)中的(x)′=1,也可以記為dx/dx=1。
導數的性質
利用下式,可導函數的世界得到了極大的擴展。
註:組合起來也可以簡單地表示為{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)),如下所示。
分數函數的導數和Sigmoid函數的導數
當函數是分數形式時,求導時可以使用下面的分數函數的求導公式。
註:這裡省略了證明。函數f(x)不取0值。
Sigmoid函數σ(x)是神經網路中最有名的激活函數之一,其定義如下所示。
在後述的梯度下降法中,需要對這個函數求導。求導時使用下式會十分方便。
利用該式,即使不進行求導,也可以由σ(x)的函數值得到Sigmoid函數的導函數的值。
證明
將1+e-x代入式(4)的f(x),利用式(2)的指數函數的導數公式(e-x)’=-e-x,可得
上式可以像下面這樣變形。
將σ(x)提取出來,就得到了式(5)。
最小值的條件
由於導函數f'(x)表示切線斜率,我們可以得到以下原理,該原理在後述的最優化中會用到。
證明導函數f'(a)表示切線斜率,所以根據下圖可以清楚地看出f'(a)=0。
當f(x) 在x=a處取最小值時,該函數在該點的切線的斜率(即導函數的值)為0。
應用時請記住以下事實。
註:已知命題p、q,由p可以推出q,則q稱為p的必要條件。
從下面的函數y=f(x)的影像可以清楚地看出這一點。
雖然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)
然後,我們可以做出以下表格(稱為增減表)。
註:增大、減小用↗、↘表示,區間用…表示。
從表中可以看出,f(x)在點x=2處取得最小值0。
如果已知增減表,就可以畫出函數影像的大體形狀。這裡我們使用例題中的增減表,畫出函數 f(x)=3×4-4×3-12×2+32的影像,如下圖所示。
問題2
求f(x)=2×2-4x+3的最小值。
解
首先我們求出導函數。
f'(x)=4x-4
然後,我們可以做出如下的增減表。從表中可以看出,f(x)在點x=1處取得最小值1。
作為參考,我們在增減表的下面畫出了函數影像。