Artifical neural network(ANN)
為了在語音及影像辨認獲致與人腦相似的功能,自1940年起,科學家即著手從事此方面的研究,仿造最簡單的神經元模式,開始建立最原始的類神經網路,歷經40年的發展,類神經的研究工作雖曾一度陷入低潮,近幾年又再度復甦,並且結合了生理,心理,電腦等科技而成為新的研究領域。
基本上,有兩種不同的途逕來嘗試研究大腦的功能。第一種屬於由下而上的方式,通常生物神經學家 (neurobiologists) 採用此種方式,藉由對單一神經細胞的刺激與反應 (stimulus-response) 特徵的瞭解,進而對由神經細胞聯結而成的網路能有所認識;心理學家 (psychologists) 採取的是由上而下的途逕,他們從知覺 (cognition) 與行為反應來瞭解大腦。
人類神經元
- 人類的大腦是由大約 個神經細胞 (nerve cells) 所構成,每個神經細胞又經由約 個突觸 (synapses) 與其它神經細胞互相聯結成一個高度非線性且複雜,但具有平行處理能力的資訊處理系統。人類的神經系統可視為三個子系統所互相協調而成的複合系統:
- 細胞本體 (soma)
- 軸突 (axon): 細胞藉由管狀似的軸突傳遞至其它相連接的神經元. 軸突的終點處是「突觸」,這種細胞間的信號傳遞以化學性的方式居多。
- 樹突 (dendrites): 主要功能就是接受其它神經元所傳遞而來的信號. 若導致位於軸突丘的細胞膜電位超過某一特定閥值 (threshold)時,則所謂的「活化電位」(action potential) 的脈衝就會被激發出來。
活化電位
- 細胞內外充滿了含有陰離子(如:氯離子,Cl- )及陽離子(如:鈉離子、鉀離子、鈣離子, Na+, K+, 及 Ca+2 等)的電解液。
- 細胞的外圍是一層半滲透性的組織,此組織稱為細胞膜。
- 這些離子在 (1)滲透壓和 (2)電場效應的影響下,最後會達到一種平衡狀態,使得鉀離子大部份位在細胞體內,而鈉離子大部份位在細胞體外,這時細胞便呈現約 -85mv 的「休止電位」(resting potential)。
- 大多數的哺乳類動物的神經細胞,其休止電位差大約都接近 -70mv 。
- 當神經細胞被刺激時,在樹突部位的細胞膜的特性會被改變,使得鈉離子可以進入細胞內,導致細胞膜電位的改變,這種電位稱為「層次電位」,其振幅與刺激強度成正比,並且會隨著傳遞距離的增加而衰減.
- 所有位於樹突上,因刺激而引起的電位變化,都會朝向位於細胞本體上之軸突丘方向傳遞,若這些信號的綜合效果,導致軸突丘的細胞膜電位的增加,而且超過某一特定的閥值(如 -55mv)時,則「活化電位」會被激發。
- 「活化電位」以一種振幅大小不變的方式,沿著軸突方向傳遞。刺激強度的資訊與活化電位的發生頻率有關,而與其振幅的大小無關,其傳遞的速度與 (1)軸突的直徑大小以及 (2)軸突上之細胞膜的電容及電阻性有關。
- 類神經網路已被研究多年。這些類神經網路的模型主要是嘗試著去模仿人類的神經系統,因為人類的神經系統在語音、聽覺、影像和視覺方面均有很完美的表現,所以也期望這些模型能夠在這些方面有出色的成果。
神經元連接方式
- 發散型(divergent): 傳入型神經元(afferent neurons) 採取此種發散型模式,以便將所獲得之資訊,以平行之方式快速地傳達至大腦。
- 收斂型(convergent): 大致上,所謂的輸出型神經元(efferent neurons) 與神經末稍之間的連接方式是屬於此種模式。
- 鏈接及迴路型 (chains and loops): 大腦裏的神經元為了處理傳送而來的複雜資訊,發展出這種複雜的連接模式,其中有正迴授與負迴授等情形發生。
人工神經元
類神經網路是由很多非線性的運算單元(neuron)和位於這些運算單元間的眾多連結所組成,而這些運算單元通常是以平行且分散的方式進行運算,如此就可以同時處理大量的資料,由這樣的設計就可以被用來處理各種需要大量資料運算的應用上。
個別的神經元透過是否激發出活化電位的機制,使其本身就具備處理部份資訊的能力 。
- 至於我們要如何向生物神經網路借鏡呢?當然,第一步是設法模仿單一神經元的運作模式 。
鍵結值 (synaptic weights):突觸的效果實際上可分為兩種:
- 刺激性的突觸:此種突觸會使得被連接的神經元容易被激化,因而導致活化電位的產生。
- 抑制性的突觸:此種突觸會使得被連接的神經元的細胞膜電位值,變得更負(即遠離閥值),因而導致此神經元不容易產生活化電位。
- 正值的鍵結值代表是刺激性的突觸,而抑制性的突觸則由負值的鍵結值所代表,另外,突觸影響性的大或小,則與鍵結值的絕對值成正比。
- 加法單元:產生於樹突頂端的「層次電位」,會從四面八方朝向軸突丘傳遞,此時軸突丘會執行「空間及時域」(spatio-temporal) 的整合處理,這是個十分複雜的過程,在簡單的類神經元的模型中,我們通常以一個加法單元來簡化此過程;而複雜一點的,可以用一個「有限脈衝響應濾波器」(finite impulse response filter) 來近似此過程。
- 活化函數 (activation function):在軸突丘部位所呈現的整體細胞膜電位,若超過閥值,則「活化電位」脈衝會被激發,整個傳遞而來的資訊在這裏被調變 (modulation) 處理,軸突丘將資訊編碼於 (1)活化電位的是否產生及 (2)活化電位脈衝的產生頻率中。因此,我們將經過權重相加的輸入,透過活化函數的轉換,使得類神經元的輸出代表短期間之平均脈衝頻率。
-
- 為資料的輸出(若為supervised learning時為已知,否則為未知)或是神經元的輸出.
- 為資料的輸入,共 個特徵.
- 為資料中第i個輸入特徵連接到神經元的權重值.
- 為神經元的bias.
每一個神經細胞網路模型,其特性是由網路的拓樸(Topology)圖形,節點的特性加以決定。在訓練的過程中這些法則最初是由一組初始權重(initial Weights)值來決定,並在學習過程中調整其加權以增進效率,經由不斷的調整和學習,使得真正的網路輸出與目標值能達到相同值後,才固定網路中的加權值,此時才算訓練完成。
activation function是使用者自訂的函數,常用的函數如下:
threshold function:
piecewise linear function:
sigmoid function:
Gaussian function: .
網路架構
單層前饋網路 (single-layer feedforward networks): 整個網路由一層具有處理資訊能力的類神經元所組成,通常此種網路的功能性較差,只能處理線性的問題。
多層前饋網路 (multi-layer feedforward networks): 根據鍵結的聯接方式,此種網路又可細分為 (1)部份連結 (partially connected) 網路或 (2)完全連結 (fully connected) 網路,此種網路可處理複雜性高的問題。
循環式網路 (recurrent networks): 此網路的輸出會透過另一組鍵結值,聯結於網路的某處(如輸入層或隱藏層)而迴授至網路本身。
晶格狀網路 (lattice networks): 基本上,此種網路屬於前饋型網路,只不過其輸出層的類神經元是以矩陣方式所排列。
學習與記憶
- 「學習」(learning) 是自然生物或人造系統之所以有智慧的一個極為重要的特徵。學習與記憶是密不可分的,因為有學習行為的發生才導致記憶的形成;能夠記憶才產生學習的效果。人類的記憶有以下的一些特點:
- 人類的記憶屬於分散式 (distributed) 的儲存,並且是屬於聯想式的記憶 (associate memory) 。
- 人類易於記憶,但卻難於回想 (recall) 。
- 人類的記憶,根據儲存的期間長短又分為三種:
- 立即記憶 (immediate memory);
- 短程記憶 (short-term memory);
- 長程記憶 (long-term memory);
學習策略 (strategies) 可分為以下幾種:
- 機械式的背誦學習 (rote learning)
- 指令式的學習 (learning by instruction)
- 類推式的學習 (learning by analogy)
- 歸納式的學習 (learning by induction):此種學習又可分為以下兩種方式:
- 從範例中學習 (learning from examples):又稱為監督式 (supervise) 學習 。
- 從觀察及發現中學習 (learning from observation and discovery):又稱為非監督式 (unsupervised) 學習 。
以數學式來描述通用型的學習規則如下: .
- 分別代表原先與調整過後的權重值;
- 代表此類神經元受到刺激後,為了達成學習效果,所必須採取的改變量。此改變量通常是當時的輸入 、原先的權重值 , 以及期望的輸出值 (若為非監督學習時無此項)間的某種函數關係。
Hebbian 學習規則
Hebb提出「當神經元A的軸突與神經元B之距離,近到足以激發它的地步時,若神經元 A 重複地或持續地扮演激發神經元 B 的角色,則某種增長現象或新陳代謝的改變,會發生在其中之一或兩個神經元的細胞上,以至於神經元 A 能否激發神經元 B 的有效性會被提高。」
因此我們得到以下的學習規則: .
這種 Hebbian 學習規則屬於前饋 (feedforward) 式的非監督學習規則, 以下是最常使用的型式: .
錯誤更正法則
錯誤更正法則的基本概念是,若類神經元的真實輸出值 與期望的目標值 不同時,則兩者之差定義為誤差信號: .
- 我們可以選擇一特定的代價函數(cost function) 來反應出誤差信號的物理量;
- 錯誤更正法則的終極目標,就是調整鍵結值使得代價函數值越來越小,亦即使類神經元的真實輸出值,越接近目標值越好,一般都採用梯度坡降法 (gradient decent method) 來搜尋一組鍵結值,使得代價函數達到最小。
Windrow-Hoff 學習法
cost function: 此學習規則,有時候亦被稱為最小均方演算法 (least square error algorithm)。
根據梯度坡降法:
競爭式學習法有時又稱為贏者全拿(winner-take-all) 學習法。
- 步驟一:得勝者之篩選,假設在此網路中有 K 個類神經元,如果 , 那麼第k個神經元為得勝者。
- 步驟二:鍵結值之調整
deep neural network
DNN指的是hidden layers有二層以上的MLP。
- DNN可想成把原本的複雜問題,在不同隱藏層分解成許多簡單的小問題後,最後在輸出層將結果合併以得到解答。
- 比如說人臉辦識,輸入為圖像的每一個pixels,然後分解成許多小問題後再合併結果輸出是否為人臉,如下圖。
圖中的小問題可再分解成更多子問題,即更多隱藏層,如下圖。