類神經網路簡介
生物神經細胞
發生於神經元突觸之時間性相加示意圖
圖片摘自: M. Arbib, The Metaphorical Brain : Neural Networks and Beyond, John Wiley & Sons, Inc., 1989.)
類神經元的模型 鍵結值 (Synaptic Weights)
類神經元的模型 利用數學式描述類神經元的輸入輸出關係: 其中 代表第 i 維輸入至第 j 個類神經元的鍵結值。 代表 p 維的輸入。 代表第 j 個類神經元所獲得的整體輸入量, 其物理意義是代表位於軸突丘的細胞膜電位。 代表活化函數。 則代表了類神經元的輸出值,也就是脈衝頻率。
活化函數 硬限制函數 (hard limiter or threshold function) : 區域線性函數 (piecewise linear function) : 嚴格限制函數 區域線性函數
活化函數 s- 字型函數 (sigmoid function) : 高斯函數 (Gaussian function) : s- 字型函數高斯函數
網路架構 單層前饋網路 (Single-layer feedforward networks) :此種 網路的功能性較差,只能處理線性的問題。 單層前饋網路
網路架構 多層前饋網路 (Multi-layer feedforward networks) :根據 鍵結的聯接方式,此種網路又可分為部份連結 (partially connected) 網路與完全連結 (fully connected) 網路,此種 網路可處理複雜性高的問題。 多層前饋網路: (a) 部份連結 (b) 完全連結
類神經網路的學習規則 數學式描述通用型的學習規則 改變量 : – 輸入 – 原先的鍵結值 – 期望的輸出值 其中 及 分別代表原先的及調整後的鍵結值。 代表此類神經元受到刺激後,為了達成學習效果,所必須 採取的改變量。
錯誤更正法則 若類神經元的真實輸出值 與期望的目標值 不同時, 則兩者之差,定義誤差信號為 : 一般都採用梯度坡降法 (Gradient decent method) 來搜尋一 組鍵結值,使得代價函數達到最小。 – Windrow-Hoff 學習法 – Delta 學習法
Windrow-Hoff 學習法 目標函數定義為: 根據梯度坡降法可得: 此學習規則,亦被稱為最小平方演算法 (Least square error algorithm)
Delta 學習法 使用此種學習法的類神經網路,其活化函數都是採用連續 且可微分的函數型式,而目標函數則定義為: 根據梯度坡降法可得: 當 時,則 Widrow-Hoff 學習可視為 Delta 學習法的一項特例。
感知機 感知機是由具有可調整的鍵結值 (Synaptic weights) 以及閾 值 (Threshold) 的單一個類神經元 (Neuron) 所組成。 最簡單且最早發展出來的類神經網路模型,通常被用來做 為分類器 (Classifier) 使用。 感知機基本架構 v>0, y=+1 v<=0, y=-1
感知機基本架構 分類的判斷規則是:若感知機的輸出為 +1 ,則將其歸類 於 C 1 群類;若感知機的輸出為 -1 ,則將其歸類於 C 2 群類。
感知機演算法 步驟一:網路初始化 以隨機的方式來產生亂數,令鏈結值 w(0) 為很小的實數, 並且將學習循環 n 設定為 1 。 步驟二:計算網路輸出值 在學習循環時,輸入向量 x(n) 與鏈結值 w(n) 之運算值帶 入活化函數,此時類神經元的輸出為:
感知機演算法 步驟三:調整鍵結值向量 步驟四: 將學習循環 n 加 1 ,回到步驟二
感知機練習 學習率 為 0.8 ,並且將鍵結值的初始值設定為 (0, 1) , 令活化函數為 sgn 函數,神經元之閾值為 -1
多層感知機 多層感知機具有以下三個特性: – 每個類神經元的輸出端都包含了一個非線性元件。 – 網路包含了一層以上的隱藏層。 – 網路具有高度的聯結性 (connectivity) 。 s- 字型函數
多層感知機
倒傳遞演算法 訓練包含兩個階段:前饋階段以及倒傳遞階段 前饋階段 : 輸入向量由輸入層引入,以前饋方式經由隱藏 層傳導至輸出層,並計算出網路輸出值,此時,網路的鍵 結值都是固定的。 倒傳遞階段 : 將期望輸出值減去網路輸出值以得到誤差信 號,然後將此誤差信號倒傳遞回網路中,藉此修正鍵結值, 使得網路的輸出值趨向於期望輸出值。
倒傳遞演算法 網路輸出層的第 k 個類神經元的誤差函數定義為 瞬間誤差平方函數, E(n) ,就是所有輸出層類神經元的平 方差瞬間值總合,表示為: N 為輸入訓練資料的個數,則均方差函數定義為 其中集合 C 是包含所有輸出層類神經元的子集合。
倒傳遞演算法 第 k 個類神經元在第 n 次學習循環時的輸出為 倒傳遞演算法對鍵結值 w ji (n) 的修正量 Δw ji (n) 和梯度的估 測值, E(n)/ w ji (n) ,成正比關係。根據鍊鎖率 (chain rule) ,我們可將梯度表示為:
倒傳遞演算法 定義區域梯度函數為 : 整體調整鍵結值公式為
倒傳遞演算法 第 j 個類神經元是輸出層的類神經元 – 位於輸出層的類神經元,期望輸出值是已知的,因此其 δ( ) 為
倒傳遞演算法 第 j 個類神經元是隱藏層的類神經元 y j (n) 透過 w kj 來連結第 k 個類神經元,因此 若第 k 個類神經元是輸出層的類神經元,則 隱藏層的類神經元之 δ( ) 為
倒傳遞演算法 在多層感知機裡最常使用的活化函數是 sigmoid 函數
倒傳遞演算法 是由「 delta 法則」來定義: 區域梯度函數 的計算是依據第 j 個類神經元是輸出層類神經元 或是隱藏層類神經元而不同: 一、如果第 j 個類神經元是輸出層的類神經元 二、如果第 j 個類神經元是隱藏層的類神經元
XOR 問題 將這三個類神經元採用 sigmoid 函數當作活化函數,當第 三個類神經元的輸出大於或等於 0.5 時 ( 期望值是 1) ,我們 將輸入向量歸成 “ ” 類,反之,當輸出小於 0.5 時 ( 期望值 0) , 我們將輸入向量歸成 “ ” 類