Wissensextraktion – Neuronale Netze
Folie 1
Wissensextraktion mittels
künstlicher neuronaler Netze
Einführung
Uwe Lämmel
Fakultät fürWirtschaftswissenschaft
en
www.wi.hs-wismar.de/~laemmel
Wissensextraktion – Neuronale Netze
Folie 2
Inhalt
Künstliche Neuronale NetzeIdee und Umsetzung
Vorwärts gerichtete neuronale Netze Einsatz Wettbewerbslernen Zusammenfassung
Wissensextraktion – Neuronale Netze
Folie 3
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
PASCAL-Toolbox. 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 4
Logisches Schließen
sequentiell
bewusst
Symbolverarbeitung, Regelverarbeitung
exakt
ingenieurmäßig
"klassische" KI
Erkennen, Wahrnehmen
parallel
unbewusst
Neuronale Netze
unscharf
kognitiv ausgerichtet
Konnektionismus
Wissensverarbeitung
Wissensextraktion – Neuronale Netze
Folie 5
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 6
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 7
Idee
Wir benötigen:– Software Neuronen– Software Verbindungen zwischen
Neuronen– Software Lernalgorithmen
Ein künstliches neuronales Netz arbeitet auf ähnlicher Art und Weise
wie ein natürliches neuronales Netz.
Wissensextraktion – Neuronale Netze
Folie 8
Das Vorbild: Natürliches Neuron
Wissensextraktion – Neuronale Netze
Folie 9
Abstraktion
Dendriten: gewichtete VerbindungenGewicht: reelle Zahl (real)
Axon: Ausgabe: reelle Zahl Synapse: ---
(Identität: Ausgabe direkt weitergeleitet) Zellkern: Einheit mit einfachen Funktionen
Eingabe = (viele) reelle Zahlen Verarbeitung = Berechnung der
Aktivierung Ausgabe: reelle Zahl (~Aktivierung)
Wissensextraktion – Neuronale Netze
Folie 10
Natürliches / künstliches Neuron
Zelle mit Zellkern
Axon(Neurit)
Dendriten
Synapsen
j
jjii ownet
),( iiacti netfact
)( iouti actfo
w1i w2i wji...
oi
Wissensextraktion – Neuronale Netze
Folie 11
Künstliches Neuron
j
jjii ownet
),( iiacti netfact
)( iouti actfo
w1i w2i wji...
oi
net : Netzeingabew : Verbindungsgewichtact: Aktivierungfact : Aktivierungsfunktion
: Schwellwert (bias)fout : Ausgabefunktion (meist ID)o : Ausgabe
Wissensextraktion – Neuronale Netze
Folie 12
Ü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 13
Übung: Ein einfacher Schalter
Parameter gemäß Funktion festlegen:– Eingabe-Neuronen 1,2
mit: a1,a2 Eingabe-Muster,auch hier: oi=ai
– Verbindungsgewichte w1, w2
– Schwellwert Dann wird Ausgabe o
berechnet
a1=__ a2=__
o=__
net= o1w1+o2
w2a = 1, falls net>= 0, sonst
o = a
w1=__ w2=__
Wissensextraktion – Neuronale Netze
Folie 14
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 15
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 16
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 besitztn trainierbare Verbindungen– d.h. von n+1 Schichten
sind n–1 verdeckt.
Wissensextraktion – Neuronale Netze
Folie 17
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 18
XOR-Netz
Gewichte gesetzt ! fact = 1, net >
= 0, sonst = 1.0
Eingabe
Ausgabe
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
Wissensextraktion – Neuronale Netze
Folie 19
Beispiel xor
Standard-Propagierungsfunktion verwendet: neti(t) = oj(t)wji (hier mit Zeitpunkt t )
Aktivierungsfunktion: Schwellwertfunktion
– ai = 1, falls neti(t)> i hier = 1.00, sonst
– Ausgabefunktion: Identität: oj = aj
Kein Lernalgorithmus
Bauen Sie das Beispiel in EXCEL nach!!
Wissensextraktion – Neuronale Netze
Folie 20
Aktivierungszustände
rea l
u n be sch rän kt
[0 ,1 ][-1 ,+ 1 ]
In te rva ll
ko n tinu ie rlich
0 ,1-1 ,+ 1
- ,+
b inär
{ -1 ,0 ,+ 1}{ -10 0 ,... ,+ 10 0}
m eh rw er tig
d iskre t
A ktiv ie ru ng
Wissensextraktion – Neuronale Netze
Folie 21
Schwellwertfunktion
-1,0
-0,5
0,0
0,5
1,0
-4,0 -2,0 0,0 2,0 4,0
Identität
-4,0
-2,0
0,0
2,0
4,0
-4,0 -2,5 -1,0 0,5 2,0 3,5
Aktivierungsfunktionen
Aktivierungsfunktionen sind
sigmoide Funktionen
Wissensextraktion – Neuronale Netze
Folie 22
y = tanh(c·x)
-1,0
-0,5
0,5
1,0
-0,6 0,6 1,0
c=1c=2
c=3
-1,0
Aktivierungsfunktion
y = 1/(1+exp(-c·x))
0,5
1,0
-1,0 0,0 1,0
c=1c=3
c=10
Logistische Funktion:
Aktivierungsfunktionen sind
sigmoide Funktionen
Wissensextraktion – Neuronale Netze
Folie 23
Verbindungsnetzwerke
Matrixschreibweise W=[wij] :
wij = 0 keine Verbindung zwischen Neuronen i und j
wij < 0 Neuron i hemmt Nachfolger j mit |wij|
wij > 0 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 24
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 25
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 26
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
Typische Topologien von NN
Wissensextraktion – Neuronale Netze
Folie 27
Lernen
Lernen erfolgt aus Beispielen
Veränderung derNetzparameter
BerechnungdesNetzfehlers
Lern-beispiele
Netz
Wissensextraktion – Neuronale Netze
Folie 28
Lernen – Mögliche Anpassungen
1. Modifikation der Stärke von Verbindungen – am häufigsten
2. Entwicklung neuer Verbindungen3. 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) machbar5. Modifikation der Funktionen
(Aktivierungs-, Propagierungs-, Ausgabe-)6. Entwicklung neuer Zellen 7. Löschen von Zellen
Wissensextraktion – Neuronale Netze
Folie 29
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 30
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 31
Entwicklung neuronaler Netze
gewünschte Qualität erreicht
Fehler zu hoch
Fehler zu groß
gewünschte Qualität
erreicht
Ausgabe des Netzes berechnen
Vergleich mit Trainingsausgabe
Test-Datenanlegen
Ausgabe des Netzes berechnen
Gewichte anpassen
Trainingsmuster anlegen
Netzparameter ändern
Netzarchitektur aufbauen
Vergleich mit erwarteter Ausgabe
Klassifikator
Wissensextraktion – Neuronale Netze
Folie 32
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 33
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 34
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 35
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