• 沒有找到結果。

Neural Network 控制器之設計原理

在文檔中 中 華 大 學 (頁 41-50)

第二章 原理與介紹

2.3 Neural Network 控制器之設計原理

類神經網路最早是由 1943 年學者 McCulloch 及 Pitts 於”A Logical Calculus of Ideas Imminent Nervous Activity”文中首先提出神經元數學模型(MP model)。1949 年 Hebb 提出與動物行為科學中的條件反射學說一致的學習法則。MP 模型與 Hebb 學 習法則使得神經科學與電腦科學能有溝通的橋樑,也對後來的類神經網路發展建立基 礎。

1957 年學者 Rosenblatt 提出由二元值神經元組成的一種類神經網路模式稱之 為感知機模式(Perceptron),主要用於理論研究與樣本識別。1960 年學者 Widrow 提 出自適應線性元件模式(Adaline),它是種連續值的線性網路,這與當時人工智慧領域 的離散符號邏輯推理研究主流有很大的不同。此研究激起了類神經網路研究的第一次 高潮。

然而,在 1969 年學者 Minsky 及 Papert 出版「感知機」一書,書中以數學證 明類神經網路無法解決「互斥(XOR)」問題,網路的學習能力受到極大的限制,因此 類神經網路的研究開始進入挫折期。然而這段期間還是有許多重要的類神經網路模式 被提出,例如 1972 年日本的學者福島邦彥提出認知機模式(Cognitron),1978 年學者 Grossberg 提出自適應共振理論模式(Adaptive Resonance Theory,ART)以及 1980 年學 者 Kohonen 提出自組織映射圖模式(Self-Organizing Map,SOM)。這些模式到目前仍 繼續發展,且有更新的修正模式出現。

直 到 , 1982 年 學 者 Hopfield 提 出 霍 普 菲 爾 神 經 網 路 模 式 (Hopfield Neural Network,HNN),此模式證明類神經網路中的處理單元間之交互作用,可使能量函數 收斂到一局部最小值,並且可以解決自聯想記憶問題。1984年學者福島邦彥提出新認 知機(Neocognitron),在不受輸入式樣位置的偏移與形狀變形的干擾下,透過學習可 以識別手寫數字、字母以及幾何圖形。1984年學者 Hinton 應用統計物理學的模擬退 火觀念,發展出波茲曼機 (Boltzmann machine),其原理是利用「機率最陡坡降法」

求得能量函數最小值。隨後在1985年學者 Hopfield 與 Tank 提出 Hopfield-Tank 網 路模式(Hopfield-Tank Network,HTN)來解最適化問題,證明只要選擇適當的網路架

構與定義計算能量函數,網路可以快速求得良好的最佳近似解。1985年學者 Kosko 提 出雙向聯想記憶網路模式(Bidirectional Associative Memory,BAM),可以解決異聯想 記憶問題。1985年學者 Rumelhart 發表倒傳遞網路(Back Propagation Neteork,BPN) 論文,文中提出倒傳遞網路通用差距法則,不但克服 XOR 問題,此演算法的收斂性 可以理論來證明,是目前應用最廣的網路。

2.3.2 類神經網路架構

最 常 使 用 的 類 神 經 網 路 (Artificial neural networks , ANN or NN) 為 前 饋 式 (Feedforward) NN,學習機構為誤差倒傳遞法(Error back propagation method)。前饋式 NN 分成隱藏層(Hidden layers,一般1至3層,不會太多層,一來沒什麼幫助,二來 增加太多的權重,Weights 及偏壓,Bias)及輸出層(Output layers)每一 NN 有一 個輸出層,其他層皆稱為隱藏層。每一隱藏層可有N個神經元(Neurons),而輸出層的 神經元視問題而定。誤差倒傳遞法藉著輸入圖樣(Input patterns)、輸出標的圖樣(Output target patterns)給 NN 學習,目的為找到最終的 Weights 及 Bias 。 NN 中的計算只 是許多的加、乘,再透過激發函數(Activation functions or transfer functions),變換成 適當的輸出圖樣。因此, NN 很適合做平行處理(Parallel processing),或多處理機之 操作(Multiprocessing)。 NN 因學習能力很強,幾乎任何奇形怪狀的函數,都可以輕 易地模仿。

圖2.19 含有隱藏層之類神經網路架構圖

倒傳遞網路是類神經網路的基本類型之一,而且它是類神經網路模式中最具有 代表性和應用最為普遍的網路。倒傳遞基本原理是利用最陡坡降法的觀念,將誤差函 數予以最小化,直到網路能夠逼近一個預測值,或是能夠用在指定的輸入下聯想輸出 向量。

圖 2.20 類神經網路輸入與輸出加權乘積和之函數表示圖

人 工 神 經 元 是 最 基 本 的 類 神 經 網 路 單 元 , 又 可 稱 為 處 理 單 元 (processing element,簡稱 PE)或節點(node)。類神經網路是由許多人工神經元聯結所組成的,一 個處理單元的輸出是以扇狀送出,成為其它許多處理單元的輸入,如圖 2.20 所示。

處理單元之輸出值與輸入值的關係式,一般可用輸入值的加權乘積和之函數來表示:

其中,

= 模仿生物神經元模型的輸出訊號。

= 模仿生物神經元模型的轉換函數(Transfer function)。

= 模仿生物神經元模型的神經節強度,又稱權重值。

= 模仿生物神經元模型的輸入訊號。

= 模仿生物神經元模型的偏權值。

2.3.3 學習演算法

此章節僅介紹三種本論文所使用之演算法:

梯度下降(Gradient Decent)演算法

傳統的倒傳遞類神經網路通常採用最陡坡降法(Steepest Descent Algorithm)的觀 念,將目標值與實際輸出值之間的誤差函數最小化,藉由調整網路的連結加權值,沿 著負梯度之方向去搜索最佳值,而最佳值通常會落在斜率接近於零的地方,達到網路 學習的目的。但是使用這樣的方法會有以下幾個主要的缺點:(1)容易收斂至局部最 小值(Local Minima),不易獲得全域最小值(Global Minimum);(2)當搜尋結果愈靠近 最小值時,由於梯度變小,權值更新速率變慢,因此疊代次數變多,學習時間變長;

(3)當靠近最小值時,若提高學習速率值,可能會使收斂速率變快,若增加太多也可 能造成發散之結果。

此種演算法的疊代式如下:

其中xk為目前加權值和偏權值的向量,而gk為目前的梯度,η為學習速率。

完成最陡坡降法有兩種不同的方式, 即逐次方式(incremental mode)和批次方式 (batch mode)。在逐次方式中,當輸入一個數據到網路中即計算梯度,並隨即更新權 重值和偏權值。在批次方式中,則是直到輸入所有數據至網路中後才更新權重值和偏 權值。在學習過程中,所有訓練範例都學習完成時,即稱為一個學習循環(learning cycle),一個網路可以將訓練範例反覆學習數個學習循環直到收斂為止。

可變學習速率倒傳遞演算法

傳統的最陡坡降演算法,其學習速率在整個訓練過程中是維持固定不變的,學 習過程需要大量的計算時間與訓練迭代次數。為了改學習速度與收斂情形,可變學習 率演算法是理想的修正方法,讓學習率在網路訓練過程中視情況變化。

在訓練過程中,若學習率比較大,卻仍可使網路保持穩定學習,則持續增加學 習率;若學習率過大而無法降低誤差時,則應減少學習率,直到網路恢復穩定學習。

共軛梯度(Conjugate Gradient)演算法

基本的倒傳遞演算法是在最陡下降方向中調整權重值。但是這樣未必一定會產 生最快的收斂。在共軛梯度演算法(Conjugate Gradient Algorithm)中,則是沿著共軛梯 度方向執行搜尋,使得性能函數可延此方向來極小化,這樣一般會產生較快的收斂。

首先,定義出何謂共軛方向,設A為一個n×n的對稱矩陣(Symmetric Matrix),若 有一n個向量的向量集合{Si},如果{Si}滿足下式

則稱{Si}為一組A-共軛(A-Conjugate)的向量集合。

共軛梯度法(Conjugate Gradient Method)是沿著共軛方向來搜尋最佳值。使用共 軛梯度法可以改善最陡坡降法在最佳值附近收斂緩慢的缺點。共軛梯度法與最陡坡降 法的不同處只在於搜尋方向的差異而已,應用在類神經上可寫成

其中 Ei為目標函數E依序對每個權重之偏微分。

β的功用在於使新的權重修正量能與舊的權重修正量產生共軛,

其中, Ei表目標函數的梯度, 表示前次疊代目標函數的梯 度。第一次疊代時,

當第二次以上時。更新後的權重值為

2.3.4 類神經網路的特性

類神經網路雖不能達到生物神經網路一般具有高度學習、判斷能力,但具下列 特性引起眾多研究者投入有關類神經網路的研究。

1.平行處理的特性

早期人工智慧平行處理的研究只集中在小程度的平行,而最近已朝向超大型方 向進行。類神經網路是以動物的樹狀神經網路為藍本的設計,就是以平行分散的方式 作式子運算,如此便可以同時處理大量的資料,具有高速的計算能力原本因平行技術 未成熟而無法深入研究,現在因超大型平行處理的成熟及若干理論的發展,又成為人 工智慧中最活躍的研究領域。

2.容錯(fault tolerance)特性

其在操作上具有很高之容忍度,整個神經網路都會參與解決問題之運作。如果 輸入資料混雜少許雜訊干擾,仍然不影響其運作之正確。而且即使小部分的神經網路 失效,仍能照常運作,適合於影像鑑別以及聯想上的應用。

3.結合式記憶(Associative Memory)的特性

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

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

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

5.學習能力(Learning)

由於神經元之間透過突觸連結,而突觸是可以調整的,因此能依輸入自我修正、

調整而達到學習效果。

6.超大型積體電路實作(Very-large-scale integration Implementation)

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

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

在 非 常 大 的 推 銷 員 問 題 中 , 為 了 增 加 效 率 起 見 , 我 們 可 利” 個 個 擊 破”(divide-and-conquer)的方法,來求得一條正確可走的路徑。這是用傳統的方法所無 法達到的。

2.3.5 倒傳遞學習過程

倒傳遞演算法的學習過程步驟如下:

步驟 1:一開始先準備訓練範例資料,並且給予正規化。之後要決定網路大小,

包括:隱藏層個數、各層神經元個數。再設定學習率(Learning Rate)、可容忍誤差。

步驟 2:以隨機亂數初始隱藏層權重值與輸出層權重值。

步驟 3:將訓練範例資料以一定或隨機的順序從輸入層進入網路中,計算隱藏層 之輸出值與輸出層之輸出值。

步驟 4:計算隱藏層與輸出層之誤差函數值。

步驟 5:分別修正輸出層與隱藏層之權重值。

步驟 6:判斷是否仍有訓練範例,若有,則回到步驟 3 重複計算與修正,直到目 標函數值達到停止標準,或達到最大訓練次數為止。

圖 2.21 倒傳遞演算法訓練流程圖

在文檔中 中 華 大 學 (頁 41-50)

相關文件