• 沒有找到結果。

類神經網路

在文檔中 中 華 大 學 碩 士 論 文 (頁 61-75)

第三章 研究方法

第四節 類神經網路

0 1 2 3 4 5 6 7 8 9 10

9 10 11 12 13 14 15 16 17 18 19 22 23 24 25 26 27 判賠金額(取對數)

申 請 人 答 辯 / 修 正 次 數

高點-最大值 低點-最小值 平均數

26 申請人答辯/修正次數分佈圖

人發明倒傳遞網路,解決了先前研究對於類神經網路的質疑,使得類神經網路 研究再度熱絡起來。之後,類神經網路被廣泛的應用在機械學習與機械控制上,

包含汽車控制(根據駕駛人力道與習慣訓練調整機械)、家電控制(洗衣機根據衣 物重量及質料計算水量)、智慧型辨識(指紋辨識、聲紋辨識與臉孔辨識)等領域。

神經網路為生物腦內的重要結構,經由神經元之間的訊息傳導,生物得以 對外界變化作出反應,人工智慧學家嘗試以電腦系統模擬這樣的架構。類神經 網路被定義為「一種計算系統,包括硬體與軟體,它使用大量簡單的相關人工 神經元來模仿生物神經網路的能力。人工神經元是生物神經元的簡單模擬,它 從外界環境或其它的人工神經元取得資訊,並加以非常簡單的運算,而後輸出 其結果到外界環境或其它人工神經元。」換句話說,類神經網路是一種以大規 模、平行、相互鏈結的節點所架構而成的網路,其架構組織與現實的物體有互 動或是對映關係,就像是生物的神經網路一樣。經由這樣的系統,學者希望能 夠達成人類所擁有而電腦缺少的能力,例如大量平行處理、分散式表達與計算、

學習能力、簡化能力、適應力、前後相關資訊處理能力、容錯能力、以及低能 量損耗等。

人類的大腦約由1011個神經細胞(Nerve Cells)所構成,主要的單元包括:

1.神經核(Cell Body):神經元的中央處理部位。

2.軸突(Axon):神經元當中負責把神經脈衝從細胞體往外傳遞的神經纖維。

3.樹突(Dendrites):神經元當中負責把神經脈衝傳遞至細胞體的神經纖維。

4.突觸(Synapse):神經元之間的連結機制。

27 生物神經元

資料來源:「資料採礦與商業智慧-SQL Server 2005」,謝邦昌,2005。

樹突是接受外部輸入訊息的接受器,當外部神經脈衝高於某個門檻值時,

神經元會被激發,而產生新的一個神經脈衝至軸突。突觸是神經與神經之間的 連絡點,如果這個新的脈衝通過的是一個興奮突觸(Excitatory Synapse)時,脈衝 列的速率(Pulse Rate)會增加,若是通過抑制突觸(Inhibitory Synapse),則會減少 脈衝列的速率。由此可以知道,影響神經元學習的主要關鍵,在於神經元如何 轉換外部刺激成為新脈衝,以及突觸的強度。

類神經網路神經元的組成即是模仿人類大腦神經細胞,其結構如圖28,X1、 X2、X3…為輸入變數值,而W1、W2、W3…則是輸入變數的權重。X1乘上W1就 等於外部輸入的神經脈衝,但是在通過樹突時,神經脈衝必須大於門檻值,才 能夠傳遞至神經元。

28 神經元結構

所以,對於神經元來說,所有的輸入訊號可以用下式來表示:

+

=

i

j

WijOi θ j

I

(3)

其中I表示輸入值

O表示前端神經元的輸出值 w表示權重

Θ表示該神經元本身的常數項。

當脈衝通過樹突進入神經元後,神經元會透過加總函數把所有的神經脈衝 累加,然後透過轉換函數(Activation Function)的方式,產生新的神經脈衝(Y1)向 外傳遞。

類神經網路具有以下幾種特性:

1.平行處理

早期人工智慧平行處理只集中在較小程度的研究,而近期已朝向超大型方 向進行。類神經網路是以動物的樹狀神經網路為設計藍本,原本因為平行技術 尚未成熟而無法深入研究,現在因超大型平行處理的成熟及若干理論的發展,

又再度成為人工智慧中最活躍的研究領域。

2.容錯

類神經網路在操作上具有相當高之容忍程度,整個神經網路都會參與解決 問題之運作。如果輸入資料混雜且受到少許雜訊干擾,仍然不會影響其運作之

Σ

Y1

X1

X2

X3

W1

W2

W3

正確性,即使10%的神經網路失效,網路仍然能夠照常運作。

3.結合式記憶(Associative Memory)

又稱為內容定址記憶(content addressable memory),它可以記憶曾經訓練過 的輸入樣本以及對應的理想輸出值。我們只要給予一部份的資料,便可以得到 全部的資料,就像人類只要看到某一部份的影像就可以回憶起全部,這便是結 合式記憶的效果。

4.解決最佳化(Optimization)問題

可用於處理非演算法表示或是以演算法處理很費時的問題。

5.超大型積體電路實作(VLSI Implementation)

神經網路的結構之間具有高度連結,而且簡單,具有規則性(regularity),易 以超大型積體電路(VLSI)來完成。

6.能處理一般演算法難以處理的問題

在非常繁雜的推銷員線性規劃的問題當中,為了增加效率,我們可以利用 分割再克服(divide-and-conquer)的方式,求得一條正確可走的路徑。這是用傳統 的方法所無法達到的。

類神經網路依學習方法的分類,有監督式學習網路(supervised)、非監督 式學習網路(unsupervised)、聯想式學習網路(associate)及最佳化應用網路

(optimization application),其詳細分類如圖29。所謂監督式學習型網路係指將 具有輸出入之對應關係的資料做為學習範例(或稱訓練範例、訓練樣本),因 此網路在每一次的學習中,所得到的輸出資料都有一組正確的資料與之比對。

在輸出層經過比對而得到的學習誤差值之後(即指誤差函數之值),可將此誤 差值用以調整網路之各加權值,重新計算誤差函數誤差值。此學習過程一再重 複,直到誤差值降至可接受的範圍,此時網路已學習完成(即指收斂)。理論 上,此已學習完成之網路將可充分反映訓練範例中輸入值與輸出值之對應關 係,而將此網路稱監督式學習型網路。

29 類神經網路分類

倒傳遞類神經網路模式即為監督式學習網路之一種,是目前類神經網路學 習模式中最具代表性,應用最普遍的模式,基本的倒傳遞類神經網路架構可分 為三個層次,其中最外層接收輸入變數的稱為輸入層(Input Layer),而最後產生 預測結果的神經元則稱為輸出層(Output Layer),而介於中間的神經元稱之為隱 藏層(Hidden Layer),如圖30。隱藏層的功能主要是增加類神經網路的複雜性,

使其能夠模擬複雜的非線性關係,就好像人的神經突觸連結越多,人就會越聰 明。不過,很多人有錯誤的認知,以為類神經網路也是一樣,隱藏層越多,類 神經網路就能夠越準確。其實過度複雜的模型反而容易造成模型過度學習 (over-fitting)的問題,造成神經網路記憶了訓練組資料結構,而導致測試組預測 力降低。

類神經網路

監督式 非監督式 聯想式 最佳化應用

坦克網路 退火神經 霍普菲爾

雙向聯想記憶 自組織映射圖

自適應共振理論 感知機

倒傳遞 機率神經 學習向量量化

反傳遞

30 類神經網路架構

倒傳遞類神經網路之操作過程簡單描述如下(圖31所示):

步驟1:確定網路架構,決定網路層數及各層間神經元數目。

步驟2:隨機亂數設定權數或偏權值之初始值。

步驟3:將選取之訓練樣本資料輸入網路中。

步驟4:調整權數及偏權值。

步驟5:回到步驟3,直至網路收斂為止。

…..

輸入層

隱藏層

輸出層

31 倒傳遞類神經網路操作流程

倒傳遞網路的學習過程當中,輸入訊號從輸入層神經元進入到隱藏層,然 後傳達至輸出層,每個神經元只負責將訊號傳播至下游的神經元,以產生最終 訊號。傳遞訊號的過程就是使用先前所提到的轉換函數,以及神經元彼此之間 連結的權重。倒傳遞網路一開始是透過隨機的方式給予權重,因此一開始所產 生的輸出結果會與實際結果產生極大的落差。

要使得類神經網路能正確的運作,則必須透過訓練(training)的方式,讓類 神經網路反覆的學習,一直到每個輸入都能正確對應到所需要的輸出,因此在 類神經網路學習前,我們必須建立出一個訓練樣本(training pattern)當作類神經

開始

設定網路訓練參數初始值 亂數設定初始權重值、偏權值 輸入訓練樣本的輸入向量與目標輸出向量

計算輸出向量 計算輸出向量差距量

計算權重值修正量 更新權重值

是否收斂或達 到循環次數

結束 是

網路在學習過程中的參考,訓練樣本的建立來自於系統實際輸入與輸出或者是 以往的經驗。類神經網路的工作性能與訓練樣本有直接的關係,若訓練樣本不 正確、太少或是太過類似,類神經網路的工作區間與能力將會大打折扣,反之,

訓練樣本越多、越正確、差異性越大,類神經網路的能力就越強。

綜合以上,我們可以將類神經網路的優缺點以及限制歸納如下表12:

表12

類神經網路優缺點

優 點 缺 點

1、類神經網路可以建構非線性 的模型,模型的準確度高。

2、類神經網路有良好的推廣 性,對於未知的輸入亦可得到 正確的輸出。

3、類神經網路可以接受不同種 類的變數作為輸入,適應性 強。

4、類神經網路可應用的領域相 當廣泛,模型建構能力強。

5、類神經網路具模糊推論能 力,允許輸出入變數具模糊 性,歸納學習較難具備此能 力。

1、類神經網路因為其中間變數(即隱藏層) 可以是一層或二層,數目也可設為任意 數目,而且有學習速率等參數需設定,

工作相當費時。

2、類神經網路以迭代方式更新連結權重 值與閥值,計算量最大,相當耗費電腦 資源。

3、類神經網路的解有無限多組,無法得知 哪一組的解為最佳解。

4、類神經網路訓練的過程中無法得知需 要多少神經元個數,太多或太少的神經 元均會影響系統的準確性,因此往往需 以試誤的方式得到適當的神經元個數。

5、類神經網路因為是以建立數值結構(含 加權值的網路)來學習,其知識結構是隱 性的,缺乏解釋能力。而歸納學習,其 知識結構是顯性的,具解釋能力。

資料來源:「資料採礦與商業智慧-SQL Server 2005」,謝邦昌,2005。

倒傳遞類神經網路有幾個重要的參數,包括隱藏層處理單元數目、隱藏層 層數、學習速率,以下分別加以說明:

1.隱藏層處理單元數目

類神經網路最常需要調整的參數為隱藏層與隱藏節點的個數,然而隱藏節 點的設定仍然是個未知的謎題。節點個數太少會削減記憶能力(memorization),

導致無法表達複雜的問題,過多則會降低歸納規則的能力(generalization)。隱藏 層之處理單元數目愈多,可以使網路達到更小的誤差值,特別是「訓練樣本」

之誤差值,但是,處理單元數愈多也會使得網路收斂得愈慢,而且,超過一定 數目後再增加則對降低「測試樣本」的誤差幾乎沒有幫助。一般大多採用試誤 法找出最佳處理單元數。通常介於輸入層個數與輸出層個數總和的一半,到輸 入層個數的兩倍之間。

一般而言,隱藏層單元數目選取之幾項原則如下:

(1)葉怡成(2004)建議選取公式如下:

a.隱藏層單元數目=(輸入層單元數+輸出層單元數)/2 b.隱藏層單元數目=(輸入層單元數*輸出層單元數)1/2 c.隱藏層單元數目=(輸入層單元數+輸出層單元數)*2 (2)問題雜訊高時,隱藏層處理單元數目宜少。

(3)問題複雜性高時,隱藏層處理單元數目宜多。

(4)測試範例誤差遠高於訓練範例誤差,隱藏層處理單元數目宜減少;反之,

則應增加。

2.隱藏層層數

大部分在1至2層時都有很好的收斂結果,層數越多,計算越複雜,造成更 多的局部最小值。一般認為最多只要二層隱藏層即可處理任何問題。而且,在 使用倒傳遞網路時,一定要先以無隱藏層之架構測試,因為無隱藏層之倒傳遞 網路其效果接近統計學上一些線性假設的方法,如果準確度較有隱藏層者更

在文檔中 中 華 大 學 碩 士 論 文 (頁 61-75)

相關文件