Fakultät für Wirtschaftswissenschaften Wissensextraktion mittels künstlicher neuronaler Netze Einführung Uwe Lämmel www.wi.hs-wismar.de/~laemmel [email protected] Wissensextraktion – Neuronale Netze Folie 1 Inhalt Künstliche Neuronale Netze Idee und Umsetzung Vorwärts gerichtete neuronale Netze Einsatz Wettbewerbslernen Zusammenfassung Wissensextraktion – Neuronale Netze Folie 2 Literatur & Software Lämmel, Cleve: Künstliche Intelligenz, 4. Aufl., Hanser 2012. Zell: Simulation neuronaler Netze, Oldenbourg, 1997. Robert Callan: The Essence of Neural Networks, Pearson Education, 2002. Kruse,H.; u.a.: Programmierung Neuronaler Netze – Eine Turbo PASCALToolbox. Addison-Wesley,1991. Scherer, A.: Neuronale Netze- Grundlagen und Anwendungen. Braunschweig: Vieweg, 1997 CBT Program on Neural Nets ,Springer 1998. Stuttgart Neural Network Simulator (SNNS) www-ra.informatik.uni-tuebingen.de/SNNS/ JavaNNS: www-ra.informatik.unituebingen.de/forschung/JavaNNS/welcome_e.html Wissensextraktion – Neuronale Netze Folie 3 Wissensverarbeitung Logisches Schließen Erkennen, Wahrnehmen sequentiell parallel bewusst unbewusst Symbolverarbeitung, Regelverarbeitung Neuronale Netze exakt unscharf ingenieurmäßig kognitiv ausgerichtet "klassische" KI Konnektionismus Wissensextraktion – Neuronale Netze Folie 4 Idee Der Mensch lernt durch Beispiele “learning by doing” – Sehen(Erkennen), Gehen, Sprechen,… Kann eine Maschine das auch? Der Mensch nutzt sein Gehirn – Gehirn = Millionen einzelne Zellen – Zelle mit Zehntausenden von anderen Zellen verbunden Ähnliche Struktur im Rechner? Wissensextraktion – Neuronale Netze Folie 5 Idee Künstliches Neuronales Netz: – Informationsverarbeitung in Analogie zur Arbeitsweise von Säugetiergehirnen – massiv parallele, lernfähige Systeme – große Anzahl einfach strukturierter Zellen ? Nachmachen der Natur erfolgreich? Rad, Flugzeug, ... Wissensextraktion – Neuronale Netze Folie 6 Idee Ein künstliches neuronales Netz arbeitet auf ähnlicher Art und Weise wie ein natürliches neuronales Netz. Wir benötigen: – Software Neuronen – Software Verbindungen zwischen Neuronen – Software Lernalgorithmen Wissensextraktion – Neuronale Netze Folie 7 Das Vorbild: Natürliches Neuron Wissensextraktion – Neuronale Netze Folie 8 Abstraktion Dendriten: Axon: Synapse: Zellkern: gewichtete Verbindungen Gewicht: reelle Zahl (real) Ausgabe: reelle Zahl --(Identität: Ausgabe direkt weitergeleitet) Einheit mit einfachen Funktionen Eingabe = (viele) reelle Zahlen Verarbeitung = Berechnung der Aktivierung Ausgabe: reelle Zahl (~Aktivierung) Wissensextraktion – Neuronale Netze Folie 9 Natürliches / künstliches Neuron w1i w2i Dendriten Zelle mit Zellkern ... wji neti w ji o j j acti f act (neti , i ) oi f out (acti ) Axon (Neurit) Synapsen oi Wissensextraktion – Neuronale Netze Folie 10 Künstliches Neuron w1i w2i ... wji neti w ji o j j acti f act (neti , i ) oi f out (acti ) oi net : Netzeingabe w : act : fact : : fout : o : Verbindungsgewicht Aktivierung Aktivierungsfunktion Schwellwert (bias) Ausgabefunktion (meist ID) Ausgabe Wissensextraktion – Neuronale Netze Folie 11 Übung: UND – LTU "Male ein Netz", das wie eine UND-Funktion arbeitet! LTU – Linear Threshold Unit Erzeuge ein ODER-Netz Versuche ein XOR-Netz zu bauen Wissensextraktion – Neuronale Netze Folie 12 Übung: Ein einfacher Schalter a1=__ w1=__ a2=__ w2=__ net= o1w1+o2 w2 a = 1, falls net> = 0, sonst o=a Parameter gemäß Funktion festlegen: – Eingabe-Neuronen 1,2 mit: a1,a2 Eingabe-Muster, auch hier: oi=ai – Verbindungsgewichte w 1 , w2 – Schwellwert Dann wird Ausgabe o berechnet o=__ Wissensextraktion – Neuronale Netze Folie 13 Aufgaben Legen Sie die Parameter so fest, dass folgende Funktionen simuliert werden: – Logisches UND – Logisches ODER – Logisches exklusives ODER – Identität Wie müssen die Parameter gewählt werden, falls mehr als zwei Eingaben logisch verknüpft werden? – Logisches UND bei 3 (4) Eingaben – Analog ODER bzw. XOR, z.B. genau 2 aus 4 Wissensextraktion – Neuronale Netze Folie 14 Neuronales Netz - Definition Ein neuronales Netz entsteht durch – Verknüpfung mehrere (vieler) simpler Einheiten (Neuronen), – die über Verbindungen Signale austauschen. Ein neuronales Netz ist: – zusammenhängender, gerichteter Graph, – gewichtete Kanten – Knoten (Neuronen, Units ) mit Werten (Aktivität) versehen Wissensextraktion – Neuronale Netze Folie 15 Netzaufbau Man unterscheidet: Eingabe-Schicht (input layer) Eingabe-Neuron Ausgabe-Schicht (output layer) Ausgabe-Neuron verdeckte Schicht (hidden layer) verdecktes Neuron Ein n-stufiges Netz besitzt n trainierbare Verbindungen – d.h. von n+1 Schichten sind n–1 verdeckt. Wissensextraktion – Neuronale Netze Folie 16 Bestandteile von NN Verbindungen der Zellen – gerichteter, gewichteter Graph – Gewicht: wij (von Zelle i nach Zelle j) – Gewichtsmatrix Propagierungsfunktion – Netzeingabe Neuron i berechnen aus: Ausgaben anderer Neuronen und Verbindungsgewichten: neti = ojwji Aktivierungsfunktion ( und Ausgabefunktion) Lernregel Wissensextraktion – Neuronale Netze Folie 17 XOR-Netz Gewichtsmatrix wij: i\j 1 2 3 4 1 0 0 1 1,2 2 0 0 1 1,2 3 0 0 0 -2 4 0 0 0 0 Eingabe Ausgabe Gewichte gesetzt ! fact = 1, net > = 0, sonst = 1.0 Wissensextraktion – Neuronale Netze Folie 18 Beispiel xor Standard-Propagierungsfunktion verwendet: neti(t) = oj(t)wji (hier mit Zeitpunkt t ) Aktivierungsfunktion: Schwellwertfunktion – ai = 1, falls neti(t)> i hier = 1.0 0, sonst – Ausgabefunktion: Identität: oj = aj Kein Lernalgorithmus Bauen Sie das Beispiel in EXCEL nach!! Wissensextraktion – Neuronale Netze Folie 19 Aktivierungszustände Aktivierung kontinuierlich diskret unbeschränkt Intervall binär mehrwertig real [0,1] [-1,+1] 0,1 -1,+1 -,+ {-1,0,+1} {-100,...,+100} Wissensextraktion – Neuronale Netze Folie 20 Aktivierungsfunktionen Schwellwertfunktion Aktivierungsfunktionen sind sigmoide Funktionen 1,0 0,5 0,0 -4,0 -2,0 0,0 2,0 4,0 -0,5 Identität -1,0 4,0 2,0 -4,0 -2,5 0,0 -1,0 -2,0 0,5 2,0 3,5 -4,0 Wissensextraktion – Neuronale Netze Folie 21 Aktivierungsfunktion y = tanh(c·x) 1,0 c=3 c=2 c=1 0,5 -1,0 -0,6 0,6 1,0 -0,5 Logistische Funktion: -1,0 y = 1/(1+exp(-c·x)) 1,0 c=10 c=3 c=1 0,5 Aktivierungsfunktionen sind sigmoide Funktionen -1,0 0,0 1,0 Wissensextraktion – Neuronale Netze Folie 22 Verbindungsnetzwerke Matrixschreibweise W=[wij] : wij = 0 wij < 0 wij > 0 keine Verbindung zwischen Neuronen i und j Neuron i hemmt Nachfolger j mit |wij| Neuron i regt Nachfolger j mit Stärke |wij| an Implementation als: – schwachbesetzte Matrix (ansonsten Kosten O(n2)) – verkettete, dynamische Struktur Wissensextraktion – Neuronale Netze Folie 23 Typische Topologien von NN vorwärts gerichtetes Netz – feed forward network – ebenenweise verbunden – nur Verbindungen zwischen benachbarten Schichten vorwärts gerichtet mit Abkürzungen – feed forward + shortcut connections – Verbindungen zwischen nicht benachbarten Schichten, d.h. wij0, mit i Ebenek und j Ebenem und |k-m|>1 Wissensextraktion – Neuronale Netze Folie 24 Typische Topologien von NN direkte Rückkopplung – direct feedback – ermöglicht die eigene Stärkung oder Hemmung eines Neurons, diese nehmen hier oft ihre Grenzzustände an indirekte Rückkopplung – indirect feedback – Rückkopplung über mehrere Ebenen, – Aufmerksamkeit wird dabei auf bestimmte Bereiche gelenkt Wissensextraktion – Neuronale Netze Folie 25 Typische Topologien von NN laterale Rückkopplung – ohne direkte Rückkopplung innerhalb einer Schicht – Anwendung, falls nur ein Neuron einer Schicht aktiv sein soll – winner-takes-all-Netz vollständig verbunden – ohne direkte Rückkopplung – Hopfield-Netze: symmetrische Verbindungsmatrix Wissensextraktion – Neuronale Netze Folie 26 Lernen Lernbeispiele Netz Berechnung des Netzfehlers Veränderung der Netzparameter Lernen erfolgt aus Beispielen Wissensextraktion – Neuronale Netze Folie 27 Lernen – Mögliche Anpassungen 1. Modifikation der Stärke von Verbindungen – am häufigsten 2. Entwicklung neuer Verbindungen 3. Löschen existierender Verbindungen – (2) und (3) mittels (1) realisierbar: w=0 w0 4. Modifikation der Schwellwerte von Neuronen – mit zusätzlichem Neuron (On-Neuron) und Verbindungen mit (1) machbar 5. Modifikation der Funktionen (Aktivierungs-, Propagierungs-, Ausgabe-) 6. Entwicklung neuer Zellen 7. Löschen von Zellen Wissensextraktion – Neuronale Netze Folie 28 Arten des Lernens Überwachtes Lernen (supervised learning) “Lehrer” gibt Ein- und Ausgabemuster vor, Lernverfahren trainiert Gewichte entsprechend, biologisch nicht plausibel Bestärkendes Lernen (reinforcement learning) “Lehrer” gibt nur richtig oder falsch an, Lernverfahren muss selbst Ausgabewerte finden, langsamer als das überwachte Lernen Unüberwachtes Lernen (unsupervised ) Netz lernt selbständig, biologisch plausibel praktisch nicht immer geeignet Wissensextraktion – Neuronale Netze Folie 29 Wichtige Lernregeln Hebbsche Lernregel – “Wenn Zelle j eine Eingabe von Zelle i erhält und beide gleichzeitig stark aktiviert sind, dann erhöhe das Verbindungsgewicht wij.” Delta-Regel – Gewichtsänderung proportional zur Differenz aus erwarteter und tatsächlicher Aktivierung Backpropagation-Regel – Verallgemeinerung der Delta-Regel für Netze mit mehr als einer trainierbaren Schicht Wissensextraktion – Neuronale Netze Folie 30 Entwicklung neuronaler Netze Netzarchitektur aufbauen Ausgabe des Netzes berechnen Vergleich mit Trainingsausgabe Fehler zu groß Trainingsmuster anlegen Gewichte anpassen Netzparameter ändern Fehler zu hoch Klassifikator gewünschte Qualität erreicht Test-Daten anlegen Ausgabe des Netzes berechnen Vergleich mit erwarteter Ausgabe gewünschte Qualität erreicht Wissensextraktion – Neuronale Netze Folie 31 Anwendungen Klassifikation Clusterung Prognose Mustererkennung Nutzung bekannter Sachverhalte zum Trainieren eines Verhaltens: Lernen aus Beispielen, Verallgemeinerung Erkennung unbekannter Strukturen in den Eingaben Wissensextraktion – Neuronale Netze Folie 32 Anwendungen Bilderkennung, Mustererkennung (Schrift, Zahlen, auch Gesichter): Erkennung von Autonummern, Zugangskontrolle bei Geldautomaten, Ähnlichkeiten zwischen Molekülen Qualitätskontrolle von Natursteinplatten Kreditkontenüberwachung Steuerung autonomer Fahrzeuge Wissensextraktion – Neuronale Netze Folie 33 Anwendungen Data Mining – Börsenvoraussagen – Verbrauchsprognosen – Klassifikation von Galaxien – Warendisposition (Supermarkt) Sprach- und Gesichtserkennung Prothesen für Behinderte (Blinde, Querschnittsgelähmte) Robotersteuerung Wissensextraktion – Neuronale Netze Folie 34 Ende Aufgaben – JavaNNS installieren – XOR-Beispiel durchspielen – ID-Funktion realisieren – 3 Eingaben, von denen mind. 2 aktiviert sein müssen, damit Ausgabe-Neuron aktiv ist Wissensextraktion – Neuronale Netze Folie 35