• 沒有找到結果。

積體電路硬體實現(VLSI Implementation):類神經網路的結構高度的連接性 (interconnection),很容易將簡單且具規則性的類神經網路移植到積體電路

資料庫樣本

5. 積體電路硬體實現(VLSI Implementation):類神經網路的結構高度的連接性 (interconnection),很容易將簡單且具規則性的類神經網路移植到積體電路

上。

4.4.2 類神經網路理論 一.生物神經元

如圖 4.4 所示,生物神經元的結構主要分成下面幾個部分[18]:

圖 4.4 生物神經元構造

細胞核(Nucleus)是神經細胞的中心體,主要功能是將樹狀突(Dendrite)所收 集到的信號作加總並進行一次非線性轉換,然後透過軸突(Axin,或稱神經軸) 將信號傳送到其他的神經細胞中。

44

f

:表示神經元所使用的激發函數(Activation function)

:表示神經元之間的連接權重值(Weighting) b:表示神經元的偏權值(Bias)

45

n:表示輸入神經元之數目

圖 4.6 為神經元的模型:

圖 4.6 神經元模型

於圖 4.6 中,輸入 等值於生物神經元中的神經樹,權重值W 則相當於生物模型 中的突觸。神經元的激發函數 f,則涵蓋了線性和非線性兩種。常用的激發函數,

如表 4.2 所列,其函數型態則如圖 4.7 所示:

表 4.2 為類神經網路常用的激發函數:

函數

f(x)

範圍

Purelin

f x k ∙ x

Logsig

f 1

1 0 1

Tansig

f 1

1 1 1

表 4.2 類神經網路常用的激發函數

46

圖 4.7 類神經網路常用的激發函數

4.4.3 類神經網路的基本架構

如大腦內神經元的鍵結,類神經網路亦由基本處理元件的神經元相互連結形 成龐大的網路架構。其架構可以分為前饋式網路(Feed-forward Net)及回饋式網路 (Recurrent Net),圖 4.8 為前饋式網路的架構。

47

圖 4.8 類神經前饋式網路架構

由圖 4.8 所示,前饋式網路包含了三大部分,分別是輸入層,隱藏層以及輸 出層。同一層內的神經元不做互相連結傳遞,且信號傳遞由輸入層到隱藏層均為 單一方向進行。隱藏層的層數可隨問題的複雜度增加,但相同的,隱藏層的層數 越多也會越增加運算的複雜度,隱藏層的層數給定,無一定數學法則,僅只能透 過試誤法,找出最佳的層數。當信號進入類神經網路之後,輸入層可做線性轉換,

隱藏層則主要使用非線性轉換函數來表現輸入間之交互的影響,輸出層則負責將 信號輸出,同樣也可以做線性或非線性的轉換。

4.4.4 類神經網路的運作

類神經網路的運作過程可以分為學習過程(Learning)和回想過程(Recalling) 兩部份。學習的過程是學習類組的輸入,以調整網路連結的權重值和神經元的偏 權值。依照問題類型可以將學習過程分為監督式學習(Supervised Learning)和非監 督式學習(Unsupervised Learning)。本論文,採用監督式學習。

監督式學習是從問題領域中取得訓練範例(有輸入變數值,也有輸出變數),

並從中學習輸入變數與輸出變數的內在對應規則,一旦經過學習過後的類神經網 路,可以應用於新的案例,此時僅只有輸入變數即可以推論出輸出變數值。

例如老師在黑板上寫上英文字母 ABCD,並且向學童說明此字母為英文字母

48

ABCD,學童透過認字來學習每個字母的特徵,當下次老師在黑板上寫上 ABCD 時,雖然新寫的字母筆跡與之前寫的原字母筆跡不完全相同,但學童仍能夠認出 是哪個字母,此乃因為學童已將各別字母的特徵普遍化。

監督式學習最重要的兩大元素就是輸入所需要學習的問題與所對應學習問 題的輸出答案(也稱為學習目標),藉由誤差來調整神經元之間連結的權重值,使 的類神經網路輸出可以逐漸接近目標值。有關類神經之學習流程,如圖 4.9 所示 [20]:

圖 4.9 類神經學習流程

本論文所使用的誤差倒傳遞演算法(Error Back-propagation Algorithm),係採用監 督式學習演算法則,並透過網路目標輸出與推論輸出之間的誤差,由類神經網路 的輸出層往輸入層倒傳遞回推,以誤差值作為修正網路權重值和偏權值的參考依 據。學習過程結束之後,則進入回想過程接受測試資料,以產生最佳的推論輸出 值。

49

4.4.5 倒傳遞類神經網路 一.倒傳遞網路架構

下圖 4.10 為倒傳遞類神經網路架構圖,於此網路中,隱藏層的層數與使用 的神經元數目無明確的參考準則,取決於問題的複雜度,但通常隱藏層層數以不 超過兩層為基準。透過增加隱藏層的層數,可以強化處理問題複雜度的能力,通 常依據實驗的結果,來修正神經元個數和層數,以期待能得到最佳輸出結果。

圖 4.10 倒傳遞類神經網路架構圖 二. 前饋網路

於圖 4.10 之單層倒傳遞類神經網路架構中,相關符號表示如下:

i:輸入層神經元個數 h:隱藏層神經元個數 j:輸出層神經元個數

,:輸入層到隱藏層的連結權重

, :隱藏層到輸出層的連結權重

50

51

三. Levenberg-Marquardt Backpropagation 演算法

以往的倒傳遞類神經網路乃採用最陡坡降法(gradient descend)的觀念,將目 Levenberg-Marquardt 演算法主要的精隨就是結合牛頓法跟最陡坡降法的優 點,在疊代的初期,使用最陡坡降法來向梯度方向接近;疊代的後期則使用牛頓 法來趨近最小值。

52

:Jacobian Matrix

其中 Jacobian Matrix J 和誤差向量 e 可以表示為

53

54

此時,由高斯牛頓法,可假設式 4.19 中之 0[21, 22]

因此,式 4.19 可近似於

(4.20) 於式 4.20 中

:代表 quasi-Hessian matrix

若結合式 4.15 與式 4.20,式 4.18 的 Hessian 矩陣可以近似於:

(4.21) 於式 4.16 中,假設一個 Q 為 quasi-Hessian matrix,則 Q 為

(4.22)

假設一個N 1的梯度向量 g為

(4.23) 則將式 4.17 代入式 4.23 中,則梯度向量g內的元素可表示為:

∑ ∑

(4.24)

55

由式 4.15 和式 4.24,可得此向量梯度為

(4.25)

由式 4.21、式 4.22 和式 4.25,可將式 4.14 更新權重之公式改寫為:

(4.26) 其中,如果標量因子 0時,就剛好是使用近似化 Hessian 矩陣的牛頓法了。

當 值很大時,上式變成具有小的步階大小之梯度下降(gradient descend)。牛頓法 在誤差極小值附近較快且比較正確,所以上式的目的就是要盡可能快速地移向牛 頓法。因此在每個成功的步階(亦即步階內性能函數降低)就降低 值

56

57

相關文件