多層神經網路:模式識別
相互連線型網路:通過聯想記憶去除資料中的雜訊
2023年提出的hopfield神經網路是最典型的相互鏈結型網路。
當輸入模式為某種狀態時,輸出端要給出與之相應的輸出模式。
如果輸入模式與輸出模式一致,稱為自聯想記憶,否則,稱為異聯想記憶。
網路結構上,hopfield神經網路是一種單層互相全連線的反饋型神經網路。每個神經元既是輸入也是輸出,網路中的每乙個神經元都將自己的輸出通過連線權傳送給所有其它神經元,同時又都接收所有其它神經元傳遞過來的資訊。即:網路中的神經元在t時刻的輸出狀態實際上間接地與自己t-1時刻的輸出狀態有關。神經元之間互連線,所以得到的權重矩陣將是對稱矩陣。
假設有n個單元組成的hopfield神經網路,第i個單元在t時刻的輸入記作ui(t),輸出記作xi(t),連線權重為wij,閾值為bi(t),則t+1時刻i單元的輸出xi(t+1)可表示為:
在hopfield神經網路中,每個時刻都只有乙個隨機選擇的單元會發生狀態變化。由於神經元隨機更新,所以稱此模型為離散隨機型。
對於乙個由n個單元組成的網路,如果要完成全部單元的狀態變化,至少需要n個時刻。
根據輸入模式聯想輸出模式時,需要事先確定連線權重wij,而連線權重wij要對輸入模式的訓練樣本進行訓練後才能確定。
和多層神經網路一樣,一次訓練並不能確定連線權重,而是要不斷重複這個過程,直到滿足終止判斷條件,而這個指標就是hopfield神經網路的能量函式e。
當輸入模式與輸出模式一致時,能量函式e的結果是0。
根據前面定義的狀態變化規則改變網路狀態時,上式中定義的能量函式e總是非遞增的,即隨時間的不斷增加而逐漸減小,直到網路達到穩定狀態為止。
單元之間的連線權重對稱 (wij = wji)
每個單元沒有到自身的連線 (wii = 0)
單元的狀態採用隨機非同步更新方式,每次只有乙個單元改變狀態
n個二值單元做成的二值神經網路,每個單元的輸出只能是0或1的兩個值
問題
當需要記憶的模式之間較為相似,或者需要記憶的模式太多時,hopfield神經網路就不能正確地辨別模式。這種相互干擾、不能準確記憶的情況成為串擾(crosstalk)。
hopfield神經網路能夠記憶的模式數量有限,大約是網路單元數的15%左右,為了防止串擾,可以採用先把模式做正交化再進行記憶等方法。
但是正交化方法並不能完全解決問題,玻爾茲曼機
可以解決這一問題。
Hopfield神經網路
import numpy as np import neurolab as nl import matplotlib.pyplot as plt 0 1 2 16 8 target np.array 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,...
hopfield神經網路
初次接觸hopfield神經網路,有一些約束沒有注意,導致生出很多愚蠢的想法。一 hopfield神經網路其實沒有層的概念,所有的神經元全連線就形成了乙個hopdield神經網路的基本結構。既然是全連線,那麼誰先誰後 誰左誰右就沒有意義了,反正都是互聯的。二 hopfield神經網路既然沒有層的概念...
Hopfield神經網路
目錄hopfield網路計算圖 hopfield網路的能量函式 hnn型別 chnn 定義 forall x in r n,forall a in a,lim d f n x f n a 0 a為吸引子 半 正 負定函式 自治系統 衡點 dot f x 李雅普諾夫候選函式v dot x nabla ...