Benutzer-Werkzeuge

Webseiten-Werkzeuge


aufbau_des_hopfield-netzes

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
aufbau_des_hopfield-netzes [2024/01/21 14:06] – [Verbindungen] torsten.roehlaufbau_des_hopfield-netzes [2024/01/21 14:25] (aktuell) – [Beispiel] torsten.roehl
Zeile 14: Zeile 14:
 ==== Verbindungen ==== ==== Verbindungen ====
 Die synaptischen Gewichte sind symmetrisch, d.h. es gilt: Die synaptischen Gewichte sind symmetrisch, d.h. es gilt:
-\begin{equation} w_{ij}= w_{ji}\end{equation}   mit \begin{equation} w_{ii} = 0\end{equation}+\begin{equation} w_{ij}= w_{ji}\;\; \text{mit}\;\; w_{ii} = 0\end{equation}
  
  
Zeile 22: Zeile 22:
  
 ====  Speicherkapazität==== ====  Speicherkapazität====
 +
 +**Wie viele Muster kann man jetzt mit einem Hopfield-Netz speichern?**\\
 +
 +Die Speicherkapazität ist abhängig von der Zahl der Neuronen N im Netzwerk. Umso mehr Neuronen zur Verfügung stehen, desto mehr Muster M können zuverlässig gespeichert und wiedergegeben werden.
 +
 +  * M ~ N
 +
 +
 +Abschätzungen ergeben:
 +
 +  * M ≈ 0.13 · N  bis  M ≈ 0.15 · N
 +
 +
 +
 +Angenommen wir haben ein Netz mit 100 Neuronen zur Verfügung,  dann können wir  13  Muster speichern. Dies setzt allerdings voraus, dass sich die Muster auch gut unterscheiden lassen, d.h. die Muster dürfen einander nicht zu ähnlich sein.\\ Da wir Muster durch Vektoren repräsentieren, bedeutet das, dass die Vektoren möglichst orthogonal (senkrecht) aufeinander stehen sollten.  Unter orthogonalen Mustern verstehen wir Muster, die sich von allen Möglichkeiten am stärksten unterscheiden.
 ====  Aktivierungsfunktion im Hopfield Netz==== ====  Aktivierungsfunktion im Hopfield Netz====
 +
 +
 +Hopfield-Netze sind gekennzeichnet durch die Aktivierungsfunktion:
 +
 +|{{ :inf:ki:sign.png? |}} |{{ :inf:ki:sign1.png? |}} |
 +|Wenn x größer oder gleich null ist, nimmt f den Funktionswert  1 an. Ansonsten ist der Funktionswert -1.|Graphische Darstellung der Aktivierungsfunktion.|
 +
 +Dies ist eine Schwellenwertfunktion. Jedes Neuron $x_i$ berechnet zunächst die gewichtete Summe aller Eingangsverbindungen. Die Ausgabe beträgt **1**, wenn die Aktivierung größer als der Schwellenwert ist. Sie nimmt den Wert ** -1** an, wenn die Aktivierung kleiner als der Schwellenwert ist.
 +
 + 
 ====  Updateregel==== ====  Updateregel====
  
 +
 +Um den nächsten Zustand der Neurone zu ermitteln, gibt es zwei grundsätzlich verschiedene Verfahren:
 +
 +  * Asynchrone Aktivierung
 +          * Zu jedem Zeitpunkt ändert nur ein einziges Neuron seinen Aktivierungszustand (dieses Neuron wird zufällig ausgewählt)
 +
 +  * Synchrone Aktivierung
 +          * Alle Neurone ändern ihren Zustand gleichzeitig (paralleles Update)
 +
 +Unabhängig von diesen beiden  Verfahren, muss zuerst die Netzeingabe $net_i$ des Neurons bestimmt werden, welches 'upgedatet' werden soll. Mithilfe dieser Netzeingabe kann dann anhand der Aktivierungsfunktion der nächste Zustand bestimmt werden.
 +
 +
 +====  Beispiel ====
 +
 +<WRAP center round box 100%>
 +
 +{{:inf:aufgabe.gif?|}}
 +
 +Gegeben ist ein Hopfield-Netz mit 3 Neuronen.\\ \\
 +Die Gewichte sind:\\
 +\( w_{11} = w_{22} = w_{33} = 0 \)  und \\ 
 +\( w_{12} = w_{21} = -1 \),\\
 +\( w_{13} = w_{31} = 1 \),\\
 +\( w_{23} = w_{32} = -1 \),
 +
 +Die Neuronen haben folgende Werte:\\
 +\(x_1 = -1, x_2 = 1 \) und \( x_3 = -1 \).
 +
 +**Berechnen Sie den nächsten Zustand des Neurons  \( x_2 \).**
 +
 +{{:inf:solution.gif?|}}
 +
 +**Step 1:**\\
 +Wir müssen zuerst die gewichtete Summe ( \( net_2) \) für das Neuron \( x_2 \)berechnen.
 +
 +\[  net_2 = \sum_{i=1}^3  w_{i2} \cdot x_i = w_{12} \cdot x_1 +  w_{22} \cdot x_2 + w_{32} \cdot x_3 \]
 +
 +\[  net_2 =  (-1) \cdot (-1) + 0 \cdot 1 + (-1) \cdot (-1) = 2 \]
 +
 + 
 +
 +**Step 2:**\\
 +Mithilfe der gewichteten Summe und der Aktivierungsfunktion läßt sich jetzt der nächste Zustand des Neurons \( x_2 \) bestimmen.
 +
 +\[  x_2 = f( net_2 ) = f( 2) = 1  \]
 +
 +**Das heißt der Zustand des Neurons ändert sich nicht (es feuert weiterhin).**
 +
 +</WRAP>
  
  
aufbau_des_hopfield-netzes.1705845980.txt.gz · Zuletzt geändert: 2024/01/21 14:06 von torsten.roehl