190 likes | 347 Views
Wismar Business School. Wissensextraktion mittels künstlicher neuronaler Netze Autoassoziative Netze. Uwe Lämmel. www.wi.hs-wismar.de/~laemmel Uwe.Laemmel@hs-wismar.de. 1. 2. 3. 4. 1. 2. 3. 4. Hopfield-Netz. Analogie zur Thermodynamik: Viele Teilchen mit starken Wechselwirkungen
E N D
Wismar Business School Wissensextraktion mittelskünstlicher neuronaler NetzeAutoassoziative Netze Uwe Lämmel www.wi.hs-wismar.de/~laemmel Uwe.Laemmel@hs-wismar.de
1 2 3 4 1 2 3 4 Hopfield-Netz • Analogie zur Thermodynamik:Viele Teilchen mit starken Wechselwirkungen • Neuron entspricht einem Teilchen • Lernen: Finden eines Energieminimums (lokal) für die Teilchenmenge (Netz) • Neuronale Netze mit Rückkopplung • Jedes Neuron ist mit allen anderen Neuronen verbunden(ohne direkte Rückkopplung
Autoassoziative Netze • Rückgekoppelte Netze • Keine Unterteilung in Eingabe-, Ausgabe-Neuronen • Aktivierung eines Neurons zum Zeitpunkt tabhängig (indirekt) von Aktivierungen zu Zeiten tj<t-1 • Natürliches neuronales Netz ist KEIN Vorbild • Paradigma: Teilchenverhalten in festen Stoffen
Hopfield-Architektur • Alle Verbindungen symmetrisch: wij = wji • Ausgabe des Netzes, wenn keine Änderung der Ausgabewerte aller Neuronen • netj(t+1) = wijoi(t) 1 , netj(t+1) > joj(t+1) = f(netj(t+1)) = 0 , netj(t+1) < j oj(t), sonst (*) • Netz-Energie: E = -½ wij oioj+ioi • Ziel der Verarbeitung: • Stabiler Zustand • Minimale Netz-Energie
Stabilität / Muster • Stabilitätstheorem von Cohen/Großberg 1993: • Rekurrente Netze sind stabil, falls • Gewichtsmatrix W symmetrisch 1. wij = wji und • Hauptdiagonale 0 ist: 2. i | wii = 0 • Auffinden der Gewichte: • Sei m ein Muster m=(m1,...,mk). • Ein Hopfield-Netz speichert das Muster m, falls: • Bias-Werte i=1 und • Gewichte: wij = mimj, ij
Lernen – Einschwingen Wiederhole Wähle zufällig eine Neuron aus; Bestimme Zustand des Neurons nach 1 , netj(z+1) > joj(t+1) = f(netj(t+1)) = 0 , net(j(t+1) < j oj(t), sonst bis keine Änderung mehr.
Energie-Betrachtung • Bei keinem Propagierungsschritt wird das Energie-Niveau größer! • Mit jedem Schritt wird Energie-Niveaukleiner oder bleibt gleich
Energie-Differenz • Aktivierung von Neuron z wird neu berechnet: • Man betrachte die Möglichkeiten für oz • E ist stets <= 0
Anwendungen/Beispiel • Finden lokaler Minima zum Wiederherstellen verrauschter Eingaben;Energieminimum entspricht unverrauschter Eingabe • Ein Netz mit N Neuronen kann höchstens 0.14*N verschiedene Muster speichern • Die Verwendung der Aktivierung {-1,+1} zeigt bessere Ergebnisse • Wiederherstellen von verrauschten Pixelmustern: • Siehe Excel-Datei Hopfield.xls • Beispiel Kruse, Datei HOP_ASSO.* • Demo-Programm Hopfield-Demo.zipAusführen von Hopfield.jar
Boltzmann-Maschine • Vermeidung des Stabilisierens in einem lokalen Minimum • Neuronen verändern ihren Zustand entsprechend einer Wahrscheinlichkeitsverteilung (einziger Unterschied zu den Hopfield-Netzen)(Statistische Methode, Boltzmann-Maschine, Simulated Annealing) • Energie wie vorher: E = -½ wij oioj + ioi
Boltzmann-Aktivierung • Die Änderung der Aktivierung eines Neurons ist nun: 1 , random() flogistic(Ek/T)ok(t+1) = fact,k(netk) = 0 , sonst Ek - Differenz der Energien des Netzes für die Zustände, in denen Neuron k die Ausgabe 1 bzw. 0 hatte; T - künstlicher Temperaturparameter, wird während des Verfahrens kleiner • Für große T ist Wahrscheinlichkeit, dass oi=1 ist: 0.5
Boltzmann - Einschwingvorgang begin Wähle genügend großen Temperaturwert TrepeatrepeatWähle zufällig Neuron i aus Bestimme neuen Ausgabewert oiuntil thermisches Gleichgewicht (Energieniveau im Mittel konstant) Verringere TemperaturuntilStabiler Zustandend
Boltzmann - Hinweise • Zum langsamen “Abkühlen” wird Abkühlungsplan aufgestellt: • Startwert T0 • Anzahl der Verarbeitungsschritte LT bei geg. Temperaturniveau T • Vorschrift zur Senkung von T, oft T=1/(Nrdes Zeitschritts) • Abbruchkriterium • Bei jeder Temperatur T>0 ist es möglich, dass höhere Temperaturniveau angenommen wird. • Anwendung: Optimierungsprobleme
Anwendung in der Optimierung • Netz schwingt in Energie-Minimum ein • Optimale Lösung ~ Energie-Minimum? • Problem: • Bestimmung der Gewichte • Beispiel: • N-Dame-Problem • Travelling Salesman Problem
Aufgaben • Man betrachte ein Hopfield-Netz aus 3 Neuronen, alle wij=1,=1.Berechnen Sie von Hand die Ausgabe des Netzes für die Eingabe in=(0,1,1). • Entwickeln Sie auf dem Papier ein Hopfield-Netz, welches das Pixel-Muster speichert. • Wie reagiert das Netz auf die Eingabe des Musters: • Nutzen Sie die Hopfield-Demo und ermitteln Sie den Einfluss der Größe des Schwellwertes auf die Ergebnisse. • Machen Sie sich mit dem Demo-Programm zur Lösung des N-Dame-Problems vertraut (Kruse).
1 2 3 4 5 Gewichte in Datei: 0 1 3 0 0 0 0 2 4 0 5 0 0 2 0 1 2 4 3 2 5 Aufgaben • Max-Cut-Problem (Aus Kruse ): Ein ungerichteter aber gewichteter Graph soll so in zwei Teilmengen zerteilt werden, dass die Summe der Gewichte aller Kanten zwischen den Teilmengen maximal ist. (Anwendungen im Chip-Entwurf, Netz-Konfigurationen) • Machen Sie sich anhand des folgenden Graphs mit der Problematik vertraut: • Benutzen Sie BLZ_MAXC.EXE (Neuronales Netz) und vergleichen Sie die Lösung mit der algorithmisch berechneten BLZ_COMP.EXE.