《人工神經網絡》第4章 Hopfield網絡模型


Hopfield 網絡模型

相互連接型的神經網絡模型,簡稱為 HNN (Hopfield Neural Network),解決了具有 NPC 復雜性的旅行商問題(TSP)

對比:

MP模型、感知器模型、自適應神經元Adaline、EBP網絡:屬於前向神經網絡。

學習觀點:是強有力的學習系統,結構簡單易於編程

系統觀點:靜態的非線性映射,通過簡單非線性處理單元復合映射獲得復雜的非線性處理能力,缺乏反饋,不是強有力的動力學系統

Hopfield:反饋型神經網絡

具有很強的計算能力注重系統穩定性穩定性是具有聯想記憶功能神經網絡模型的核心,學習記憶過程就是系統向穩定狀態發展的過程。

 

4.1  離散型Hopfield神經網絡

反饋神經網絡作為非線性動力學系統,有豐富的動態特性:穩定性極限環奇怪吸引子(混沌)等。

兩個重要特性:1、系統有若干個穩定狀態,若從某一個初始狀態開始運動,系統總可以進入其中一個穩定狀態;2、系統的穩定狀態可以通過改變各個神經元之間的連接權值得到

網絡穩定性由能量函數判定

 

4.1.1  離散 Hopfield 神經網絡模型

離散 Hopfield 神經網絡是一個離散時間系統,工作原理:

設有 n 個神經元,V 是神經網絡的狀態矢量,vi 是第 i 個神經元的輸出,輸出值是0或1的二值狀態。對任意神經元 i ,v1、v2,... 、vn 是第 i 個神經元的輸入,他們對神經元的影響程度用連接權 wi1、wi2、... 、win 表示,θi 是閾值,則有,


Hopfield 網絡是對稱網絡wij = wji 。當 wii = 0 時,稱為無自主反饋的離散 Hopfield 網絡,反之,稱為有自主反饋的Hopfield網絡。

Hopfield 網絡兩種工作方式:

1、異步方式:在任一時刻 t ,只有某個神經元按式(4.1)發生變化,而其余 n - 1 神經元保持不變

2、同步方式:在任一時刻 t ,有部分神經元按式(4.1)變化(部分同步)所有神經元按式(4.1)變化(全並行同步)

[ 定義4.1 ]  若神經網絡從 t = 0 的任意一個初始狀態 V(0) 開始,存在一個有限的時刻,從該時刻后,神經網絡狀態不再發生變化,即:

    V( t + Δt ) = V( t ) ,Δt > 0

則稱網絡是穩定的。

 

4.1.2  網絡的變化

對於 n 節點的 HNN 有 2n 個可能的狀態,網絡狀態用一個包含 0 和 1 的矢量表示。每個時刻整個網絡處於一個狀態。狀態變化采用隨機異步更新,隨機的選擇下一個要更新的神經元,且允許所有的神經元具有相同的平均變化率

節點狀態更新的三種情況:由 0 變為 1 、由 1 變為 0 、狀態保持不變

按照單元異步更新的工作方式,某一時刻網絡中只有一個節點被選擇更新狀態,當該節點狀態變化時,網絡狀態就以某一概率轉移到另一種狀態;當該節點狀態保持不變時,網絡狀態更新的結果保持前一時刻狀態。通常,網絡從某一初始狀態開始經過多次更新后,才可能到達某一穩態。

異步狀態更新的好處:

1、算法容易實現,每個神經元節點有自己的狀態更新時刻,不需要同步機制

2、以串行的方式更新網絡的狀態可以限制網絡的輸出狀態避免不同穩態以等概率出現

一但給出了 HNN 的權值和神經元的閾值,網絡的狀態轉移序列就確定了

Th 4.1 若神經網絡的連接矩陣 W 是零主對角元素的對稱矩陣,即滿足 wij = wji 且 wii = 0, i = 1,2,... ,n,網絡狀態按串行異步方式跟新,網絡狀態必收斂於狀態空間中的某一個穩定狀態。

 

4.1.3  能量函數

能量函數用來描述系統的穩定性

4.1.3.1  能量函數的定義

 

由上圖可發現,狀態轉移關系規律:任意一個狀態要么在同一“高度”變化,要么從上到下轉移

Hopfield 網絡模型是一個多輸入多輸出帶閾值二態非線性動力系統

在滿足一定的參數條件下,某種能量函數在網絡運行過程中是不斷降低、最后趨於穩定平衡狀態。這種能量函數作為網絡計算求解的工具,被稱為計算能量函數

Hopfield 網絡狀態變化分析的核心是對每個網絡的狀態定義一個能量 E ,任意一個神經元節點狀態發生變化時,能量 E 都將減小。

假設第 i 個神經元節點狀態 vi 的變化量為 Δvi ,相應的能量變化量記為 ΔEi 。所謂能量Ei隨狀態變化而減小意味着 ΔEi 總是負值

兩種情況:

(1) 當狀態 vi 由 0 變為 1 時, Δvi > 0 ,必有 Neti > 0

(2) 當狀態 vi 由 1 變為 0 時, Δvi < 0 ,必有 Neti ≤ 0

所以,Δv和  Neti 的積總是正的。則:

    ΔEi = - Neti Δvi 

即:

 

式 (4.2) 出現 1/2 因子,是因為離散 Hopfield 網絡模型中,wij = wji ,如果直接求 ΣEi ,會使 Ei 中每一項都計算兩次。

 

Th 4.2  在離散 Hopfield 模型狀態更新過程中,能量函數 E 是隨狀態變化而嚴格單調遞減的。

Th 4.3  離散 Hopfield 模型的穩定狀態與能量函數 E 在狀態空間的局部最小點是一一對應的。

 

4.1.3.2  設計能量極小點

當網絡的能量極小點被選擇和設定時,網絡具有的能力才能發揮作用。

能量極小值點的分布由網絡的連接權值閾值所決定。

設計極小值點的核心:如何獲取一組合適的參數值。

兩種方法:

1、根據求解問題的要求,直接設計出所需要的連接權值——靜態學習方法,對於一個具體應用而言,權矩陣為定常矩陣,如 TSP 求解等

2、通過提供的附加機制來訓練網絡,使其自動調整連接權,產生期望的能量極小點——動態學習方法,如聯想記憶的實現等

 

4.1.4  離散 Hopfield 網絡的學習與聯想記憶

Hopfield 網絡用於計算時,其權矩陣給定為 W ,目的是尋找具有最小能量 E 的網絡穩定狀態;作為記憶的學習時穩定狀態是給定的,通過網絡的學習求合適的權矩陣 W(對稱陣)。一旦學習完成后,以計算的方式進行聯想

只要 Hopfield 神經網絡的權值矩陣 W 是對稱的,其網絡狀態最終將收斂到由 W 及其閾值 θ 所定義的能量函數的極小點,就可以實現聯想記憶功能。

聯想記憶:預先把要記憶的完整模式以一定方式形成記憶矩陣,然后把他們記憶到計算機中。之后,當網絡輸入不完整模式時,可以通過記憶矩陣和閾值函數的作用,在網絡的輸出端得到完整的模式。

Hopfield 網絡,可以采用 Hebb 學習規則誤差型學習算法

基於 Hebb 學習規則的 Hopfield 網絡的學習:對給定的 M 個模式,Hopfield 網絡學習按 Hebb 學習算法進行:

 

按上述規則求出權矩陣后,可以認為網絡已經將這 M 個模式存入網絡的連接權中。

在聯想過程中,先給出一個原始模式 m0 ,使網絡處於某種初始狀態下,用網絡方程動態運行,最后達到一個穩定狀態。如果此穩定狀態對應已存貯的 M 個模式中某個模式 mk ,則稱 mk 是由模式 m0 聯想起來的。

Hopfield 網絡用於記憶聯想,是受其記憶容量和樣本差異制約的。當記憶的模式較少,且模式之間的差異較大,則聯想的結果就比較正確;當需要記憶的模式較多,容易引起混淆,網絡達到的穩定狀態往往不是已記憶的模式;當需要記憶的模式之間較為相近時,網絡就不能辨別出正確的模式,甚至連自身都會搞錯,即使用已記憶的模式作為聯想模式(自聯想),也可能會出錯。

網絡的記憶容量問題:


 

 

 

4.2  連續型 Hopfield 神經網絡

由簡單電子線路實現的連續時間神經網絡模型

4.2.1  模型結構

將離散的 Hopfield 神經網絡模型擴展到連續時間的動力學模型,其網絡的連接方式不變,仍然是全互聯對稱結構。連接型 Hopfield 神經網絡( HNN )如下圖所示

 

其動力模型如下:

與離散的 HNN 相比較,上式多了一個一階慣性環節( 連續時間動力學方程 )。實際上,離散的 HNN 中直接有 ui = si 。特別注意:函數 f(•) 是連續的 S 型函數,不再是二值函數。

Hopfield 用模擬電路設計了一個連續 Hopfield 神經網絡的電路模型,如下圖表示其中由運算放大器電路實現的一個節點的模型

 

 

網絡節點神經元由運算放大器實現。該模型,電路方程是:

 

 

式 ( 4.12 ) 中,ui 是神經元 i 的內部狀態;vi 是神經元 i 的輸出;wij 是神經元 i,j 之間的連接權。該式就是系統的動態方程

動態方程描述了神經元 i 的輸出和其內部狀態 ui 之間的關系。連續型 Hopfield 網絡實質上是一個連續的非線性動力學系統,由一組非線性微分方程來描述。給定初始狀態 vi (0),( i = 1,2,...,n )通過求解非線性微分方程組即可求得網絡狀態的運動軌跡。若系統是穩定的,則它最終會收斂到一個穩定狀態。若用模擬電路的硬件來實現此模型,求解非線性微分方程的過程將由該電路自動完成,求解速度非常的快。

 

當 u0 不斷減小時,S 型函數之間和一個階躍函數靠近。

 

4.2.2  穩定性分析

和離散的 Hopfield 網絡一樣,Hopfield 對連續型的模型定義了一個 Lyapunov 意義下的計算能量函數

 

 

連續型 Hopfield 神經網絡特性:

1、系統在運行過程中,能量函數會逐漸減小到某一極小狀態

2、系統的極小狀態一般不止一個,存在有限個平衡點

3、連續型 Hopfield 神經網絡可以用模擬電路實現。電路中的放大器和電阻電容等器件的電氣特性在物理上對生物神經網絡的某些特征有較好的模擬

 

4.3  旅行商問題( TSP )的 HNN 求解

4.3.1  計算復雜性

計算復雜性( Computational Complexity )涉及計算問題求解的定量分析,用定量分析以確定解決某一類問題算法所需要的計算資源的限額。通常用 n 表示某一計算問題的規模大小。

算法:將問題一步一步解決過程的規則描述

衡量算法復雜度的方法:與計算時間有關的程序長度,並行計算時並發步的層數(程序的深度),所需要的存貯容量執行算法所需要的時間

圖靈機模型

利用圖靈機可以給算法復雜性下一個形式化的定義,即從輸入 x 開始,到停機為止的運行步數,作為圖靈機對輸入 x 的時間復雜性。

對於任意長度小於等於 n 的輸入,某一確定型圖靈機從初始狀態 q0 開始,在不超過 n 的多項式 p(n) 步停機,則稱機器在 p(n) 時間內運行,或輸入 x 在 p(n) 時間內接受。

用確定型圖靈機在多項式時間內能解決的問題,或者說解決某一問題算法的時間復雜型為O (p (n))( n 為問題的規模,p 為 n 的某一多項式表達),則稱該問題為時間問題 P類

對於時間復雜性為 p(n) 的計算問題,是易於用快速計算機在有限時間內解決的。

復雜性較高的問題:矩陣運算、FFT 運算、文件檢索、數據排列、任務分配、路由選擇等

當某種問題的計算復雜性大到不能用多項式的時間函數來表示時,稱它具有指數復雜性( Exponential Complexity)。呈指數增長的時間復雜性要比多項式時間復雜性大得多。

基本術語:

[ P類問題 ]  可以用多項式時間復雜性 O (p (n)) 的算法解決的問題,也就是在有限個 0 和 1 組成的符號串集合 {0,1} 中,那些為圖靈機在多項式時間內所接受的子集。

如,時間復雜性 O(n),O(n2

當多項式 p(n)的最大階數 K 的數值較大時,隨着規模 n 的增大,將會使問題的計算耗時相當大。但他們仍屬於 P 類問題。

[ NP 問題 ]  一類不能用每一步都唯一確定的確定算法( Deterministic Algorithms )來解決計算難度較大的問題。它能用一種非確定算法( Non-Deterministic Algorithms )在多項式時間內加以解決。

非確定算法包含兩級算法:第一級是猜想級,第二級是檢驗級。非確定圖靈機(NTDM)在猜想階段隨機地選定一個 {0,1} 序列輸入作為答案,在檢驗級階段檢查輸入“是”的答案,然后輸出“是”或者“不是”。如果在檢驗級階段能以多項式時間進行“否”的檢驗,則稱它屬於 Co-NP 類。

[ NPC 問題 ]  NP 完全( NP-Complete )問題。

[ 超 NP 類問題 ]  除 P 類和 NP 類問題外,還有很多重要的問題,它們用非確定性圖靈機也無法計算解決。這些被稱為超 NP 類問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM