深度學習 --- Hopfield神經網路詳解(吸引子的性質、網路的權值的設計、網路的資訊儲存容量)
上一節我們詳細的講解了Hopfield神經網路的工作過程,引出了吸引子的概念,簡單來說,吸引子就是Hopfield神經網路穩定時其中一個狀態,不懂的請看 Hopfield神經網路詳解,下面我們就開始看看吸引子有什麼性質:
1.吸引子的性質
性質1:若是網路的一個吸引子,且閾值,在處,,則也一定是該網路的吸引子。
證明: 因為是吸引子,即,從而有:
所以也一定是該網路的吸引子。
性質2: 若是網路的一個吸引子,則與的海明距離的一定不是吸引子。
注:所謂海明距離是通訊的含義就是說狀態位不一樣的個數,如1100和1000,其海明距離為1,因為不同的位就只有1位,
證明:兩個向量的海明距離
,因為,由吸引子定義,有:
由假設條件知,,故:
所以一定不是吸引子。
性質3:
若有一組向量均是網路的吸引子,且在sgn(0)處,,則有該組向量線性組合而成的向量也是該網路的吸引子。
2.吸引子的吸引域
能使網路穩定在同一吸引子的所有初態的集合,稱該吸引子的吸引域,下面給出吸引域的定義:
定義1: 若是吸引子,對於非同步方式,若存在一個調整次序,使網路可以從狀態演變到,則稱弱吸引到;若對於任意調整次序,網路都可以從狀態演變到,則稱強吸引到
定義2:若對於某些,有弱吸引到吸引子,則稱這些的集合為的弱吸引域;若對某些,有強吸引到吸引子,則稱這些的集合為的弱吸引域。
欲使反饋網路具有聯想能力,每個吸引子應該都具有一定的吸引域,這樣這樣帶噪聲和缺失資訊的初始樣本,網路才能經過動態演變而穩定到某一個吸引子狀態,從而實現正確的聯想。反饋網路設計的目的就是要使網路能落到期望的穩定點上,並且具有最可能大的吸引域,以增強聯想的功能即抗干擾的能力。
下面舉個例子來說明是如何聯想的:
這裡就不畫圖了,直接從書中截圖過來,然後詳細講解:
先解釋一下,(a)圖是說明的權值和閾值,其中圓圈內的是閾值即,連線旁邊的是權值,狀態的排列是這樣的即:,假設的狀態的更新順序為,在假設初始狀態為000,那麼下面開始第一步更新:
設各節點狀態取值為1或者0,3節點的DHNN網路應有種狀態,設,更新順序為:,下面開始:
第一步更新: ,其他節點狀態不變,網路的狀態由變為,如果先更新或者,網路狀態仍為,因此初始狀態保持不變的概率為,而變為的概率為。
第二步,此時的網路為,更新後,得到其他節點保持不變,網路狀態仍為,如果本步先更新或者,網路的狀態將為和,因此本狀態保持不變的概率為,為變為為。
第三步,此時的網路狀態為,更新得到,
同理可算出其他狀態的直接的演變過程和狀態轉移概率,如上圖b給出八種狀態,從圖中我們看到是一個吸引子,網路從任意狀態更新後都將達到此穩定狀態。
上面就是網路的轉移過程和聯想過程,下面我們來看看,如何設計吸引子,即如何設定網路權值。
3.網路的權值設計
從上面我們知道了網路是如何動態的更新到吸引子的,那麼我們現在如何設計吸引子呢?
吸引子的分佈是由權值決定的,設計吸引子的核心是如何設計一組合適的權值,為了使所設計的權值滿足要求,權值矩陣應符合如下要求:
- 為保證非同步方式工作時網路收斂,應該為對稱陣
- 為保證同步方式工作時網路收斂,應該為非負定對稱陣
- 保證給定的樣本是網路的吸引子,並且要有一定的吸引域
根據所要求的的吸引子的數量,可以採用不同的方法設計吸引子,如下:
聯立方程法:
下面根據上圖的3個節點繼續設計吸引子,設要求設計的吸引子為和,權值和閾值在【-1,1】區間取值,試求權值和閾值。
考慮到,對於狀態,各節點淨輸入應該滿足如下:
對於狀態,各節點淨輸入應滿足:
聯立可以接得:權值的範圍,在範圍內選擇一個權值就可以,下面直接給出答案了,權值不唯一:
因此該引數的從初態最終會演變到我們設計的兩個吸引子中。
但是此種方法只適合吸引子較少的時候計算,如果吸引子較多時就需要採用外積和法。
外積和法:
更為通用的權值設計方法是採用Hebb規則的外積和法,設給定P個模式樣本,,並且設樣本兩兩正交,且n>p,則權值矩陣為記憶樣本的外積和:
若,上式寫為:
式中,為單位矩陣,上式寫成分量形式,可寫為:
所以上面w必然滿足對稱性要求,下面還需要檢查一下是否為吸引子。
因P個樣本,是兩兩正交的,有:
所以:
因為n>p,所以有:
可見給定樣本,是吸引子,但是需要指出來的是我們設計時有時候並不能正好的設計那麼多,例如我需要60個吸引子,但是我需要設計64個吸引子,因此會多出4個吸引子,該吸引子稱為偽吸引子。下面畫個圖給大家理解一下什麼意思,偽吸引子並不是我們想要的,但是它存在:
假如吸引子a,b,c是我們設計的吸引子,但是後面的就是偽吸引子,如何處理偽吸引子,我們將在下節繼續討論,這裡先提一下。
4.網路的資訊儲存容量
當網路規模一定時,所能記憶的模式是有限的,對於所容許的聯想出錯率,網路所能儲存的最大模式數稱為網路容量,網路的容量與網路的規模、演算法以及記憶模式向量的分佈都有關係,下面給出DHNN網路儲存容量的有關定理:
定理1: 若DHNN網路的規模為n,且權矩陣主對角線元素為0,該網路的資訊容量上界為n。
定理2: 若P個記憶模式,是兩兩正交的,n>p,且權值矩陣按照進行求得,則所有P個記憶模式都是DHNN網的吸引子.
定理3:若P個記憶模式,是兩兩正交的,n>p,且權值矩陣按照進行求得,則所有P個記憶模式都是DHNN網的吸引子.
從上面的定理可知,當用外積設計DHNN網路時,如果記憶模式都滿足兩兩正交的條件,則規模為n維網路最多可記憶n個模式,一般情況,模式樣本不可能都滿足正交條件,對於非正交模式,網路的資訊儲存會大大降低。
事實上,當網路規模n一定時,要記憶的模式越來越多,聯想時出錯的可能性很大,反之,要求出錯率越低,網路的資訊儲存容量上限越小。研究表明當儲存模式數P超過0.15n時,聯想時就有可能出錯,錯誤結果對應的是能量的區域性極小點,或稱為偽吸引子。
提高網路儲存容量有兩個基本途徑:
1.改進網路拓撲結構
2.改進網路的權值設計方法
常用的改進方法有:反覆學習法、糾錯學習法、移動興奮門限法、偽逆法、忘記規則和非線性謝謝規則等。
我們們知道了, Hopfield神經網路的最大問題在於偽吸引子的存在,一旦存在偽吸引子,因此容易造成錯誤,如何處理偽吸引子就是我們下一節所要解決的。
到這裡DHNN就結束了,CHNN這裡不講了,感興趣的自行查閱資料瞭解。