Sieć neuronowa Hopfielda
Sieć neuronowa Hopfielda jest modelem sieci neuronowej rekurencyjnej w czasie dyskretnym, którego macierz połączeń jest symetryczna i zerowa na przekątnej, a dynamika jest asynchroniczna (pojedynczy neuron jest aktualizowany w każdej jednostce czasu). Został spopularyzowany przez fizyka Johna Hopfielda w 1982 roku . Jego odkrycie pomogło ożywić zainteresowanie sieciami neuronowymi, które wyczerpały się w latach 70. XX wieku po artykule Marvina Minsky'ego i Seymoura Paperta .
Sieć Hopfielda jest pamięcią adresowalną przez swoją zawartość : zapamiętana forma jest odzyskiwana przez stabilizację sieci, jeśli została pobudzona przez odpowiednią część tej formy.
Struktura
Ten model sieci składa się z N neuronów o stanach binarnych (-1, 1 lub 0, 1 w zależności od wersji), wszystkich połączonych ze sobą. Całkowity wkład neuronu i wynosi zatem:
jaja=∑jotwjajotVjot{\ Displaystyle I_ {i} = \ suma _ {j} w_ {ij} V_ {j}}![I_ {i} = \ sum _ {{j}} w _ {{ij}} V_ {j}](https://wikimedia.org/api/rest_v1/media/math/render/svg/80a18452c59c57e26344edfa169d2bbad7e471de)
lub:
-
wjajot{\ displaystyle w_ {ij}}
jest wagą połączenia między neuronem i a neuronem j
-
Vjot{\ displaystyle V_ {j}}
jest stanem neuronu j
Stan sieci można scharakteryzować słowem złożonym z N bitów odpowiadających stanowi każdego neuronu.
Dynamiczny
Działanie sieci jest sekwencjonowane przez zegar. Zwrócimy uwagę:
-
Vja(t){\ Displaystyle V_ {i} (t)}
lub stan neuronu i w czasie tVja{\ displaystyle V_ {i}}![V_i](https://wikimedia.org/api/rest_v1/media/math/render/svg/f300b83673e961a9d48f3862216b167f94e5668c)
-
Vja(t+1){\ Displaystyle V_ {i} (t + 1)}
stan neuronu i w czasie t + dt, gdzie dt oznacza odstęp czasu między 2 tyknięciami zegara
Istnieje kilka równoważnych alternatyw dla aktualizacji stanu neuronów:
- Oryginalny tryb stochastyczny Hopfielda, w którym każdy neuron zmienia swój stan w przypadkowej chwili z jednakową średnią częstotliwością dla wszystkich neuronów. Mówiąc prościej, możemy wziąć pod uwagę, że przy każdym tyknięciu zegara losujemy losowo neuron, aby go zaktualizować.
- Tryb synchroniczny, w którym wszystkie neurony są aktualizowane jednocześnie.
- Tryb sekwencyjny, w którym neurony są aktualizowane w określonej kolejności.
Obliczenie nowego stanu neuronu i odbywa się w następujący sposób:
Vja(t+1)={1sja∑jotwjajotVjot>0,-1sjanieonie{\ Displaystyle V_ {i} (t + 1) = \ lewo \ {{\ początek {macierz} 1 i \ mathrm {si} \ suma _ {j} {w_ {ij} V_ {j}}> 0, \ \ -1 & \ mathrm {inaczej} \ end {matrix}} \ right.}
Uczenie się
Uczenie się w sieci Hopfield polega na upewnieniu się, że każdy z prototypów do zapamiętania jest:
- Stan przyciągający, pozwalający znaleźć go z nieco innych stanów
Aby oszacować wagi, używamy hebrajskiego uczenia się, inspirowanego prawem Hebba (teoretyzowanym przez Hebba w 1949 r. I faktycznie obserwowanym w mózgu przez Bliss i Lomo w 1973 r .). Tak więc jedną z algebraicznych reprezentacji jest:
wjajot=1nie∑k=1pxjakxjotk{\ Displaystyle w_ {ij} = {\ Frac {1} {n}} \ sum _ {k = 1} ^ {p} x_ {i} ^ {k} x_ {j} ^ {k} \,}![w _ {{ij}} = {\ frac {1} {n}} \ sum _ {{k = 1}} ^ {p} x_ {i} ^ {k} x_ {j} ^ {k} \,](https://wikimedia.org/api/rest_v1/media/math/render/svg/a0c9d41cf10c442b587fd283c3a3086b1d682b52)
,
gdzie jest wagą połączenia między neuronem a neuronem , jest wymiarem wektora wejściowego, liczbą wzorców treningowych i i są odpowiednio i-tym wejściem neuronów i .
wjajot{\ displaystyle w_ {ij}}
jot{\ displaystyle j}
ja{\ displaystyle i}
nie{\ displaystyle n}
p{\ displaystyle p}
xjak{\ displaystyle x_ {i} ^ {k}}
xjotk{\ displaystyle x_ {j} ^ {k}}
k{\ displaystyle k}
ja{\ displaystyle i}
jot{\ displaystyle j}![jot](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f461e54f5c093e92a55547b9764291390f0b5d0)
Uczenie się Hebbów minimalizuje funkcję energii , to znaczy, jeśli dwie jednostki są aktywne jednocześnie, waga ich połączeń jest zwiększana lub zmniejszana.
Limity
Jednak sieć Hopfield ma dobrze znane ograniczenia: może przechowywać tylko około 0,14 n wzorców przy n liczbie neuronów. Późniejsze modele, inspirowane siecią Hopfield, ale poprzez modyfikację reguł przechowywania i dostępu, pozwalają na rozszerzenie tego limitu pamięci.
Zobacz też
Uwagi i odniesienia
-
(w) JJ Hopfield , „ Sieci neuronowe i systemy fizyczne z wyłaniającymi się zbiorowymi zdolnościami obliczeniowymi ” , Proceedings of the National Academy of Sciences , vol. 79 N O 8,1 st kwiecień 1982, s. 2554–2558 ( ISSN 0027-8424 i 1091-6490 , PMID 6953413 , DOI 10.1073 / pnas.79.8.2554 , czytaj online , dostęp 24 października 2018 )
-
Ala ABOUDIB , Vincent GRIPON i Xiaoran JIANG , „ Badanie algorytmów pobierania rzadkich wiadomości w sieciach kliknięć neuronowych ”, COGNITIVE 2014: 6th International Conference on Advanced Cognitive Technologies and Applications ,Maj 2014, s. 140-146 ( czytaj online , dostęp: 24 października 2018 )
Powiązane artykuły
Linki zewnętrzne
-
Neural Lab - interfejs graficzny w Pythonie i Gtk pozwalający na manipulowanie siecią hopfield
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">