• 沒有找到結果。

第二章 強化影像品質的方法與原理

2.4 神經網路與模糊系統

2.4.1 回傳神經網路

回傳演算法(Back-propagation algorithm)又稱為廣義δ法則(Generalized delta rule),

是一種多層認知網路學習法則,而且是具有動態回授(Dynamic feedback)的演算法則 [24]-[25]。本論文採用回傳神經網路(Back-propagation neural network)來訓練及測試需要 色彩補償處理的區塊。回傳神經網路是利用指導性學習法則來進行訓練(Supervised training),因此需要事先知道相對於訓練輸入的目標向量(Target vector),在實作上通常 將訓練的輸入向量及目標向量兩者合稱為一個訓練對。對神經網路輸入一組訓練向量後 就可以計算輸出值,再將輸出值和目標值比較得到誤差值,接著類神經網路再依據所求 得的誤差值來修正學習方向。將所有的訓練對輸出後,若誤差總和在容忍範圍(期望值) 內則表示完成訓練,否則必須重複訓練直到收斂為止。

回傳神經網路可以由許多不同的角度層面來解釋。若由數學理論解釋回傳神經網 路時,可以將學習法則視為最小均方演算法(Least mean squares method, LMS)的非線性擴 展。若由函數近似(Function approximation)的角度解釋,可以將它視為S型函數的合成,

也可以將它解釋為輸入與輸出的非線性映射關係,利用學習的過程尋找適當的鍵結值及 臨界值以達成映射的目的。若由神經網路系統架構解釋回傳神經網路,可以將它視為認 知器的層狀延伸。若應用回傳神經網路於圖樣辨識(Pattern recognition)時,則可以視為具

回傳神經網路的架構可以區分為三大部份,分別為一層輸入神經元、一層輸出神 經元,及數量可由單層到數層不等的隱藏層。當來源訊號由輸入神經元進入類神經網路 後,接著傳遞到隱藏層經由作用函數(Activation functions)進行運算,再將運算的結果導 向輸出神經元,然後就可以得到輸出結果。回傳神經網路的學習過程,則可以區分為順 向傳送(Forward transfer)及反向傳送(Backward transfer)兩大部份。順向傳送的輸入訊號,

是由輸入神經元進入後逐層經隱藏層運算,然後再將結果傳向輸出神經元,傳送過程中 每一層的神經元只能影響其下一層的神經元,並無法影響其上一層的神經元。若運算後 的誤差值不符預期的誤差容忍參數(Error tolerance parameter),則運算結果不會進入輸出 神經元,而是啟動反向傳送程序,由原來的連接通路反向將誤差值傳回,同時並修改各 層神經元的權重值(Weights),使誤差值縮小收斂至預期的誤差容忍參數。

在實作上,回傳神經網路的鍵結值計算常用的方法為梯度下降演算法(Gradient descent algorithm),這是一種簡單且較容易實作的最佳化方法。除此之外,也可以採用 牛頓法(Newton's algorithm)、共軛方向法(Conjugate direction algorithm)或準牛頓法 (Quasi-Newton algorithm)等,然而對平行且分散式處理的類神經網路應用裡,這些最佳 化方法並不一定完全適合,如牛頓法需要計算Hessian矩陣的反置矩陣即會增加回傳神經 網路在運算量的成本消耗。

如圖2.5中所示為回傳神經網路的系統架構。根據圖中回傳神經網路系統的架構將 各參數的定義描述如下:

1. H 為第 l 層的神經元個數,若l l=0表示為輸入層,l =1到l= L−1表示為隱藏 層,而l =L則為輸出層。

2. x(pl)(k)定義為第 l 層第 p 個神經元的輸出,其中l =0 K, ,Lp=1 K, ,Hl,而 參數 k 表示第 k 個輸入向量。

3. zq(l+1)(k)定義為第l+1層第 q 個神經元的淨輸入,其中l =0,K,L−1,而參數 k 表示第 k 個輸入向量。

4. w(pql+1)定義為由第 l 層第 p 個神經元到第l+1層第 q 個神經元的鍵結值,w0(lq+1)定 義為第l+1層第 q 個神經元的臨界值,其中l=0,K,L−1,p=1 K, ,Hl

, 1

,

1 +

= Hl

q K 。

5. dn(k)定義為對應於第 k 個輸入向量,輸出層第n個神經元的目標值,其中 HL

n=1 K, , 。

圖2.5 回傳神經網路架構圖

定義神經網路的各參數之後,接著將回傳神經網路的疊代步驟描述於下,其中各 神經元之間的作用函數採用(2.18)式的邏輯訊號函數(Sigmoid activation function),而它的

)

步驟六:鍵結值與臨界值的學習與運算,在這個步驟中必須採用鏈狀法則(Chain rules) 來計算它的鍵結值變化量。

)

回傳神經網路鍵結值的計算,常用的最佳化方法是梯度下降演算法(Gradient descent algorithm),但是梯度下降演算法並不保證能找到整體的誤差極小值(Global error minimum),它可以停滯在局部的誤差極小值(Local error minimum)之中。學習係數α 也 會影響學習效果,若α值設定過小,會使學習速度緩慢;若α 值過大反而會引起鍵結值 振盪。一般的作法是在原先的學習法則中加入動量項(Momentum term):

)

由於回傳神經網路為指導性學習的網路,需要儘可能增加學習的訓練對數量及涵 蓋範圍,回傳神經網路才會產生較佳的輸出結果。因此,謹慎設置初始鍵結值、學習係 數、隱藏層神經元的個數等參數,及妥善安排訓練神經網路的訓練對是非常重要的。

相關文件