35
Wissensextraktion – Neuronale Netze Folie 1 Wissensextraktion mittels künstlicher neuronaler Netze Einführung Uwe Lämmel Fakultät für Wirtschaftswissensch aften www.wi.hs-wismar.de/ ~laemmel [email protected]

Wissensextraktion mittels künstlicher neuronaler Netze Einführung

Embed Size (px)

DESCRIPTION

Fakultät für Wirtschaftswissenschaften. Wissensextraktion mittels künstlicher neuronaler Netze Einführung. Uwe Lämmel. www.wi.hs-wismar.de/~laemmel [email protected]. Künstliche Neuronale Netze Idee und Umsetzung Vorwärts gerichtete neuronale Netze Einsatz Wettbewerbslernen - PowerPoint PPT Presentation

Citation preview

Page 1: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

[email protected]

Page 2: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

Wissensextraktion – Neuronale Netze

Folie 2

Inhalt

Künstliche Neuronale NetzeIdee und Umsetzung

Vorwärts gerichtete neuronale Netze Einsatz Wettbewerbslernen Zusammenfassung

Page 3: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 4: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 5: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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?

Page 6: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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, ...

Page 7: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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.

Page 8: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

Wissensextraktion – Neuronale Netze

Folie 8

Das Vorbild: Natürliches Neuron

Page 9: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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)

Page 10: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 11: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 12: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 13: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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=__

Page 14: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 15: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 16: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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.

Page 17: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 18: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 19: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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!!

Page 20: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 21: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 22: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 23: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 24: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 25: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 26: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 27: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

Wissensextraktion – Neuronale Netze

Folie 27

Lernen

Lernen erfolgt aus Beispielen

Veränderung derNetzparameter

BerechnungdesNetzfehlers

Lern-beispiele

Netz

Page 28: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 29: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 30: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 31: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 32: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 33: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 34: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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

Page 35: Wissensextraktion  mittels künstlicher neuronaler Netze Einführung

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