人工神經網路演算法

2022-07-20 15:30:11 字數 3905 閱讀 3592

** 

人工神經網路

學習是要透過我們的頭腦,因而研究大腦神經細胞的運作,可以幫助我們了

解學習在腦神經是如何完成的,進而可以模擬神經細胞的運作以達到類似學習的

功能。據估計人腦約有一千億(1011)個神經細胞,每個神經細胞約有一千(103)

根連結與其它神經細胞相連,因此人腦中約有一百萬億(1014)根連結,形成一

個高度連結網狀的神經網路(neural network)。科學家們相信:人腦的資訊處理工作即是透過這些連結來完成的 [葉怡成1993]。

神經細胞的形狀與一般的細胞有很大的不同,它包括:細胞體(soma):神經

細胞中呈核狀的處理機構;軸突(axon):神經細胞中呈軸索狀的輸送機構;樹狀

突(dendrites):神經細胞中呈樹枝狀的輸出入機構;與突觸(synapse):樹狀突上呈點狀的連結機構。根據神經學家的研究發現:當神經細胞透過神經突觸與樹

狀突從其它神經元輸入脈波訊號後,經過細胞體處理,產生乙個新的脈波訊號。

如果脈波訊號夠強,將產生乙個約千分之一秒100 毫伏的脈波訊號。這個訊號再

經過軸突傳送到它的神經突觸,成為其它神經細胞的輸入脈波訊號。如果脈波訊

號是經過興奮神經突觸(excitatory synapse),則會增加脈波訊號的速率;相反的,如果脈波訊號是經過抑制神經突觸(inhibitory synapse),則會減少脈波訊號的速率。因此,脈波訊號的速率是同時取決於輸入脈波訊號的速率,以及神經突觸的強度。而神經突觸的強度可視為神經網路儲存資訊之所在,神經網路的學習即在調整神經突觸的強度。

類神經網路(artificial neural networks),或譯為人工神經網路,則是指模仿生物神經網路的資訊處理系統,它是由許多人工神經細胞(又稱為類神經元、人工

神經元、與處理單元)所組成,人工神經細胞,如圖15-18 所示。本節將**最

古老、也是最基本的類神經網路模式——感知機(perceptron),它是1957 年由

rosenblatt 所提出。感知機的基本原理是由腦神經模型所啟發,特別是1943 年

mcculloch 和pitts 所共同提出的數學模型,通稱為mp 模型,以及hebb 所提出

的神經元學習規則,通稱為hebb 學習規則。

mp 模型的要點如下:(1) 神經元的狀態為興奮或抑制二者之一,可用0 表示

抑制狀態,用1 表示興奮狀態。(2) 神經元與其它神經元間的連結,可用乙個加

權值(weight)表示連結強度。(3) 神經元的狀態會經由連結輸出到其它神經元,

成為其輸入。(4) 神經元的狀態受其相連的神經元制約,當從這些神經元傳來的

輸入訊號(即該神經元的狀態)經過連結以加權乘積和計算所得的值大於某門坎

值(threshold)時,神經元的狀態將成為興奮狀態;否則,為抑制狀態。以公式

表示為:

其中,wij 為神經元 i 與神經元 j 間的連結強度,即連結加權值,xi 為從神經元

i 傳來的輸入訊號,θ j 為神經元 j 的門坎值,f 為轉換函數(transfer function),

通常為乙個階梯函數(step function),其定義如下:

(5) 神經網路的學習過程即在調整神經元間的連結強度,即連結加權值。而hebb

學習規則的要點如下:調整兩個神經元間連結加權值的原則為當第 i 個與第 j 個

神經元同時處於興奮狀態時,則其連結應當加強。hebb 學習規則與動物行為科學

中的條件反射學說一致。

感知機的網路架構有兩種,如圖15-19 所示,一含有隱藏層,另一種則無。

它們皆包括有輸入層與輸出層。輸入層用以表現網路的輸入變數,其處理單元數

目依問題而定,使用線性轉換函數 f (x ) = x,亦即輸入值即為輸出值。隱藏層用

以表現輸入處理單元間的互動影響,其處理單元數目通常以實驗方式決定其最佳

數目,隱藏層可以有一層以上,也可以沒有。輸出層用以表現網路的輸出變數,

其處理單元的數目依問題而定。輸入變數形成乙個輸入向量,輸出變數形成乙個

輸出向量。

圖15-19 感知機網路架構

我們以簡單的無隱藏層的感知機來說明類神經網路的學習機制。在神經網路

的學習中,樣本資料以數值形式表示,每乙個樣本都包含有輸入向量x= [x1, x2, …,xn] 和目標輸出向量t= [t1, t2, …, tm]。一般將所有的樣本資料隨機分為兩部分,一部分為訓練樣本(training samples),另一部分為測試樣本(test samples)。首先,將感知機初始化,即給定每乙個連結乙個隨機亂數值。然後將乙個訓練樣本的輸入向量x輸入感知機中,並利用公式 (15-6.1) 和 (15-6.2) 計算其推論輸出向量y= [y1, y2, …,ym]。此網路利用由訓練樣本輸入之目標輸出向量t和透過網路推得的推論輸出向量y相較之下的誤差,作為修正連結中的加權值的依據,以從訓練樣本中學習隱含的輸入向量與輸出向量之對應關係。差距量 δ j 計算公式如下:

δ j=t j-y j                                          (15-6.4)

若 δ j > 0,表示推論輸出變數y j 小於目標輸出變數t j,根據公式 (15-6.2) 得知連結加權值w ij 太小,故應增加w ij 的值。相反的,若 δ j

< 0,表示推論輸出變數y j 大於目標輸出變數t j,根據公式 (15-6.2) 得知連結加權值w ij 太大,故應減少w ij 的值。加權值之改變量公式可表達如下:

△w ij

=ηδ xi                                         (15-6.5)

其中,η 為學習速率(learning rate),控制每次加權值改變量的幅度。公式 (15-6.5)中,加權值之改變量也應與輸入訊號 xi 成正比,因為訊號越大,其修正量也應越大。同理,輸出單元的門坎值改變量公式計算如下:

△θj=-ηδj                                            (15-6.6)

類神經網路的學習過程,通常以一次乙個訓練樣本的方式進行,直到學習完

所有的訓練樣本為止,稱為乙個學習迴圈(learning cycle)。加權值與門坎值的修正可採用逐步學習(step learning)或批次學習(batch learning),逐步學習是每輸入乙個訓練樣本,計算其加權值與門坎值的修正量後立即修改。而批次學習是在乙個學習迴圈後,計算所有訓練樣本的加權值與門坎值的修正量後,依下列公式計算其整體修正量而修改之。

其中,m 表示第m 個樣本,而n 為訓練樣本總數。乙個網路可以將訓練樣本反覆

學習多個迴圈,直到滿足終止條件為止。而終止條件可訂為執行一定數目的學習

迴圈或是網路已收斂(即誤差不再有明顯變化)。感知機的誤差程度可用總錯誤率

e 定義如下:

學習過程:

1. 設定網路參數。

2. 以均布隨機亂數設定加權值矩陣w,與偏權值向量  初始值。

3. 輸入乙個訓練樣本的輸入向量x與目標輸出向量t

4. 計算推論輸出向量y

5. 計算差距量 δ。

6. 計算加權值矩陣修正量δw,以及偏權值向量修正量 δθ。

7. 更新加權值矩陣w,以及偏權值向量 θ。

8. 重複步驟3 至步驟7 直至到收斂或執行一定數目的學習迴圈。

回想過程:

1. 設定網路參數。

2. 讀入加權值矩陣w與偏權值向量 θ。

3. 輸入乙個測試樣本的輸入向量x

4. 計算推論輸出向量y

?/p>

人工神經網路評價法案例 人工神經網路演算法的例子

大腦中的訊號以大約每秒118.872公尺的速度從乙個神經元跳到另乙個神經元。另一方面,光在一秒鐘內傳播的速度3.0 10 8m s 想象一下,如果人類大腦中想訊號傳播速度也有光那麼快,那將會發生什麼不可思議的事。加州大學洛杉磯分校 ucla 的研究人員周四公布了一種3d列印的光學神經網路,它能讓計算...

人工神經網路 多層神經網路

模型原型 sklearn.neural network.mlpclassifier hidden layer sizes 100,activation relu algorithm adam alpha 0.0001,batch size auto learning rate constant le...

人工神經網路

人工神經網路 artificial neural network,ann 通過對大量歷史資料的計算來建立分類和 模型。神經網路的學習就是通過迭代演算法對權值逐步修改優化的過程。學習的目標是通過修改權值是訓練樣本集中所有樣本都能被正確分類。人工神經元用於模擬生物神經元,人工神經元可以看作乙個多輸入 單...