hopfield神經網路

2021-08-21 11:19:38 字數 1084 閱讀 6350

初次接觸hopfield神經網路,有一些約束沒有注意,導致生出很多愚蠢的想法。

一、hopfield神經網路其實沒有層的概念,所有的神經元全連線就形成了乙個hopdield神經網路的基本結構。

既然是全連線,那麼誰先誰後、誰左誰右就沒有意義了,反正都是互聯的。

二、hopfield神經網路既然沒有層的概念,那麼神經網路的輸入、輸出是什麼?我從**去獲得輸出呢?

hopfield神經網路的輸入是神經元的初始狀態,輸出是神經網路的穩定狀態。我們給神經元初始狀態,神經元的狀態就會不停地變化下去,到最後穩定下來。這個穩定的狀態就是輸出。

三、神經元的狀態如何變化呢?

(一)同步更新

所有的神經元按照時間的順序,一起更新狀態。

(二)非同步更新

每乙個時刻更新乙個神經元,神經元可以是隨機的,也可以是按照預先確定的順序。

四、hopfield神經網路一定會變化到乙個穩定狀態嗎?

分多鐘情況討論:

(一)離散情況下(dhnn)

定義能量函式e,定義神經元的狀態只有{-1,1}兩種。

(1)可以證明,連線權值矩陣w為對稱矩陣,按照非同步方式調整網路狀態,當能量函式收斂於乙個固定值時,網路穩定。這種穩態即神經網路收斂的一種狀態,用此時的神經網路的每個神經元的狀態構成乙個狀態向量,叫做吸引子。

(2)可以證明,連線權值矩陣w為非負定對稱矩陣,按照同步方式調整網路狀態,當能量函式收斂於乙個固定值時,網路穩定。

(二)連續情況

神經網路隨著時間連續更新,這個可以用模擬電路來實現。不在我們討論的方位內。

五、如何設計乙個hopfield神經網路

網路的設計其實就是權值矩陣的確定。

兩種方法:

(一)聯立方程組法。

根據對稱性要求,吸引子的定義(吸引子是設計網路前就應該定好的),可以得到乙個不等式組。解這個不等式組可以得到w的取值範圍。在範圍內的權值都可以。

(二)外積和法

有p個正交樣本,神經元個數n,n>p,w=sum(dot(xi,(xi).t)),(i=[1,2,...,p])

上述兩種方法可以保證我們要求的狀態是吸引子,但是還可能存在其他的狀態也是吸引子。這是hopfield神經網路的固有缺陷。

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神經網路

多層神經網路 模式識別 相互連線型網路 通過聯想記憶去除資料中的雜訊 1982年提出的hopfield神經網路是最典型的相互鏈結型網路。當輸入模式為某種狀態時,輸出端要給出與之相應的輸出模式。如果輸入模式與輸出模式一致,稱為自聯想記憶,否則,稱為異聯想記憶。網路結構上,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 ...