Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "© Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Folien, Aufgaben sind unter www.computer-networking.de\~glaeser zu finden."—  Präsentation transkript:

1 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Folien, Aufgaben sind unter zu finden.

2 © Prof. Dr. H. Gläser, Künstliche Intelligenz 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 !

3 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Verwendung : Mustererkennung / Klassifikation Muster AMuster B verrauschtes Muster (Aktienkurs) Neuronales Netz Muster C...

4 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze e1e1 e2e2 enen... oioi w 1i w 2i w ni Gewichte Input Output Nettoinput Outputfunktion o i = O(a i Schwellwert Neuronenfunktion o i = s( net i - ) Stufenfunktion

5 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Outputfunktion O O kann eine Stufenfunktion sein 1 0 { O s (x) = 1 wenn x 0 0 wenn x < 0 O kann eine Fermifunktion sein 1 0 O f (x) = 1 / ( 1+exp(-x) ) x x O O

6 © 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 vorgegeben nicht - überwachtes Lernen nur e

7 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Perzeptron Topologie: e1e1 e2e2 e3e3 o1o1 o2o2 einlagig = nur eine Neuronenschicht

8 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Perzeptron Outputfunktion ist die Signumsfunktion: sgn(x) = { +1 wenn x 0 -1 sonst Outputfunktion: o i = sgn(net i - ) Lernregel ( = wie komm ich an die Gewichte ): Soll Wert Lernrate 0 < Hebbsche Regel:

9 © 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 e1e1 e2e2 o w1w1 w2w2

10 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze o = sgn( w 1 e 1 + w 2 e 2 - ) => Unterscheidung in zwei Klassen möglich: o = -1 Klasse A o = +1Klasse B sgn( w 1 e 1 + w 2 e 2 - ) = 0 ergibt Geradengleichung: e 2 = - w 1 /w 2 e 1 + / w 2 e1e1 e2e2 Grenze zwischen A und B: sgn kippt um sgn(x) kippt um, wenn x = 0 Was kann ein Perzeptron ? (Fortsetzung)

11 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Was kann ein Perzeptron ? (Fortsetzung) ergibt Geradengleichung: e 2 = - w 1 /w 2 e 1 + / w 2 Für alle Punkte (e 1,e 2 ) mit e 2 kleiner als das e 2 wie oben ausgerechnet, wird das Argument von sgn negativ, d.h. o = -1, d.h. Klasse A AA A A A A A B B B B B B B B B B e1e1 e2e2

12 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Was kann ein Perzeptron ? Das Perzeptron kann anhand von Merkmalen eine Unterscheidung in Klassen vornehmen Was kann ein Perzeptron nicht ? n Merkmale bilden im n - dimensionalen Merkmalsraum eine n-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 2 m Klassen unterschieden werden

13 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Was kann ein einlagiges Perzeptron nicht ? e1e1 e2e2 B A linear separierbar e1e1 e2e2 B A nicht linear separierbar e1e1 e2e2 B A nicht linear separierbar A

14 © Prof. Dr. H. Gläser, Künstliche Intelligenz F Neuronale Netze Was kann ein Perzeptron nicht ? e1e1 e2e2 nicht linear separierbar XOR Problem (0,0) (1,0) (0,1) T T (1,1) F

15 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Mehrlagige neuronale Netze e1e1 e2e2 eNeN... o1o1 o2o2 oNoN w kl w jk w ij Neuronenfunktion: k l ji

16 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Mehrlagige Perzeptrons Mehrlagige Perzeptrons sind in der Lage hinreichend komplexe Merkmalsregionen zu bilden, mit denen beliebige Klassen von Eingabemustern klassifiziert werden können. für innere Lagen (hidden layers) kann kein Fehler zwischen gewünschtem und tatsächlichem Output angegeben werden Problem beim Lernen:

17 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Mehrlagige Perzeptrons Lernregel: w mn (t + 1) = w mn (t) + m x n Lösung Backpropagation Algorithmus Outputfehler des mten Neurons m liegt weiter zum Ausgang hin ! > 0

18 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Backpropagation Algorithmus a) Alle Gewichte = zufällige Werte: -0.1 < w mn < 0.1 b) Anlegen Musterinput e, Messen von c) Bestimmen Fehler der Output Schicht Ableitung von s F ! Rekursive Berechnung der Fehler n der nächst inneren Schichten m läuft in der Schicht näher am Ausgang e) Bestimmen der Gewichte zwischen Output Schicht und innerer Schicht

19 © 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

20 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Ableitung der Fermi Funktion Fermi Funktion

21 © Prof. Dr. H. Gläser, Künstliche Intelligenz abc w ba w ba 21 w ba 12 w cb 11 w cb 12 w ba 22 o b 1 =s Fermi (o a 1 * w ba 11 + o a 2 * w ba 12 ) o b 2 =s Fermi (o a 1 * w ba 21 + o a 2 * w ba 22 ) o c 1 = s Fermi ( o b 1 * w cb 11 + o b 2 * w cb 12 ) c 1 = s Fermi (net c 1 ) *(o soll - o c 1 ) net c 1 = o b 1 * w cb 11 + o b 2 * w cb 12 w cb 11 = * c 1 * o b 1 w cb 12 = * c 1 * o b 2 b 1 = s Fermi (net b 1 ) * c 1 * w cb 11 b 2 = s Fermi (net b 2 ) * c 1 * w cb 12 w ba 11 = * b 1 *o a 1 a 1 = s Fermi (net a 1 ) * ( b 1 * w ba 11 + b 2 * w ba 21 )

22 © Prof. Dr. H. Gläser, Künstliche Intelligenz Genetischer Algorithmus Vermeidung von lokalen Minima Error Gewicht Maximum lokales Minimum globales Minimum

23 © Prof. Dr. H. Gläser, Künstliche Intelligenz 1. Erzeugung einer Population sind die Gewichte alle Gewichte = Vektor... beliebige, zufällige Werte

24 © 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ählt also bleiben 2 Vektoren übrig = Elternpaar -has been proven to be extremly useful for speeding up the convegence of the genetic search process

25 © 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:

26 © 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äufigkeit von k w = mittlere Wahrscheinlichkeit das zwei Gewichte vertauscht werden (freier Parameter) i = Index des Gewichts im Vektor p = Zahl Gewichte im Vektor

27 © Prof. Dr. H. Gläser, Künstliche Intelligenz p=0,1 p=0,5 p=0,9 P Anzahl Täusche

28 © Prof. Dr. H. Gläser, Künstliche Intelligenz b) Arithmetic Crossover: Für das Vektorpaar wird eine Zufallszahl w zwischen 0 und 1 gezogen Die 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

29 © 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

30 © 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:

31 © Prof. Dr. H. Gläser, Künstliche Intelligenz G = aktuelle Generation, G* = maximale Generation r 1 und r 2 zufällig aus gleichverteiltem Intervall [0,1] s zufällig von standard normalverteilung b = 2 steuert den Grad von nicht Uniformität der Mutation erlaubt stärker lokalisierte Suche bei höheren Generationen

32 © 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.5 gauss = exp (-s^2/sigma^2) plot, s, gauss,XTitle = "s", YTitle = "wahrscheinlichkeit"

33 © Prof. Dr. H. Gläser, Künstliche Intelligenz 4. Auswahlturnier Innerhalb der Familie (2 Vektoren und 2 Kinder) überleben die 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)

34 © 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

35 © Prof. Dr. H. Gläser, Künstliche Intelligenz 5. Elitism = Elitedenken Wenn der beste Vektor der alten Generation besser ist, als der beste Vektor der neuen Generation, darf er den schlechtesten Vektor der neuen Generation ersetzen

36 © Prof. Dr. H. Gläser, Künstliche Intelligenz Simulated Annealing Vermeidung von lokalen Minima Error Gewichte Maximum lokales Minimum globales Minimum

37 © Prof. Dr. H. Gläser, Künstliche Intelligenz Analogie mit Abkühlen schnelles Abkühlen langsames Abkühlen lokales Energieminimum globales Energieminimum Festkörper

38 © Prof. Dr. H. Gläser, Künstliche Intelligenz Anzahl der Iterationen: Lösungsvektor und Errormetrik initialisieren: Statt immer bergab zu gehen, versuche den größten Teil der Zeit bergab zu gehen

39 © Prof. Dr. H. Gläser, Künstliche Intelligenz Errormetrik = Zahl der Beispiele = output Vektor von Beobachtung i = Soll - output Vektor von Beobachtung i

40 © Prof. Dr. H. Gläser, Künstliche Intelligenz Temperaturbestimmung: j T(j)

41 © Prof. Dr. H. Gläser, Künstliche Intelligenz Lösungsvektor zufällig stören (perturbate) Metropolis Verhältnis: = nur vorgeschlagen, = akzeptiert Fehlerwert zu ist KEIN Vektor sondern ein double f > 0

42 © Prof. Dr. H. Gläser, Künstliche Intelligenz Akzeptierte neuen Vektor - wenn - oder wenn P(j) ist gleichverteilte Zufallszahl zwischen 0 und 1 (mit mit T quer als ausreichend großer von j unabhängiger Konstante würde das System sogar mit Sicherheit das globale Minimum finden – aber zu langsam)

43 © Prof. Dr. H. Gläser, Künstliche Intelligenz j M(j) Wahrscheinlichkeit für Zurückweisung Wahrscheinlichkeit für Akzeptieren

44 © Prof. Dr. H. Gläser, Künstliche Intelligenz j M(j) Warum Faktor f ? hängt von Anzahl der Output Knoten ab

45 © Prof. Dr. H. Gläser, Künstliche Intelligenz mit mit T quer als ausreichend großer von j unabhängiger Konstante würde das System sogar mit Sicherheit das globale Minimum finden – aber zu langsam

46 © Prof. Dr. H. Gläser, Künstliche Intelligenz TEK_COLOR Tquer = 100 j = FINDGEN(100)+1 T = Tquer / (1+ALOG(j)) PLOT, j, T, color = 3, thick=4 Tgg = Tquer / ALOG(1+ j) OPLOT, j, Tgg, color = 4 errorMetric = 20 M = 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

47 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Winner takes all Ansätze für die Output Funktion: einfach: o i = s( net i - ) o i = O(a i Winner takes it all: o i = { O(a i ) wenn a i = max(...,a k,...) 0 sonst

48 © Prof. Dr. H. Gläser, Künstliche Intelligenz Neuronale Netze Adaline (adaptive linear neuron) Abwandlung der Perzeptron Lernregel: n ist die Anzahl Eingänge (und Gewichte) des iten Neurons statt (ist - output) wird (ist - Aktivierung) benutzt: (Delta Regel: ) Lineare Transferfunktion: s = 1

49 © 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 Elemente mit Aktivitäten dicht am Schwellwert werden so verändert, daß sie stabilere Entscheidungen liefern (d.h. weiter vom Schwellwert entfernt).

50 © Prof. Dr. H. Gläser, Künstliche Intelligenz e 21 e 12 e 11 e 22 w 11 w 22 w 12 w 21 o1o1 e 21 = S Fermi (nettoInput); nettoInput = e 12 *w 21 +e 11 *w 11 w1w1 w2w2 w neu = w old + eta * delta * e delta = o soll -o ist w 12 neu = w 12 alt + eta * delta 22 *e 22 delta 22 = (delta 1 * w 1 +delta 2 *w 2 )* S(e 22 ) o2o2

51 © Prof. Dr. H. Gläser, Künstliche Intelligenz w1w1 w2w2 e2e2 e1e1 o nettoInput = e 1 w 1 +e 2 w 2 o = S(nettoInput) 0,07+0,07 = 0,14 S(0,14) = 0 e1e1 e2e2 o 0,7 1 0,10,30 w 1 = 0,1; w 2 = 0,1 w neu = w old + eta * delta * e delta = o soll -o ist w 1neu = 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

52 © Prof. Dr. H. Gläser, Künstliche Intelligenz Eingangs neuron Ausgangs neuron Gewicht w


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

Ähnliche Präsentationen


Google-Anzeigen