有两个隐含层的多层感知器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15
下一步是權重訓練。要更新網路中的權重和臨 界值,需要從輸出層後向傳送誤差 e到輸入層。
首先,計算輸出層神經元5的誤差梯度:
y5 (1 y5 ) e 0.5097 (1 0.5097) ( 0.5097) 0.1274
5
接下來,假設學習率參數 α為0.1,確定權重的校 正值:
3
多層網路的學習過程和感知器的一樣。
要給網路提供輸入型樣的訓練集。
網路計算其輸出型樣,如果有錯 —也就是說實 際輸出和期望輸出型樣不一致 —就調節權重來 減小誤差。
4
後向傳送神經網路
在後向傳送神經網路中,學習演算法有兩個階 段。 首先將訓練輸入型樣提供給網路的輸入端。輸 入型樣在網路中一層層地傳送,直到輸出層產 生輸出型樣為止。 如果輸出型樣和網路預期的輸出型樣不同,則 計算誤差,然後從網路的輸出端後向傳送回輸 入端,在傳送誤差時調整權重的值。
多層神經網路
多層感知器是有一個或多個隱含層的前饋神經 網路。
網路包含一個源神經元的輸入層,至少一個計 算神經元的中間層或隱含層,以及一個計算神 經元的輸出層。
輸入信號一層一層地向前傳遞。
1
有兩個隱含層的多層感知器
2
這個層隱藏了什麼?
隱含層“隱含”了它期望的輸出值。隱含層的 神經元不能透過網路的輸入輸出行為來分析。 沒有明顯的方式可以瞭解隱含層的期望的輸出 值。 商用ANN一般有三層或四層,包含一到兩個隱 含層。每層有10~1000個神經元。實驗神經網 路可能有五層甚至六層,包含三到四個隱含層, 有數百萬個神經元。
w35 y3 5 0.1 0.5250 (0.1274) 0.0067 w45 y4 5 0.1 0.8808 (0.1274) 0.0112 5 ( 1) 5 0.1 (1) (0.1274) 0.0127
n y j ( p ) sigm oid xi ( p) wij ( p ) j i 1
其中n是隱含層神經元j輸入的個數,sigmoid 為 S形激勵函數。
8
步驟2:激勵(續) (b)計算輸出層神經元的實際輸出:
m yk ( p) sigm oid x jk ( p) w jk ( p) k j 1
其中m為輸出層神經元k的輸入個數。
9
步驟 3:訓練權重
修改後向傳送網路中的權重(後向傳送網路向後傳 送與輸出神經元相關的誤差)。 (a)計算輸出層神經元的誤差梯度:
k ( p) yk ( p)
1 yk ( p) ek ( p)
其中 ek ( p) yd ,k ( p) yk ( p) 計算權重的校正:
14
訓練集的輸入 xl和x2都為1,期望輸出yd,5為0。隱 含層中的神經元3和4的實際輸出為:
(10.510.410.8) y3 sigmoid ( x1w x w ) 1 / 1 e 0.5250 13 2 23 3
y4 sigmoid ( x1w14 x2w24 4 ) 1/ 1 e (10.911.010.1) 0.8808
5
三層後向傳送神經網路
6
後向傳送的訓練演算法
步驟 1: 用很小範圍內均勻分佈的亂數設定網路的權重 和臨界值:
2.4 2.4 F , F i i
其中Fi是網路中神經元i的輸入的總數。權重的 初值要一個神經元一), x2(p), …, xn(p)和期望的輸 出 yd,1(p), yd,2(p), …, yd,n(p)來激勵後向傳送神 經網路。 (a)計算隱含層神經元的實際輸出:
12
執行Exclusive-OR運算的三層網路
13
隱含層或輸出層的某個神經元的臨界值的作用可 用它的權重θ來表示,θ與一個等於1的固定輸入 相連。 權重和臨界值的初值可隨意設定如下:
w13 = 0.5, w14 = 0.9, w23 = 0.4, w24 = 1.0, w35 = 1.2, w45 = 1.1, 3 = 0.8, 4 = 0.1 以及 5 = 0.3
k 1
l
計算權重的校正:
wij ( p) xi ( p) j ( p)
更新隱含層神經元的權重:
wij ( p 1) wij ( p) wij ( p)
11
步驟 4:疊代
疊代次數p加1,回到步驟 2,重複上述過程直到 滿足誤差要求為止。 舉個例子,考慮如圖 6-10 所示的三層後向傳送 網路,假設網路需要執行的邏輯運算是 Exclusive-OR。回憶一下,單層的感知器不能進 行這樣的運算。這裏使用三層的網路。
現在可以確定輸出層神經元5的實際輸出為:
1.20.8808 1.11 0.3) y5 sigm oid( y3w35 y4w45 5) 1/ 1 e(0.5250 0.5097
因此,得到誤差:
e yd,5 y5 0 0.5097 0.5097
w jk ( p) y j ( p)
k ( p)
更新輸出神經元的權重:
w jk ( p 1) w jk ( p) w jk ( p)
10
步驟 3:訓練權重(續) (b)計算隱含層神經元的誤差梯度:
j ( p)
y j ( p) [1 y j ( p)] k ( p) w jk ( p)
16
下面計算隱含層中神經元3和4的誤差梯度:
3 y3(1 y3) 5 w35 0.5250 (1 0.5250) ( 0.1274) ( 1.2) 0.0381 4
y4 (1 y4 ) 5 w45 0.8808 (1 0.8808) ( 0.1274) 1.1 0.0147
相关文档
最新文档