ppt

Werbung
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= o1w1+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.  wij0, 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  w0
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
Herunterladen