91
Rozdział 7. Sieć Hopfielda
może być przedstawiona w formie klasycznej sigmoidy
rfn = <P (e&>) =
l+exp(-;? 3F)
Funkcja ta dla dużych 0 jest bardzo stroma i przypomina funkcję progową, dyskutowaną wyżej. Natomiast dla małych 0 funkcja ta ma przebieg gładszy i łagodniejszy, w wyniku czego zachowanie sieci ciągłej zaczyna istotnie odbiegać od opisanego wyżej zachowaniasieci dyskretnej. W szczególności przy malejącym 0 zaczynają znikać niektóre punkty stale.
Z opisywaną wyżej siecią Hopfielda kojarzone są zwykle tak zwane Maszyny Boltzmanna. Koncepcja takiej maszyny oparta jest na założeniu, że stan (sygnał wyjściowy y^m) każdego neuronu może się zmieniać w sposób losowy z określonym prawdopodobieństwem. Prawdopodobieństwo to zależy od „energii” i „temperatury” sieci podobnie jak w systemach fizycznych (termodynamicznych), w których gęstość prawdopodobieństwa ;> (E,T) energii systemu E związana jest z temperaturą T znanym wzorem Boltzmanna
p(E,T) = e-E/kT
gdzie k jest stalą Boltzmanna. Przenosząc to fizyczne prawo do informacyjnego systemu, jakim jest sieć neuronowa, możemy na każdym kroku j związać z neuronem o numerze m „energię” wyrażającą nadwyżkę jego łącznego pobudzenia ponad progiem pobudzenia 4m).
Następnie w oparciu o energię Eni? wyznaczane jest prawdopodobieństwo pm* zgodnie z regułą będącą uogólnieniem prawa Boltzniaima:
= 1 / [l+expME!'>/7^>)]
gdzie 6 jest pewną arbitralnie dobieraną stałą, a reprezentuje symulowaną w j-tyin kroku „temperaturę” sieci. Przy podanych założeniach algorytm doprowadzania sieci do stanu równowagi sprowadza się do kolejnego wykonywania dwóch kroków:
1. Dla ustalonego wyliczane są wszystkie wartości p[i,\ a następnie losowo z prawdopodobieństwem ustawiane są wartości sygnałów wyjściowych neuronów Konkretnie wykonuje się to w taki sposób, że dla każdego kroku j i dla każdego neuronu m losowana jest z równomiernym rozkładem prawdopodobieństwa wartość przypadkowa ć € [0,1] (jest to zwykle liczba pseudoprzypadkowa pochodząca z generatora liczb pseudolosowych w przypadku realizacji komputerowej modelu sieci), a następnie ustala się wartości zgodnie z regułą:
*&ł =
gdy ć < Plm
w przeciwnym przypadku