52
© Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Folien, Aufgaben sind unter www.computer-networking.de\~glaeser zu finden.

Neuronale Netze

  • Upload
    howe

  • View
    50

  • Download
    0

Embed Size (px)

DESCRIPTION

Neuronale Netze. Folien, Aufgaben sind unter www.computer-networking.de\~glaeser zu finden. A. Neuronale Netze. Neuronale Netze. Nachbildung des Gehirns. Gehirn = Viele Knoten, von denen viele untereinander verbunden / vernetzt sind. - PowerPoint PPT Presentation

Citation preview

Page 1: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Folien, Aufgaben sind unterwww.computer-networking.de\~glaeserzu finden.

Page 2: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Neuronale Netze

Oft genutzte Verbindungen werden starke Verbindungen = Lernen

Nachbildung des Gehirns

Gehirn = Viele Knoten, von denen viele untereinander verbunden / vernetzt sind

durch elektrische Signale erregen sich die Knoten gegenseitig

Erregungsstärke von A durch die anderen Knoten durch die Stärke der Verbindungen bestimmt

A

Stärke der Verbindung = gespeicherte Information !

Page 3: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Verwendung : Mustererkennung / Klassifikation

Muster A Muster B

verrauschtes Muster(Aktienkurs)

Neuronales Netz

Muster C ...

Page 4: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

e1

e2

en

...

oi

w1i

w2i

wni

GewichteInput

Output

Nettoinput

n

jjjii ewnet

1

Outputfunktionoi = O(ai

Schwellwert

Neuronenfunktion

oi = s( neti-)

Stufenfunktion

Page 5: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Outputfunktion O

O kann eine Stufenfunktion sein

1

0{Os(x) =

1 wenn x 0

0 wenn x < 0

O kann eine Fermifunktion sein

1

0Of(x) = 1 / ( 1+exp(-x) )

x

x

O

O

Page 6: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Beschreibung von Netzwerktypen

Topologie

Lernregel

Neuronenfunktion

„Betriebsweisen“ der Netze

Lernphase

Ausführungsphase

überwachtes Lernen e und o vorgegebennicht - überwachtes Lernen nur e

Page 7: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Perzeptron

Topologie: e1

e2

e3

o1

o2

einlagig = nur eine Neuronenschicht

Page 8: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

PerzeptronOutputfunktion ist die Signumsfunktion:

sgn(x) = { +1 wenn x 0

-1 sonst

Outputfunktion: oi = sgn(neti - )

Lernregel ( = wie komm‘ ich an die Gewichte ):

jiiij eoow

Soll WertLernrate

0 <

Hebbsche Regel:

Page 9: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Was kann ein Perzeptron ?

Beispiel: Perzeptron mit zwei Eingängen (Merkmalen)

Klassifizierung anhand von Merkmalen

e1

e2

o

w1

w2

Page 10: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

o = sgn( w1 e1 + w2 e2 - )

=> Unterscheidung in zwei Klassen möglich:o = -1 Klasse Ao = +1 Klasse B

sgn( w1 e1 + w2 e2 - ) = 0 ergibt Geradengleichung:e2 = - w1/w2 e1 + / w2

e1

e2

Grenze zwischen A und B: sgn „kippt um“sgn(x) kippt um, wenn x = 0

Was kann ein Perzeptron ? (Fortsetzung)

Page 11: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Was kann ein Perzeptron ? (Fortsetzung)

ergibt Geradengleichung:e2 = - w1/w2 e1 + / w2

Für alle Punkte (e1 ,e2) mit e2 kleiner als das e2 wie oben ausgerechnet, wird das Argument von sgn negativ, d.h. o = -1, d.h. Klasse A

AAA

A AA

A

BB BB BB B

B

B

B

e1

e2

Page 12: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Was kann ein Perzeptron ?

Das Perzeptron kann anhand von Merkmalen eine Unterscheidungin Klassen vornehmen

Was kann ein Perzeptron nicht ?n Merkmale bilden im n - dimensionalen Merkmalsraum einen-1 dimensionale Ebene, die eine Zuordnung der Merkmalsteil-räume zu Klassen erlaubt.

Da es sich immer um Ebenen handelt, spricht man von linear separierbaren Klassen, wenn sich die zugehörigen Merkmals-teilräume durch die Ebenen trennen lassen

Mit m Ausgangselementen können 2m Klassen unterschieden werden

Page 13: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Was kann ein einlagiges Perzeptron nicht ?

e1

e2

B

A

linear separierbar

e1

e2

B

A

nichtlinear separierbar

e1

e2

B

A

nichtlinear separierbar

A

Page 14: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

F

Neuronale Netze

Was kann ein Perzeptron nicht ?

e1

e2

nichtlinear separierbar

XOR Problem

(0,0) (1,0)

(0,1) T

T

(1,1)

F

Page 15: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Mehrlagige neuronale Netze

e1

e2

eN

...

o1

o2

oN

...

wkl wjkwij

Neuronenfunktion:

nnmnFermim xwsy

kl j i

Page 16: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Mehrlagige Perzeptrons

Mehrlagige Perzeptrons sind in der Lage hinreichendkomplexe Merkmalsregionen zu bilden, mit denen beliebige Klassen von Eingabemustern klassifiziert werdenkönnen.

für innere Lagen (hidden layers) kann kein Fehler zwischen gewünschtem und tatsächlichem Outputangegeben werden

Problem beim Lernen:

Page 17: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Mehrlagige Perzeptrons

Lernregel:

wmn(t + 1) = wmn(t) + m xn

Lösung

Backpropagation Algorithmus

Outputfehler des mten Neurons

m liegt weiter zum Ausgang hin ! > 0

Page 18: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Backpropagation Algorithmus

a) Alle Gewichte = zufällige Werte: -0.1 < wmn < 0.1

b) Anlegen Musterinput e, Messen von iii doo )(

c) Bestimmen Fehler der Output Schicht

iiFi dnets 'Ableitung von sF !

Rekursive Berechnung der Fehler nder nächst inneren Schichten

mnm

mnFn wnets 'm läuft in derSchicht näher am Ausgang

e) Bestimmen der Gewichte zwischen Output Schicht und innerer Schicht

Page 19: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Bei der Berechnung der „Deltas“ für jedes Neuron einer Schicht müssen in einem Iterationsschritt zuerst die neuen Gewichte berechnet werden, und dann erst mit den neuen Gewichten die Deltas

i

Page 20: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

2

'

)exp(1

)exp(

i

iiF

net

netnets

Ableitung der Fermi Funktion

)exp(1

1

iiF net

nets

Fermi Funktion

Page 21: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

a b cwba

11

1

2

1

2

1wba21

wba12

wcb11

wcb12

wba22

ob1=sFermi(oa

1 * wba11 + oa

2 * wba12)

ob2=sFermi(oa

1 * wba21 + oa

2 * wba22)

oc1= sFermi( ob

1* wcb11+ ob

2* wcb12)

c1 = sFermi‘(netc

1) *(osoll- oc1)

netc1 = ob

1* wcb11+ ob

2* wcb12

wcb11= * c

1 * ob1

wcb12= * c

1 * ob2

b1= sFermi‘(netb

1) *c1 * wcb

11

b2= sFermi‘(netb

2) *c1 * wcb

12

wba11= * b

1*oa1

a1= sFermi‘(neta

1) *(b

1 * wba11+ b

2 * wba21)

Page 22: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Genetischer Algorithmus

Vermeidung von lokalen MinimaError

Gewicht

Maximum

lokales Minimum

globales Minimum

Page 23: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

1. Erzeugung einer Population

i sind die Gewichtealle Gewichte = Vektor

1

2

1

.

.

p 2

2

1

.

.

p *

2

1

.

.

Np

...

beliebige, zufällige Werte

Page 24: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

2. Selektion

aus dem Pool werden zufällig zwei Paar geholt.Von jedem Paar wird der Vektor mit dem geringeren error ausgewähltalso bleiben 2 Vektoren übrig = Elternpaar-“has been proven to be extremly useful for speeding up the convegenceof the genetic search process“

Page 25: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

3. Kreuzung (Crossover)

•2 Elternvektoren brüten 2 Kindvektoren aus•(bei jeder Kombination findet eine Kreuzung nur mit einer festen Wahrscheinlichkeit p statt)•Wenn Kreuzung stattfindet, dann mit einer 1/3 Wahrscheinlichkeit nach jeweils einer der folgenden 3 Methoden:

Page 26: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

a) Shuffle Crossover: nach einer Binomialverteilung wird eine Zahl k von zu vertauschenden Gewichten in dem Vektorenpaar bestimmt. Dann werden zufällig k Gewichte vertauscht

k

Häu

figk

eit

von

k

kpk wwk

pkP

)1()(

w = mittlere Wahrscheinlichkeit das zwei Gewichte vertauscht werden (freier Parameter)

i,120i,43

)!(!

!

kpk

p

k

p

i = Index des Gewichts im Vektor

p = Zahl Gewichte im Vektor

Page 27: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

p=0,1

p=0,5

p=0,9P

Anzahl Täusche

Page 28: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

b) Arithmetic Crossover: Für das Vektorpaar wird eine Zufallszahl w zwischen 0 und 1 gezogenDie beiden Kinder sind Linearkombination der Eltern mit w als Wichtung:1. Kind: w i,k + (1-w) j,k 2. Kind: (1-w) i,k + w j,k

Page 29: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

c) Single-point Crossover: Für das Vektorpaar wird ein Integer I gezogen [1, p-1]die Vektorkoeffizienten unterhalb von I werden getauscht

Page 30: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

3. Mutation

Generationen G = 1,2,..., G*Wahrscheinlichkeit, das ein Vektor mutiert wird:0,15 + 0,33/G

Mutation:

Page 31: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

5,0)1(

5,0)1(~

1*)/1(

2,

1*)/1(

2,,

rwennrs

rwennrsb

b

GGki

GGki

ki

G = aktuelle Generation, G* = maximale Generation

r1 und r2 zufällig aus gleichverteiltem Intervall [0,1]s zufällig von standard normalverteilungb = 2 steuert den Grad von nicht Uniformität der Mutationerlaubt stärker lokalisierte Suche bei höheren Generationen

Page 32: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

s = 0.2

r2 = 0.8

G = FINDGEN(100)

GStern = 100.

b = 1.

mutation = s * (1.-r2^((1.-G/GStern)^b))

plot, G, mutation, XTitle = " generation", YTitle = " delta Gewicht "

Demo zur Mutation

s = findgen(100.)/100.sigma = 0.5gauss = exp (-s^2/sigma^2)plot, s, gauss,XTitle = "s", YTitle = "wahrscheinlichkeit"

Page 33: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

4. Auswahlturnier

Innerhalb der „Familie“ (2 Vektoren und 2 Kinder) überlebendie 2 mit dem geringsten Error -> kommen in die nächste Generation

Der obige Prozess ab 2. (Selektion) wird wiederholt bis die neue Generation mit N* Vektoren bevölkert ist

Die Eltern wandern in den Pool zurück (sie können wieder ausgewählt werden)

Page 34: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Vorgehen:

Bilden einer Population

Pärchenbildung / Crossover

Mutation der Kinder

Selektion innerhalb der Familie

Nächste Generation

Elitism

Page 35: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

5. Elitism = Elitedenken

Wenn der beste Vektor der alten Generation besser ist, alsder beste Vektor der neuen Generation, darf er den schlechtestenVektor der neuen Generation ersetzen

Page 36: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Simulated Annealing

Vermeidung von lokalen Minima

Error

Gewichte

Maximum

lokales Minimum

globales Minimum

Page 37: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Analogie mit Abkühlen

schnelles Abkühlen langsames Abkühlen

lokales Energieminimum globales Energieminimum

Festkörper

Page 38: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

TAnzahl der Iterationen: Tj ,...,1

Lösungsvektor und Errormetrik initialisieren: 00 ,

„Statt immer bergab zu gehen, versuche den größten Teil der Zeit bergab zu gehen“

Page 39: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

no

iii yy

1

2

Errormetrik

= Zahl der Beispieleno

iy = output Vektor von Beobachtung i

iy = Soll - output Vektor von Beobachtung i

Page 40: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Temperaturbestimmung:)ln(1

)(j

TjT

j

T(j

)

Page 41: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Lösungsvektor zufällig „stören“ (perturbate) j

Metropolis Verhältnis:

)(

ˆexp)( 1

jT

fjM jj

= nur vorgeschlagen, = akzeptiertj j

jFehlerwert zu j ist KEIN Vektor sondern ein double

f > 0

Page 42: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Akzeptierte neuen Vektor jj ˆ

- wenn 0ˆ1 jj

- oder wenn )()( jMjP P(j) ist gleichverteilte Zufallszahlzwischen 0 und 1

(mit mit T quer als „ausreichend“ großer von j unabhängiger Konstantewürde das System sogar mit Sicherheit das globale Minimumfinden – aber zu langsam)

)1ln()(

j

TjT

Page 43: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

j

M(j

)Wahrscheinlichkeit für Zurückweisung

Wahrscheinlichkeit für Akzeptieren

Page 44: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

j

M(j

)

20ˆ1 jjf

40ˆ1 jjf

M(j

)

Warum Faktor f ?

hängt von Anzahl der Output Knoten ab

no

iii yy

1

2

Page 45: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

mit mit T quer als „ausreichend“ großer von j unabhängiger Konstantewürde das System sogar mit Sicherheit das globale Minimumfinden – aber zu langsam

)1ln()(

j

TjT

Page 46: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

TEK_COLORTquer = 100j = FINDGEN(100)+1T = Tquer / (1+ALOG(j))PLOT, j, T, color = 3, thick=4

Tgg = Tquer / ALOG(1+ j)OPLOT, j, Tgg, color = 4

errorMetric = 20M = exp(- errorMetric /T)PLOT, j, M, thick = 4

Mgg = exp(- errorMetric /Tgg)OPLOT, j, Mgg, color = 4

errorMetric = 20

M = exp(- errorMetric /T)

PLOT, j, M, thick = 4

errorMetric = 40

M = exp(- errorMetric /T)

OPLOT, j, M, thick = 4,color =4

Page 47: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

„Winner takes all“

Ansätze für die Output Funktion:

einfach: oi = s( neti -)

oi = O(ai

Winner takes it all: oi ={ O‘(ai) wenn ai = max(...,ak ,...)

0 sonst

Page 48: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Adaline

(adaptive linear neuron)

Abwandlung der Perzeptron Lernregel:

jiiij eoow jiiij eaon

w

n ist die Anzahl Eingänge (und Gewichte) des iten Neuronsstatt (ist - output) wird (ist - Aktivierung) benutzt:

(Delta Regel: )Lineare Transferfunktion: s = 1

iii ao

Page 49: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Neuronale Netze

Adaline

Vorteile:

es lernen auch jene Elemente weiter, deren Output schon den richtigen Wert liefern =>

„Festigung“ der erworbenen Fähigkeiten, denn Elementemit Aktivitäten dicht am Schwellwert werden so verändert,daß sie stabilere Entscheidungen liefern (d.h. weiter vomSchwellwert entfernt).

Page 50: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

e21

e12

e11

e22

w11

w22

w12

w21

o1

e21= SFermi(nettoInput); nettoInput = e12*w21+e11*w11

w1

w2

wneu= wold + eta * delta * edelta = osoll-oist

w12 neu = w12 alt + eta * delta22 *e22

delta22 = (delta1 * w1 +delta2*w2)* S‘(e22)

o2

Page 51: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

w1

w2e2

e1

o

nettoInput = e1w1+e2w2

o = S(nettoInput)0,07+0,07 = 0,14S(0,14) = 0

e1 e2 o

0,7 0,7 1

0,1 0,3 0

w1 = 0,1; w2 = 0,1

wneu= wold + eta * delta * edelta = osoll-oist

w1neu = 0,1 + 0,2*1*(-1)*0,7=0,1-0, 14=-0, 04

nettoInputNew = -0,7*0,14+0,7*0,1=0,028

Page 52: Neuronale Netze

© Prof. Dr. H. Gläser, Künstliche Intelligenz

Eingangsneuron

Ausgangsneuron

Gewicht w