aufbau_des_hopfield-netzes
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| aufbau_des_hopfield-netzes [2024/01/21 14:02] – [Verbindungen] torsten.roehl | aufbau_des_hopfield-netzes [2024/01/21 14:25] (aktuell) – [Beispiel] torsten.roehl | ||
|---|---|---|---|
| Zeile 10: | Zeile 10: | ||
| =====Aufbau | =====Aufbau | ||
| - | Das Hopfield Netz ist ein Netz mit Rückkopplung (Feedback-Netz). Es besitzt nur eine Schicht, welche gleichzeitig als Ein- und Ausgabeschicht zur Verfügung steht. | + | Das Hopfield Netz ist ein Netz mit Rückkopplung (Feedback-Netz). Es besitzt nur eine Schicht, welche gleichzeitig als Ein- und Ausgabeschicht zur Verfügung steht. |
| - | Die Neurone können die Werte 1 und -1 annehmen, die alle, bis auf $w_{ii}=0$, | + | Die** Neurone können die Werte 1 und -1 annehmen**, die alle, bis auf $w_{ii}=0$, |
| ==== Verbindungen ==== | ==== Verbindungen ==== | ||
| - | Die synaptischen Gewichte sind symmetrisch, | + | Die synaptischen Gewichte sind symmetrisch, |
| + | \begin{equation} | ||
| + | |||
| + | |||
| + | <WRAP center round info 100%> | ||
| + | Man achte auf die Indizes: | ||
| + | </ | ||
| ==== 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, | ||
| ==== Aktivierungsfunktion im Hopfield Netz==== | ==== Aktivierungsfunktion im Hopfield Netz==== | ||
| + | |||
| + | |||
| + | Hopfield-Netze sind gekennzeichnet durch die Aktivierungsfunktion: | ||
| + | |||
| + | |{{ : | ||
| + | |Wenn x größer oder gleich null ist, nimmt f den Funktionswert | ||
| + | |||
| + | 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 | ||
| + | |||
| + | |||
| + | ==== Beispiel ==== | ||
| + | |||
| + | <WRAP center round box 100%> | ||
| + | |||
| + | {{: | ||
| + | |||
| + | 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 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Step 1:**\\ | ||
| + | Wir müssen zuerst die gewichtete Summe ( \( net_2) \) für das Neuron \( x_2 \)berechnen. | ||
| + | |||
| + | \[ net_2 = \sum_{i=1}^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).** | ||
| + | |||
| + | </ | ||
aufbau_des_hopfield-netzes.1705845777.txt.gz · Zuletzt geändert: von torsten.roehl
