Categories
程式開發

深度學習的數學(二):神經元工作的數學表示


編者按:本文節選自圖靈程序設計叢書 《深度學習的數學》一書中的部分章節。

如前文所述,神經網絡是以從神經元抽像出來的數學模型為出發點的。下面,我們將更詳細地考察神經元的工作,並將其在數學上抽象化。

整理神經元的工作

人的大腦是由多個神經元互相連接形成網絡而構成的。也就是說,一個神經元從其他神經元接收信號,也向其他神經元發出信號。大腦就是根據這個網絡上的信號的流動來處理各種各樣的信息的。

深度學習的數學(二):神經元工作的數學表示 1

讓我們來更詳細地看一下神經元傳遞信息的結構。如上圖所示,神經元是由細胞體、樹突、軸突三個主要部分構成的。其他神經元的信號(輸入信號)通過樹突傳遞到細胞體(也就是神經元本體)中,細胞體把從其他多個神經元傳遞進來的輸入信號進行合併加工,然後再通過軸突前端的突觸傳遞給別的神經元。

那麼,神經元究竟是怎樣對輸入信號進行合併加工的呢?讓我們來看看它的構造。

假設一個神經元從其他多個神經元接收了輸入信號,這時如果所接收的信號之和比較小,沒有超過這個神經元固有的邊界值(稱為 閾值),這個神經元的細胞體就會忽略接收到的信號,不做任何反應。

深度學習的數學(二):神經元工作的數學表示 2

注:對於生命來說,神經元忽略微小的輸入信號,這是十分重要的。反之,如果神經元對於任何微小的信號都變得興奮,神經系統就將“情緒不穩定”。

不過,如果輸入信號之和超過神經元固有的邊界值(也就是閾值),細胞體就會做出反應,向與軸突連接的其他神經元傳遞信號,這稱為點火。

深度學習的數學(二):神經元工作的數學表示 3

那麼,點火時神經元的輸出信號是什麼樣的呢?有趣的是,信號的大小是固定的。即便從鄰近的神經元接收到很大的刺激,或者軸突連接著其他多個神經元,這個神經元也只輸出固定大小的信號。點火的輸出信號是由 0 或 1 表示的數字信息。

神經元工作的數學表示

讓我們整理一下已經考察過的神經元點火的結構。

(i) 來自其他多個神經元的信號之和成為神經元的輸入。

(ii) 如果這個信號之和超過神經元固有的閾值,則點火。

(iii) 神經元的輸出信號可以用數字信號 0 和 1 來表示。即使有多個輸出端,其值也是同一個。

下面讓我們用數學方式表示神經元點火的結構。

首先,我們用數學式表示輸入信號。由於輸入信號是來自相鄰神經元的輸出信號,所以根據 (iii),輸入信號也可以用“有”“無”兩種信息表示。因此,用變量 $x$ 表示輸入信號時,如下所示。

深度學習的數學(二):神經元工作的數學表示 4

注:與視細胞直接連接的神經元等個別神經元並不一定如此,因為視細胞的輸入是模擬信號。

接下來,我們用數學式表示輸出信號。根據 (iii),輸出信號可以用表示點火與否的“有”“無”兩種信息來表示。因此,用變量 $y$ 表示輸出信號時,如下所示。

深度學習的數學(二):神經元工作的數學表示 5

深度學習的數學(二):神經元工作的數學表示 6

最後,我們用數學方式來表示點火的判定條件。

從 (i) 和 (ii) 可知,神經元點火與否是根據來自其他神經元的輸入信號的和來判定的,但這個求和的方式應該不是簡單的求和。例如在網球比賽中,對於來自視覺神經的信號和來自聽覺神經的信號,大腦是通過改變權重來處理的。因此,神經元的輸入信號應該是考慮了權重的信號之和。用數學語言來表示的話,例如,來自相鄰神經元 1、2、3 的輸入信號分別為 $x_1$、$x_2$、$x_3$,則神經元的輸入信號之和可以如下表示。

$w_1x_1+w_2x_2+w_3x_3quadquadquadquadquadquadquadquad(1)$

式中的 $w_1$、$w_2$、$w_3$ 是輸入信號 $x_1$、$x_2$、$x_3$ 對應的 權重(weight)。

深度學習的數學(二):神經元工作的數學表示 7

根據 (ii),神經元在信號之和超過閾值時點火,不超過閾值時不點火。於是,利用式 (1),點火條件可以如下表示。

深度學習的數學(二):神經元工作的數學表示 8

這裡,$theta$ 是該神經元固有的閾值。

例 1 來自兩個神經元 1、2 的輸入信號分別為變量 $x_1$、$x_2$,權重為 $w_1$、$w_2$,神經元的閾值為 $theta$。當 $w_1=5$,$w_2=3$,$theta=4$ 時,考察信號之和 $w_1x_1+w_2x_2$ 的值與表示點火與否的輸出信號 $y$ 的值。

輸入 $boldsymbol{x_1} $ 輸入 $boldsymbol{x_2} $ 和 $boldsymbol{w_1x_1+w_2x_2} $ 點火 輸出信號 $boldsymbol{y}$
0 0 $5times0+3times0=0<4$ 0
0 1 $5times0+3times1=3<4$ 0
1 0 $5times1+3times0=5geqslant4$ 1
1 1 $5times1+3times1=8geqslant4$ 1

點火條件的圖形表示

下面我們將表示點火條件的式 (2) 圖形化。以神經元的輸入信號之和為橫軸,神經元的輸出信號 $y$ 為縱軸,將式 (2) 用圖形表示出來。如下圖所示,當信號之和小於 $theta$ 時,$y$ 取值 0,反之 $y$ 取值 1。

深度學習的數學(二):神經元工作的數學表示 9

如果用函數式來表示這個圖形,就需要用到下面的 單位階躍函數

$u(z)=begin{cases}0~~(z<0)1~~(zgeqslant0)end{cases}$

單位階躍函數的圖形如下所示。

深度學習的數學(二):神經元工作的數學表示 10

利用單位階躍函數 $u(z)$,式 (2) 可以用一個式子表示如下。

點火的式子:$y=u(w_1x_1+w_2x_2+w_3x_3-theta)quadquadquadquadquadquadquadquad(3)$

通過下表可以確認式 (3) 和式 (2) 是一樣的。

|$boldsymbol{y}$|$boldsymbol{w_1x_1+w_2x_2+w_3x_3} $|$boldsymbol{z=w_1x_1+w_2x_2+w_3x_3}-theta$|$boldsymbol{u(z)}$|
|-|-|
|0(無點火)|小於 $theta$|$z<0$|0|
|1(點火)|大於等於 $theta$|$zgeqslant0$|1|

此外,該表中的 $z$(式 (3) 的階躍函數的參數)的表達式

$z=w_1x_1+w_2x_2+w_3x_3-thetaquadquadquadquadquadquadquadquad(4)$

稱為該神經元的 加權輸入

備註 $boldsymbol{w_1x_1+w_2x_2+w_3x_3}=theta$ 的處理

有的文獻會像下面這樣處理式 (2) 的不等號。
深度學習的數學(二):神經元工作的數學表示 11

在生物上這也許是很大的差異,不過對於接下來的討論而言是沒有問題的。因為我們的主角是 Sigmoid 函數,所以不會發生這樣的問題。

圖書簡介http://www.ituring.com.cn/book/2593

深度學習的數學(二):神經元工作的數學表示 12

相關閱讀

深度學習的數學(一):神經網絡和深度學習