Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Neuronale Netze Folien, Aufgaben sind unter www.computer-networking.de\~glaeser zu finden.

Ähnliche Präsentationen


Präsentation zum Thema: "Neuronale Netze Folien, Aufgaben sind unter www.computer-networking.de\~glaeser zu finden."—  Präsentation transkript:

1 Neuronale Netze Folien, Aufgaben sind unter zu finden.

2 Neuronale Netze Neuronale Netze A 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 Stärke der Verbindung = gespeicherte Information ! Oft genutzte Verbindungen werden starke Verbindungen = Lernen

3 Neuronale Netze Verwendung : Mustererkennung / Klassifikation Muster A Muster B Muster C ... Neuronales Netz verrauschtes Muster (Aktienkurs)

4 oi = O(ai) oi = s( neti-q ) Neuronale Netze Nettoinput e1 w1i e2 oi
Outputfunktion oi = O(ai) Output ... Neuronenfunktion oi = s( neti-q ) wni en Gewichte Input Stufenfunktion Schwellwert

5 { Neuronale Netze Outputfunktion O O kann eine Stufenfunktion sein O
Os(x) = 1 wenn x  0 0 wenn x < 0 1 x O kann eine Fermifunktion sein O 1 Of(x) = 1 / ( 1+exp(-x) ) x

6 Neuronale Netze Beschreibung von Netzwerktypen Topologie Lernregel Neuronenfunktion „Betriebsweisen“ der Netze Lernphase überwachtes Lernen e und o vorgegeben nicht - überwachtes Lernen nur e Ausführungsphase

7 Neuronale Netze Perzeptron e1 Topologie: o1 e2 o2 e3 einlagig = nur eine Neuronenschicht

8 { Neuronale Netze Perzeptron Outputfunktion ist die Signumsfunktion:
+1 wenn x  0 sgn(x) = -1 sonst Outputfunktion: oi = sgn(neti - q) Lernregel ( = wie komm‘ ich an die Gewichte ): Hebbsche Regel: Lernrate Soll Wert 0 < h  1

9 Neuronale Netze Was kann ein Perzeptron ? Klassifizierung anhand von Merkmalen Beispiel: Perzeptron mit zwei Eingängen (Merkmalen) e1 w1 o w2 e2

10 Neuronale Netze Was kann ein Perzeptron ? (Fortsetzung) o = sgn( w1 e1 + w2 e2 - q) => Unterscheidung in zwei Klassen möglich: o = Klasse A o = +1 Klasse B e2 Grenze zwischen A und B: sgn „kippt um“ sgn(x) kippt um, wenn x = 0 e1 sgn( w1 e1 + w2 e2 - q) = 0 ergibt Geradengleichung: e2 = - w1/w2 e1 + q / w2

11 Neuronale Netze Was kann ein Perzeptron ? (Fortsetzung) ergibt Geradengleichung: e2 = - w1/w2 e1 + q / 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 A B e1 e2

12 Neuronale Netze Was kann ein Perzeptron ? Das Perzeptron kann anhand von Merkmalen eine Unterscheidung in Klassen vornehmen Mit m Ausgangselementen können 2m Klassen unterschieden werden 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

13 Neuronale Netze Was kann ein einlagiges Perzeptron nicht ? e2 A e1 e2 B A e2 B B A A e1 e1 linear separierbar nicht linear separierbar nicht linear separierbar

14 Neuronale Netze Was kann ein Perzeptron nicht ? XOR Problem e2 (0,1) T (1,1) F nicht linear separierbar T F (0,0) (1,0) e1

15 Neuronale Netze Mehrlagige neuronale Netze wkl wij wjk e1 o1 e2 o2 ... ... eN oN j i l k Neuronenfunktion:

16 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. Problem beim Lernen: für innere Lagen (hidden layers) kann kein Fehler zwischen gewünschtem und tatsächlichem Output angegeben werden

17 Neuronale Netze Mehrlagige Perzeptrons Lösung Backpropagation Algorithmus Outputfehler des mten Neurons Lernregel: wmn(t + 1) = wmn(t) + h dm xn m liegt weiter zum Ausgang hin ! h > 0

18 Backpropagation Algorithmus
Neuronale Netze Backpropagation Algorithmus a) Alle Gewichte = zufällige Werte: < wmn < 0.1 b) Anlegen Musterinput e, Messen von c) Bestimmen Fehler di der Output Schicht Ableitung von sF ! e) Bestimmen der Gewichte zwischen Output Schicht und innerer Schicht Rekursive Berechnung der Fehler dn der nächst inneren Schichten m läuft in der Schicht näher am Ausgang

19 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 Neuronale Netze Fermi Funktion Ableitung der Fermi Funktion

21 a b c wba11 netc1 = ob1* wcb11+ ob2* wcb12 1 wcb11 1 c1 = sFermi‘(netc1) *(osoll- oc1) wba21 1  wcb11= h * c1 * ob1 wcb12 wba12  wcb12= h * c1 * ob2 2 2 wba22 b1= sFermi‘(netb1) *c1 * wcb11 b2= sFermi‘(netb2) *c1 * wcb12 ob1=sFermi(oa1 * wba11 + oa2 * wba12)  wba11= h * b1*oa1 ob2=sFermi(oa1 * wba21 + oa2 * wba22) a1= sFermi‘(neta1) * (b1 * wba11+ b2 * wba21) oc1= sFermi( ob1* wcb11+ ob2* wcb12)

22 Genetischer Algorithmus
Vermeidung von lokalen Minima Error Gewicht Maximum lokales Minimum globales Minimum

23 1. Erzeugung einer Population
sind die Gewichte alle Gewichte = Vektor beliebige, zufällige Werte ...

24 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 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 Shuffle Crossover: nach einer Binomialverteilung wird eine Zahl k von zu vertauschenden Gewichten in dem Vektorenpaar bestimmt. Dann werden zufällig k Gewichte vertauscht w = mittlere Wahrscheinlichkeit das zwei Gewichte vertauscht werden (freier Parameter) Häufigkeit von k k i = Index des Gewichts im Vektor p = Zahl Gewichte im Vektor

27 P p=0,9 p=0,1 p=0,5 Anzahl Täusche

28 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 Kind: (1-w) i,k + w j,k

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

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

31 G = aktuelle Generation, G* = maximale Generation
r1 und r2 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 Demo zur Mutation s = findgen(100.)/100. sigma = 0.5 gauss = exp (-s^2/sigma^2) plot, s, gauss,XTitle = "s", YTitle = "wahrscheinlichkeit" 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 "

33 4. Auswahlturnier Innerhalb der „Familie“ (2 Vektoren und 2 Kinder) überleben die 2 mit dem geringsten Error -> kommen in die nächste Generation Die Eltern wandern in den Pool zurück (sie können wieder ausgewählt werden) Der obige Prozess ab 2. (Selektion) wird wiederholt bis die neue Generation mit N* Vektoren bevölkert ist

34 Vorgehen: Bilden einer Population Pärchenbildung / Crossover Mutation der Kinder Selektion innerhalb der Familie Nächste Generation Elitism

35 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 Simulated Annealing Vermeidung von lokalen Minima Error Gewichte Maximum lokales Minimum globales Minimum

37 Analogie mit Abkühlen Festkörper langsames Abkühlen schnelles Abkühlen lokales Energieminimum globales Energieminimum

38 „Statt immer bergab zu gehen, versuche den größten Teil der Zeit bergab zu gehen“
Anzahl der Iterationen: Lösungsvektor und Errormetrik initialisieren:

39 Errormetrik = Zahl der Beispiele = output Vektor von Beobachtung i = Soll - output Vektor von Beobachtung i

40 Temperaturbestimmung:
T(j) j

41 Lösungsvektor zufällig „stören“ (perturbate)
ist KEIN Vektor sondern ein double Fehlerwert zu Metropolis Verhältnis: f > 0 = nur vorgeschlagen, = akzeptiert

42 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 j M(j) Wahrscheinlichkeit für Zurückweisung
Wahrscheinlichkeit für Akzeptieren j

44 Warum Faktor f ? hängt von Anzahl der Output Knoten ab M(j) M(j) j

45 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 errorMetric = 20 M = exp(- errorMetric /T) PLOT, j, M, thick = 4 errorMetric = 40 OPLOT, j, M, thick = 4,color =4 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

47 { oi = O(ai) Neuronale Netze „Winner takes all“
Ansätze für die Output Funktion: oi = O(ai) einfach: oi = s( neti -q ) { O‘(ai) wenn ai = max(...,ak ,...) Winner takes it all: oi = 0 sonst

48 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 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 w11 e21 e11 w1 o1 w21 w12 o2 w2 e12 w22 e22 e21= SFermi(nettoInput); nettoInput = e12*w21+e11*w11 wneu= wold + eta * delta * e delta = osoll-oist w12 neu = w12 alt + eta * delta22 *e22 delta22 = (delta1 * w1 +delta2*w2)* S‘(e22)

51 e1 e2 o 0,7 1 0,1 0,3 w1 nettoInputNew = nettoInput = e1w1+e2w2 e1
o = S(nettoInput) 0,07+0,07 = 0,14 S(0,14) = 0 nettoInputNew = -0,7*0,14+ 0,7*0,1=0,028 e1 o w2 e2 wneu= wold + eta * delta * e delta = osoll-oist w1 = 0,1; w2 = 0,1 w1neu = 0,1 + 0,2*1*(-1)*0,7 = 0,1-0, 14=-0, 04 e1 e2 o 0,7 1 0,1 0,3

52 Eingangs neuron Ausgangs neuron Gewicht w


Herunterladen ppt "Neuronale Netze Folien, Aufgaben sind unter www.computer-networking.de\~glaeser zu finden."

Ähnliche Präsentationen


Google-Anzeigen