Fakultät für
Wirtschaftswissenschaften
Wissensextraktion
mittels
künstlicher neuronaler Netze
Einführung
Uwe Lämmel
www.wi.hs-wismar.de/~laemmel
Uwe.Laemmel@hs-wismar.de
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