Hopfield神經網絡

預備知識算法

先來講說前饋型神經網絡與反饋型神經網絡的區別:網絡

前饋型神經網絡不考慮輸入和輸出在時間上的滯後性,只考慮輸入到輸出的映射關係,反饋型神經網絡則考慮了輸入到輸出之間的延遲異步

再來講說hebb學習規則:函數

兩個神經元同時興奮或抑制,那麼它們的鏈接權值將增大,若是兩神經元不是同時興奮或抑制,那麼它們的鏈接權值將減少學習

數學表達式爲:spa

                  Wnew=Wold+ηpTtblog

若是初始權值爲零矩陣,那麼同步

                 W=ηpTt數學

開始結束hopfield神經網絡,主要講離散hopfield神經網絡:神經網絡

hopfield神經網絡系統的穩定性主要經過能量函數進行分析,在知足必定條件下,某個特定的能量函數在網絡的運行過程當中不斷減少,直到達到平衡狀態

hopfield神經網絡的能量函數定義爲:

                      E=-1/2X(t)TWX(t)+X(t)TT

下面來證實網絡的穩定性:

                    ΔE=E(t+1)-E(t)-------1

                    ΔX=X(t+1)-X(t)-----2

將能量函數和2帶入1式得:

                   ΔE=E(t+1)-E(t)

                      =-1/2X(t+1)TWX(t+1)+X(t+1)TT+1/2X(t)TWX(t)-X(t)TT

                      =-1/2(X(t)+ΔX)TW(X(t)+ΔX)+(X(t)+ΔX)TT+1/2X(t)TWX(t)-X(t)TT

                      =-ΔXT(t)[WX(t)-T]-1/2ΔXT(t)WΔX(t)

hopfield神經網絡有兩種運行方式,同步運行方式和異步運行方式:

異步運行方式:只有一個神經元的狀態改變,其餘神經元的狀態不變

                   xi(t+1)=sgn(Uj(t)) if i=j

同步運行方式:全部的神經元的狀態都改變

                 X(t+1)=sgn(U(t)

下面先討論異步方式運行:

           ΔX(t)=[0,0,0,0,...,Δxi(t),0,0,0]

因此

           ΔE=-Δxi(t)[∑j=1 to nwijxj-Ti]-1/2Δxi(t)2wij

因爲wij=0

           ΔE=-Δxi(t)[∑j=1 to nwijxj-Ti]

               ==-Δxj(t) Uj(t)

狀況 a xi(t)=0 xi(t+1)=1 Δx(t)=1 因此Uj(t)>0  ΔE<0

狀況 b xi(t)=1 xi(t+1)=0 Δx(t)=-1 因此Uj(t)<0  ΔE<0

狀況 c xi(t)=xi(t+1) Δx(t)=0 因此Uj(t)=0  ΔE=0

因此 ΔE<=0

在異步運行狀況下,網絡總能收斂到平衡的狀態

同步狀況下:

               ΔE=-Δxi(t)[∑j=1 to nwijxj-Ti]-1/2Δxi(t)2wij

                  =-∑i=1 to nΔxi(t)Uj(t)-1/2Δxi(t)2wij

上式前部分已經證實小於等於0,後部分只要W知足非負定矩陣,也小於等於0

因此在同步狀況下,只要矩陣知足是非負定矩陣,網絡也能收斂到一個平衡狀態

Hopfield是反饋型神經網絡,上一時段的輸出反饋給下一時段的輸入,各個神經元的輸出都收其餘神經元的影響,下圖是它的拓撲結構:

第j個神經元的加權和:

                          Uj(t)=∑i=1 to nWijxi(t)-θj

故該神經元下一時刻的輸出狀態:

                         xj(t+1)=sgn(Uj(t))

hopfield神經網絡的權值學習採用hebb學習規則,下面開始hopfield算法的學習,步驟以下:

1 輸入須要記憶的樣本P(n維正交向量)將其初始化爲網絡的初始狀態X=P,設置迭代步數,並計算網絡的權值W

           W=∑i=1 to n[PTP-I] 由於wij=0 因此減去單位矩陣

2 進行迭代計算

             xi(t+1)=sign((Uj(t))

3 當達到迭代步數或網絡的狀態不在改變時,網絡運行結束,不然繼續迭代

相關文章
相關標籤/搜索