30.01.2014 Aufrufe

Vorlesungsfolien

Vorlesungsfolien

Vorlesungsfolien

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Jörn Fischer<br />

j.fischer@hs-mannheim.de<br />

Willkommen zur Vorlesung<br />

Fortgeschrittenes<br />

Maschinelles Lernen


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

2<br />

Vorstellung<br />

Zu meiner Person...<br />

Seite 2


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Überblick<br />

Inhalt<br />

●<br />

●<br />

●<br />

●<br />

●<br />

Organisatorisches<br />

Einführung<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Genetische Programmierung<br />

Reinforcement Learning<br />

Seite 3


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Organisatorisches<br />

Fragen…<br />

<br />

Fragen können gerne auch per Email an mich gerichtet werden oder aber<br />

bei Diskussionsbedarf einfach per Mail einen Termin vereinbaren...<br />

<br />

Rückkopplung ist ausdrücklich erwünscht !!!!!<br />

Page 4


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Ziel der Vorlesung<br />

<br />

<br />

<br />

<br />

...ist, dass ihr maximal dabei lernt<br />

Dass ihr die Algorithmen versteht<br />

Dass ihr sie selbst programmieren könnt<br />

Dass Ihr sie selbst erklären könnt<br />

Seite 5


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Mein Ansatz<br />

●<br />

●<br />

●<br />

Ich werde Euch ausgesuchte Algorithmen und deren Grenzen erklären<br />

Ihr werdet die Algorithmen in elementarer Form programmieren...<br />

auch zu Hause!<br />

Die Algorithmen werden testiert und gelten als<br />

Zulassung für die Klausur<br />

Seite 6


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Organisatorisches<br />

Fragen zu organisatorischen<br />

Dingen?<br />

Seite 7


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Organisatorisches<br />

Frage an Sie...<br />

Haben Sie schon mal was von<br />

●<br />

●<br />

●<br />

●<br />

MLE besucht?<br />

Evolutionäre Algorithmen<br />

Reinforcement Learning<br />

Neuronale Netze<br />

Gehört oder etwas mit gemacht?<br />

Seite 8


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Seite 9


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Literatur<br />

<br />

Russel, Stuard; Norvig, Peter: Künstliche Intelligenz. Prentice Hall, New<br />

Jersey, 1995<br />

<br />

Mitchell, Tom: Machine Learning. McGraw-Hill, 1997<br />

<br />

<br />

Zell, Andreas: Simulation Neuronaler Netze. Oldenbourg Verlag, München,<br />

1997<br />

Sutton, Richard; Barto, Andrew G.: Reinforcement Learning. MIT Press,<br />

1998<br />

Seite 10


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Frage?<br />

●<br />

Was hält uns also davon ab eine Maschine zu bauen, die in allen<br />

Belangen die Leistungsfähigkeit eines Menschen hat?<br />

Antwort:<br />

?<br />

Seite 11


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Frage?<br />

●<br />

●<br />

Was hält uns also davon ab eine Maschine zu bauen, die in allen<br />

Belangen die Leistungsfähigkeit eines Menschen hat?<br />

Antwort:<br />

Die Möglichkeit nicht nur Lösungen zu finden sondern auch neue<br />

Lösungsmethoden erlernen oder entwickeln zu können<br />

●<br />

●<br />

●<br />

Die Angepasstheit an unsere Umwelt durch eine Jahrtausende<br />

währende Evolution<br />

Die Fähigkeit Lernmethoden zu erlernen (Methalernen)<br />

…<br />

Seite 12


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Was bedeutet ein System lernt<br />

Die Änderung von Informationen im System mit dem Ziel effizienter zu sein.<br />

●<br />

●<br />

●<br />

besser generalisieren zu können<br />

besser agieren zu können<br />

besser vorhersagen zu können<br />

Seite 13


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Was ist ein Agent<br />

Als Agent kann alles angesehen werden, was seine Umwelt durch<br />

Sensoren (sensors) wahrnimmt und durch Effektoren (effectors) beeinflußt.<br />

Zitat: Russel und Norvig<br />

Seite 14


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Was für Problemkategorien kann man unterscheiden?<br />

vollständig wahrnehmbar teilweise wahrnehmbar<br />

deterministisch stochastisch<br />

(Episoden sind<br />

unabhängig<br />

voneinander)<br />

episodisch sequentiell<br />

statisch dynamisch<br />

diskret kontinuierlich<br />

Seite 15


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Was für Methoden kann man unterscheiden?<br />

●<br />

●<br />

●<br />

Überwachtes lernen (supervised learning)<br />

eine Funktion wird anhand Ein-Ausgabe Paaren gelernt<br />

Unüberwachtes Lernen (unsupervised learning)<br />

der Algorithmus findet anhand von Eingabedaten ein Modell, welches<br />

die Eingaben beschreibt und Vorhersagen ermöglicht<br />

Bekräftigungs Lernen (reinforcement learning)<br />

der Algorithmus belohnt oder bestraft eine Taktik wie in potentiell<br />

auftretenden Situationen zu handeln ist<br />

Seite 16


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter<br />

Neuronaler Netze<br />

Seite 17


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Überblick<br />

●<br />

●<br />

●<br />

●<br />

●<br />

Einführung<br />

Perzeptron<br />

Biologische Neuronen<br />

Dynamische Systeme<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

Was ist ein dynamisches System<br />

Begriffserläuterungen<br />

Wofür braucht man die Theorie Dynamischer Systeme?<br />

Welche Arten von Dynamiken gibt es?<br />

Phasendiagramm, Bifurkatiosdiagramm, Lyapunov Exponent<br />

Beispiele<br />

Das rekurrente IML-Netzwerk<br />

Seite 18


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Warum Neuronale Netze?<br />

●<br />

●<br />

●<br />

Neuronale Netze können Funktionen aufgrund von Messdaten<br />

erlernen, so dass Modelle, die nur schwer in DGL‘s oder andere<br />

Abbildungen gefasst werden können trotzdem erlernbar sind.<br />

Man spricht dann von „Black Box Modelling“<br />

Neuronale Netze funktionieren auch in hochdimensionalen Räumen, in<br />

denen die Komplexität der Daten ein konstruieren von Funktionen per<br />

Hand unpraktisch oder sogar unmöglich werden lässt


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Welche Arten von Anwendungen gibt es?<br />

●<br />

●<br />

●<br />

●<br />

Funktionsapproximation bzw. Regressionsanalyse einschließlich<br />

Fitnessapproximation und Zeitreihenvorhersage<br />

Klassifikation, einschließlich Muster und Sequenzerkennung,<br />

Erkennung neuer bzw. unbekannter Daten (novelty detection) und<br />

sequentielles Entscheidungsfällen (bsp. Reinforcement Learning)<br />

Datamining, wie Filterung, Clustering, Blind Source Separation und<br />

Kompression<br />

Robotik, wie Bewegungskontrolle, Aufmerksamkeitssteuerung,<br />

Reinforcement Learning, etc.


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Konkret?<br />

●<br />

Spiele wie Backgammon (TD Gammon), ein Reinforcement Learner<br />

gekoppelt mit Neuronalem Netz, welcher zu spielen lernt, indem er<br />

gegen sich selbst spielt.<br />

●<br />

Tesauro, Gerald (March 1995). "Temporal Difference Learning and TD-<br />

Gammon". Communications of the ACM 38 (3). Retrieved 2010-02-08.


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Konkret?<br />

●<br />

●<br />

Krebs Diagnostik<br />

Ganesan, N. "Application of Neural Networks in Diagnosing Cancer<br />

Disease Using Demographic Data". International Journal of Computer<br />

Applications.


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Einführung<br />

Konkret?<br />

●<br />

●<br />

Prädiktion von Energieen in der Dichte Funktionstheorie<br />

Roman M. Balabin, Ekaterina I. Lomakina (2009). "Neural network<br />

approach to quantum-chemistry data: Accurate prediction of density<br />

functional theory energies". J. Chem. Phys. 131 (7): 074104.<br />

doi:10.1063/1.3206326. PMID 19708729.


Einführung<br />

Ausserdem?<br />

●<br />

Regelung und Analyse von komplexen Prozessen<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

Frühwarnsysteme<br />

Optimierung<br />

Zeitreihenanalyse (Wetter, Aktien etc.)<br />

Sprachgenerierung (Beispiel: NETtalk)<br />

Bildverarbeitung und Mustererkennung<br />

Schrifterkennung (OCR)<br />

Spracherkennung<br />

Data-Mining<br />

Informatik: Bei Robotik, virtuellen Agenten und KI-Modulen in Spielen und Simulationen.<br />

Medizinische Diagnostik, Epidemiologie und Biometrie<br />

Klangsynthese<br />

Strukturgleichungsmodell zum Modellieren von sozialen oder betriebswirtschaftlichen<br />

Zusammenhängen<br />

Quelle: http://de.wikipedia.org/wiki/K%C3%BCnstliches_neuronales_Netz<br />

Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Neuronale Netze<br />

Das Perzeptron


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Neuronale Netze<br />

Das Perzeptron<br />

Beim Perzeptron ist die Neuronenaktivität :<br />

(2.1)<br />

t<br />

φ +1 n<br />

j =∑ i =1<br />

w t t<br />

ij o i<br />

Die Transferfunktion des Perzeptrons ist eine Schwellwertfunktion:<br />

Oj=<br />

{<br />

1 if φj >= 0<br />

0 if φj < 0


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Neuronale Netze<br />

Das Perzeptron (1 Layer)<br />

Lineare Separierbarkeit<br />

o1<br />

o3<br />

o2<br />

OR problem<br />

o1 o2 o3<br />

0 0 0<br />

0 1 1<br />

1 0 1<br />

1 1 1<br />

oII1<br />

1<br />

1 1 1 1 1 1 1 1 1<br />

1 1 1 1 1 1 1 1<br />

1 1 1 1 1 1 1<br />

0<br />

0 0<br />

0 0 0 0<br />

0 0 0 0 0 0<br />

1 1 1 1 1 1<br />

1 1 1 1<br />

1 1 1<br />

0 1<br />

o2


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Neuronale Netze<br />

Das Perzeptron (1 Layer)<br />

n<br />

Anzahl von<br />

Binärfunktionen mit n<br />

Inputs<br />

Anzahl der linear<br />

separablen Funktionen<br />

1 4 4<br />

2 16 14<br />

3 256 104<br />

4 65 536 1 772<br />

5 4.3 * 10 9 94 572<br />

6 1.8 * 10 19 5 028 134<br />

[Wasser, 89, Widner 60]


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Neuronale Netze<br />

Das Perzeptron (2 Layer)<br />

o3<br />

o1<br />

o6<br />

o4<br />

o2<br />

AND Verknüpfung<br />

von verschiedenen<br />

Bereichen<br />

o5<br />

Gewichte<br />

definiere die<br />

Bereiche<br />

o1<br />

1<br />

0 0 1 1 1 1 1 1 0<br />

1 1 1 1 0 0<br />

0 0 0<br />

0 0 0 0 0 0 0 0<br />

0 0 0 0 0 0 0 0 0 0 0<br />

0 0 0 0 0 0 0 0 0 0 0<br />

0 0 0 0 0 0 0 0 0 0 0<br />

0 1<br />

o2


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Neuronale Netze<br />

Das Perzeptron (3 Layer)<br />

o1<br />

o6<br />

o8<br />

o7<br />

AND Verknüpfung der<br />

verschiedenen Bereiche<br />

Gewichte definieren<br />

konvexe Bereiche<br />

1<br />

1 1 1 0 0 0 0 0 1<br />

0 0 0 0 1 1<br />

0 0 0<br />

0 0 0 0 0 0 0 0<br />

0 0 0 0 0 0 0 0 0 0 0<br />

0 0 0 0 0 0 0 0 0 0 0<br />

0 0 0 0 0 0 0 0 0 0 0<br />

o3<br />

o4<br />

o5<br />

0 1<br />

o2<br />

o1<br />

o2<br />

Gewichte<br />

definieren die<br />

Bereiche


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Neuronale Netze<br />

Das Perzeptron (Lernregel)<br />

If Oj=0 and tj=1 and Oi=1 then<br />

Wij = Wij + Oi<br />

Oj<br />

tj = target<br />

If Oj=1 and tj=0 and Oi=1 then<br />

Wij = Wij - Oi<br />

wij<br />

Oi


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Biologische Neuronen<br />

●<br />

Eine Pyramidenzelle (Cajal, 1911) Die Information fließt von den<br />

Dendriten über den Soma zum Axon und zu den Synapsen, welche das<br />

Neuron mit anderen Neuronen verbindet<br />

Seite 32


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Biologische Neuronen<br />

Seite 33


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Biologische Neuronen<br />

Seite 34


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Seite 35


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Was ist ein dynamisches System?<br />

●<br />

Unter einem dynamischen System versteht man ein mathematisches<br />

Modell eines zeitabhängigen Prozesses, der homogen bezüglich der<br />

Zeit ist, also dessen Verlauf zwar von der Zeit, also dessen Verlauf<br />

zwar vom Anfangszustand, aber nicht vom Anfangszeitpunkt abhängt.<br />

(Wikipedia)<br />

Seite 36


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Begriffserläuterungen<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

Zustand: N Koordinaten oder N Werte, die das System zu einem<br />

gegebenen Zeitpunkt T vollständig beschreiben<br />

Anfangszustand: Der N-dimensionale Zustand, von dem aus ein<br />

Zustands-Verlauf beobachtet wird i.a. Bei T=0<br />

Orbit/ Trajektorie : Ein Zustandsverlauf im N-dimensionalen<br />

Phasenraum/ Zustandsraum: Der N-dimensionale Raum der<br />

Koordinaten, in dem ein Orbit oder eine Trajektorie verläuft<br />

Zeit diskretes dynamisches System: Wenn der Zustand eines Systems<br />

nur für diskrete Zeiten berechnet wird<br />

Attraktor: in einem nichtlinearen System werden Fixpunkte, Orbits und<br />

allgemeine nichtperiodische Grenzmengen als Attraktor bezeichnet<br />

Seite 37


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Wofür braucht man die Theorie Dynamischer Systeme?<br />

●<br />

●<br />

●<br />

Die Theorie der dynamischen Systeme versucht die Art der Dynamik<br />

einzuordnen.<br />

Wenn man die Art der Dynamik kennt, die ein System beinhaltet, weiß<br />

man ob sich der Zustand einem Statischen Zustand nähert, ob der<br />

Zustand oszilliert oder sogar chaotisch verläuft.<br />

Man kann Aussagen über Zustandsänderungen und Vorhersagen bzw.<br />

Vorhersagefähigkeit treffen.<br />

Seite 38


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Lineare Systeme (1)<br />

●<br />

●<br />

Lineare Systeme kann man i.A. In Matrixdarstellung schreiben. Man<br />

kennt die Gleichung von der Geraden: x(t+1)=m x(t) + b wobei x(t) und<br />

b jeweils ein Vektor ist und m eine Matrix<br />

Wenn man diese Gleichung z.B. auf einen Punkt im 2 Dimensionalen<br />

Zustandsraum anwendet, so bekommt man zu Folgezeiten (t+n)<br />

weitere Punkte.<br />

Seite 39


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Lineare Systeme (2)<br />

●<br />

Angenommen b = 0 und die Beträge in der Matrix m sind klein (


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Lineare Systeme (3)<br />

●<br />

Falls b 0 bewegt sich der Punkt ins unendliche und divergiert<br />

Seite 41


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Lineare Systeme (4)<br />

●<br />

●<br />

●<br />

Falls b = 0 und m beispielsweise eine Rotationsmatrix, so bekommt<br />

man ein periodisches oder quasiperiodisches Verhalten.<br />

Periodisch nennt man es, wenn es nach n-Abbildungen wieder auf dem<br />

selben Punkt landet. Dann hat es die Periode n.<br />

Quasiperiodisch nennt man es, wenn die Schrittweite beispielsweise<br />

Seite 42


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Lineare Neuronale Netze:<br />

Seite 43


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Stabilität<br />

Ein Fixpunkt ist genau dann stabil, wenn alle Eigenwerte der Matrix negative Realteile<br />

besitzen.<br />

Seite 44


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Stabilität<br />

●<br />

Was aber, wenn der Punkt in n von N Richtungen Anziehend und N-n<br />

Richtungen abstoßend ist? → Dann ist er trotzdem instabil !!!<br />

Sattelpunkt<br />

Seite 45


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Nichtlineare Systeme<br />

●<br />

●<br />

●<br />

●<br />

Die Dynamik kann komplexer werden, denn es gibt nun, wenn die<br />

Abbildung steil genug verläuft auch Chaotisches Verhalten.<br />

Chaotisch heißt dass kleine Störungen zu komplett unterschiedlichem<br />

Verhalten führen.<br />

Beispiel: Galton Brett<br />

Wenn die<br />

Sigmoide eher eine<br />

Schwellwertfunktion ist<br />

und man nahe dem<br />

Ursprung ist springt der<br />

Output z.B. von 0 auf 1<br />

Seite 46


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Nichtlineare Systeme<br />

●<br />

Chaotischer Attraktor: Minimale Änderungen in der Anfangsbedingung<br />

führen zu einem komplett unterschiedlichen Verhalten<br />

Lorenzattraktor<br />

Seite 47


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Nichtlineare Neuronale Netze<br />

●<br />

Ein simples 2 Neuronen Netz:<br />

Seite 48


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Nichtlineare Neuronale Netze<br />

●<br />

Bifurkationsdiagramm: Ein 2 Neuronen Netz dessen Gewicht w11 verändert<br />

wird und der Output eines Neurons aufgezeichnet wird.<br />

Seite 49


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Nichtlineare<br />

Neuronale Netze<br />

●<br />

Ein Maß für das Chaos<br />

ist der sogenannte<br />

Ljapunov Exponent.<br />

mit<br />

Seite 50


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Zeitdiskrete Nichtlineare Neuronale Netze<br />

●<br />

●<br />

●<br />

Ist der größte Ljapunov Exponent > 0, so ist das System i.d.Regel<br />

divergent.<br />

Ist er < 0, so entspricht dies einer Phasenraum kontraktion, d.h. das<br />

System ist dissipativ und agiert stationär oder periodisch stabil.<br />

Ist die Summe aller Ljapunov Exponenten = 0, so so handelt es sich um ein<br />

konservatives System(wie ein Potentialfeld, wo keine Kräfte reingesteckt<br />

werden)<br />

Seite 51


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Aufgabe 1)<br />

●<br />

Ergänzt die Vorlage (BifurcationAndPhaseDiagram-Aufgabe.zip) so, dass<br />

das Bifurkationsdiagramm und das Phasendiagramm gezeichnet werden. Die<br />

Gewichtsmatrix des jeweiligen Neuronalen Netzes kann dem Paper<br />

entnommen werden.<br />

Seite 52


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Das rückgekoppelte IML-Network<br />

●<br />

●<br />

●<br />

Ein Neuronales Netz wird i.A. Genutzt um eine Abbildung von Input zu<br />

Output zu bekommen<br />

Diese Abbildung kann von vergangenen Inputs abhängen, braucht also eine<br />

Art Gedächtnis<br />

Ein Gedächtnis bekommt ein Neuronales Netz mittels Rückkopplungen<br />

oder mindestens Nachbarschaftskopplungen<br />

Seite 53


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Das rückgekoppelte IML-Network<br />

●<br />

●<br />

●<br />

Ein Echo-State Netzwerk (Herbert Jäger) ist ein Netzwerk, welches genau<br />

solche Rückkopplungen im hidden Layer hat. Die Gewichte sind zufällig und<br />

ändern sich nicht, wobei durch Gewichtsskalierung dafür gesorgt werden<br />

muss, dass die Hidden Schicht nicht chaotische Attraktoren hervorbringt.<br />

Auch die Eingangsgewichte sind zufällig!<br />

Gelernt werden dann nur die Gewichte zu den Ausgangsneuronen mittels<br />

linearer Regression.<br />

Seite 54


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Das rückgekoppelte IML-Network<br />

●<br />

●<br />

Ein IML-Netzwerk ist die vereinfachte Version des Echo-State Netzwerkes,<br />

denn innerhalb der Hidden Schicht existieren nur seitliche Kopplungen zu<br />

den rechten Nachbarn mit einer Dichte von etwa 5%. Dass heißt, dass nur<br />

jede 20. mögliche Verbindung existiert.<br />

Eine Skalierung der Gewichte ist nicht notwendig, da innerhalb des Hidden<br />

Layers keine chaotische Dynamik entstehen kann.<br />

Seite 55


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Dynamik Rekurrenter Neuronaler Netze<br />

Das rückgekoppelte IML-Network<br />

●<br />

●<br />

●<br />

Die Eingangsgewichte der Hidden Schicht sollte so skaliert werden, dass<br />

der Output des Hidden Layers weder „Binär“ (dann sind Gewichte zu groß)<br />

noch zu klein ist (dann sind auch die Gewichte zu klein).<br />

Zum erlernen der Output Gewichte sollte der quadratische Fehler der<br />

Abbildung minimiert werden.<br />

Dafür muss dann nur ein Gleichungssystem gelöst werden:<br />

Seite 56


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Aufgabe 2)<br />

●<br />

Programmiert mit Hilfe der Vorlage ein feedforward IML-Netz, welches das<br />

Spiralproblem löst. In der Vorlage fehlt die Aktivierung des Netzes und die<br />

Vernetzung der Hidden mit der Eingangsschicht.<br />

●<br />

Die zweite Vorlage beinhaltet den Code für ein rückgekoppeltes IML-Netz<br />

(ohne Seitwärtskopplungen). Es lernt den Lorenzattraktor. Plottet bitte den<br />

Output einiger Hidden Neuronen, skaliert gegebenenfalls die Gewichte und<br />

traniert den Attraktor mehrfach indem ihr am Eingang rauschen mit geringer<br />

Amplitude hinzugebt.<br />

Seite 57


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Optimierung<br />

Raum und Dimensionen<br />

Seite 58


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Optimierung<br />

Nachbarzustände (Travelling Salesman)<br />

●<br />

Wie viele Nachbarzustände k gibt es, wenn man im Traveling<br />

Salesman Problem Städte vertauscht um eine n Städte Rundreise zu<br />

optimieren?<br />

k = n*(n-1)<br />

●<br />

●<br />

Dabei sucht man sich zunächst eine der n Städte aus und vertauscht<br />

sie mit einer der übriggebliebenen (n-1) Städte.<br />

→ Nachbarn können i.a. alle geprüft werden<br />

Seite 59


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Optimierung<br />

Nachbarzustände (Hill Climber)<br />

●<br />

Wie viele Nachbarzustände k hat ein HillClimber, wenn der Parameterraum<br />

n Dimensionen hat?<br />

k=3 n -1<br />

n<br />

k<br />

n=1 k=2<br />

1 2<br />

2 8<br />

n=2 k=8<br />

4 80<br />

8 6560<br />

n=3 k=26<br />

16 43046720<br />

32 18*10 14<br />

64 34*10 29<br />

Nachbarn können i.a. nicht alle geprüft werden<br />

Seite 60


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Genetische Algorithmen<br />

Seite 61


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Seite 62


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

In der Informatik<br />

●<br />

●<br />

●<br />

Mutation: In der Gensequenz werden mit gegebener Wahrscheinlichkeit<br />

zufällig Bits „gekippt“<br />

Rekombination (Crossover): Aus den Genen zweier effizienter Individuen<br />

wird durch Wählen eines oder mehrerer Crossover Punkte ein neues Gen<br />

(Individuum) produziert. Dabei wird der erste Teil des einen Gens (bis zum<br />

Crossoverpunkt) und der zweite Teil des anderen Gens zu einem neuen<br />

Gen zusammengefügt.<br />

Selektion: Bei der Selektion werden die Individuen bewertet und nur die<br />

effizientesten werden in die darauffolgende Generation übernommen<br />

Seite 63


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

p sei die Anzahl der Hypothesen(=Individuen) in der Population P<br />

r sei der Anteil, der in jedem Schritt durch Crossover ersetzt wird<br />

m sei Mutationsrate<br />

Initialisiere die Population (erzeuge Zufallshypothesen)<br />

Errechne die Fitness für alle Hypothesen<br />

while maxFitness


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

integer select()<br />

{<br />

randNum sei Zufallszahl [0..1]<br />

summe = 0<br />

index = Zufallszahl [0..p]<br />

do<br />

index = index + 1<br />

index = index modulo p<br />

summe := summe + Pr(index)<br />

while summe


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Problem bei der Mutation<br />

●<br />

●<br />

Problem: Ein genetischer Algorithmus findet einen Bitstring „011111“ = 31<br />

der noch nicht optimal ist, denn „100000“ = 32 währe der optimale Bitstring.<br />

Dann müsste der genetische Algorithmus alle Bits invertieren um dahin zu<br />

gelangen. Leider führt jede Invertierung eines Bits zunächst zu einem<br />

schlechteren Ergebnis…<br />

Lösung: Nach Möglichkeit kodiert man die zu optimierenden Parameter im<br />

Graycode. Damit ist garantiert, dass Nachbarzustände immer durch<br />

Änderung eines der Bits erreicht werden können!<br />

Seite 66


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Graycode Kodierung<br />

Sei b={Bn..B1} eine n stellige Binärzahl und g={Gn..G1} der dazu passende<br />

Graycode, dann kann g aus b mit Hilfe folgender Vorschrift gewonnen werden:<br />

G n<br />

= B n<br />

(Das oberste Bit ist gleich)<br />

G i<br />

= XOR(B i+1<br />

,B i<br />

)<br />

(für alle 1 < i < n-1)<br />

genauso gilt:<br />

B n<br />

= G n<br />

(Das oberste Bit ist gleich)<br />

B i<br />

= XOR(B i+1<br />

,G i<br />

)<br />

(für alle 1 < i < n-1)<br />

Seite 67


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Genetische Algorithmen<br />

Vorteile:<br />

●<br />

GA‘s sind nicht so anfällig dafür in lokalen Minima stecken zu bleiben (durch<br />

Operatoren wie Crossover können die Nachkommen z.B. weit auseinander<br />

liegen)<br />

Der Algorithmus ist einer der universellsten und lässt sich auch auf Probleme<br />

mit nicht stetiger Fitnessfunktion (im Prinzip sogar auf Probleme zeitlich<br />

veränderlicher Fitnessfunktion) anwenden<br />

●<br />

Nachteile<br />

●<br />

●<br />

Individuen mit hoher Fitness übernehmen schnell durch Kopien eine der<br />

folgenden Generationen, so dass weniger Diversität auftritt (crowding).<br />

Man findet nicht so konsequent und schnell die Minima wie beim<br />

Gradientenabstieg<br />

Seite 68


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Genetische Algorithmen<br />

Was kann man tun um die Nachteile des Crowding zu überwinden?<br />

●<br />

●<br />

●<br />

Man kann beispielsweise die Fitness verringern, wenn es viele ähnlich<br />

Individuen gibt : „fitness sharing“<br />

Man kann die Rekombination auf ähnliche Individuen beschränken, so erhält<br />

man Gruppen von „subspecies“<br />

Man kann die Selektionsstrategie ändern:<br />

z.B. durch Tournament Selection oder Rank Selection<br />

Seite 69


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Genetische Algorithmen<br />

●<br />

Tournament selection (Goldberg, Deb 1991)<br />

2 Hypothesen werden zufällig aus P ausgewählt; mit vordefinierter<br />

Wahrscheinlichkeit p wird die Hypothese ausgewählt, die die höhere Fitness<br />

hat, mit (1-p) Wahrscheinlichkeit die mit der kleineren Fitness<br />

→ führt zu mehr Diversität in der Population<br />

●<br />

Rank selection<br />

Die Hypothesen werden nach Fitness sortiert und die Wahrscheinlichkeit,<br />

dass eine Hypothese ausgewählt wird, hängt vom Rang statt von der Fitness<br />

ab.<br />

Seite 70


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Aufgabe 3)<br />

●<br />

Schreibt einen universellen genetischen Algorithmus, der eine gewünschte<br />

Anzahl von Parametern mit jeweils 32 Bit (Floating Point IEEE754) optimiert.<br />

Die Fitness sollte der (-1)*Euklidische Abstand eines zufällig gewählten<br />

Punktes im Parameterraum sein<br />

Seite 71


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Genetische Programmierung<br />

Seite 72


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Genetische Programmierung<br />

●<br />

●<br />

Bei der genetischen Programmierung wird der Genotyp, d.h. die genetische<br />

Information oder der Bitstring in den Phänotyp nämlich einen<br />

Programmquelltext übersetzt.<br />

Koza (1992) beschreibt in seiner Veröffentlichung die Grundlagen<br />

genetischer Programmierung.<br />

(Koza, J.(1992) Genetic Programming: On the programming of Computers by means of natural<br />

selection. Cambridge, MA: MIT Press)<br />

Seite 73


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Repräsentation von Programmen<br />

●<br />

Programme werden i.a. als Bäume dargestellt<br />

●<br />

Dabei stellt ein Funktionsaufruf einen Knoten dar und die Argumente sind<br />

weitere Knoten<br />

Seite 74


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Repräsentation von Programmen<br />

●<br />

●<br />

●<br />

Mutationen ändern einfach nur die Knoteninhalte.<br />

Dabei ist in unserem Beispiel darauf zu achten, dass die Blätter des<br />

Baumes Variablen oder Konstanten und die Zwischenknoten<br />

Rechenoperationen sind.<br />

Crossover: Es wird ein zufällig gewählter Unterbaum eines Elternteils durch<br />

einen zufällig gewählten Unterbaum des anderen Elternteils ersetzt.<br />

Seite 75


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Repräsentation von Programmen<br />

X<br />

=<br />

Seite 76


Evolutionäre Algorithmen<br />

Beispiel Befehlssatz:<br />

Opcode Mnemonic<br />

0 LDA #123 // Konstante<br />

1 LDO #123 // Konstante<br />

2 JSR #123 // Konstante Jump Subroutine (Aussprungadresse kommt auf<br />

unsichtbaren Stack)<br />

3 RET // Wenn jsr vorher, dann zurückspringen, sonst Programmende<br />

4 LDA %O<br />

5 LDO %O<br />

6 STA %O<br />

7 CMP O // Acc < = > O setzt Equal, Lower, Higher Flags<br />

8 SUB O // Acc = Acc - O<br />

9 ADD O // Acc = Acc + O<br />

10 MUL O // Acc = Acc * O<br />

11 JIE O // Jump if Equal<br />

12 JIL O // Jump if Lower (bei CMP O -> ACC 1<br />

Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Seite 77


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Evolutionäre Algorithmen<br />

Aufgabe 4)<br />

●<br />

Schreibt einen Algorithmus der genetischen Programmierung, der den<br />

Speicher so voll schreibt, dass vom genetischen Programm möglichst viele<br />

unterschiedliche Primzahlen in den Speicher geschrieben werden<br />

Seite 78


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Seite 79


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Was ist Reinforcement Learning<br />

Reinforcement Learning (bzw. bestärkendes Lernen) ist ein Lernen, bei<br />

dem ein Agent lediglich aufgrund von Belohnung (positivem „reward“) und<br />

Bestrafung (negativem „reward“) lernt seinen Nutzen zu optimieren<br />

Umgebung<br />

Zustand<br />

reward<br />

Aktion<br />

Agent<br />

Zustand s kann sein:<br />

- Sensorwerte der Umwelt<br />

- eigene errechnete Position<br />

- Innere Zustände wie<br />

Speicherinhalte<br />

Aktion a kann sein:<br />

- Manipulator bewegen<br />

- Abwarten<br />

- Speicher beschreiben<br />

Reward r ist:<br />

- Belohnung, die positiv oder<br />

negativ sein kann<br />

Seite 80


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Bewertungsfunktion<br />

Value Funktion V(s) oder Q(s,a) (Bewertungsfunktion / Value-Funktion):<br />

●<br />

●<br />

Die Bewertungsfunktion spiegelt die zu erwartende Belohnung (reward)<br />

wieder. Ist sie gelernt, so kann der Agent in jedem Zustand die Aktion<br />

aussuchen, die die größte zu erwartende Belohnung widerspiegelt.<br />

Sei Q* die optimale Bewertungsfunktion, dann gilt:<br />

γ=[0..1]<br />

Q t ∗ =∑ i=0<br />

∞<br />

γ i r t +i<br />

Dabei ist<br />

Discount Faktor, der dafür sorgt, dass weit in der<br />

Zukunft liegende mögliche Rewards geringer gewichtet werden.<br />

(t=0 ist der aktuelle Zeitpunkt, t>0 ist die Anzahl der Schritte in die Zukunft)<br />

Seite 81


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Bellmansches Optimalitätsprinzip<br />

„An optimal policy has the property that whatever the initial state and initial<br />

decision are, the remaining decisions must constitute an optimal policy with<br />

regard to the state resulting from the first decision.“ (Bellman 1957, Chap<br />

II.3)<br />

Beispiel:<br />

Wenn die Zustandsfolge 1,2,3,4,5 (mit Aktionen a,b,c,d) optimal ist, so ist<br />

auch die Teilfolge 2,3,4,5 mit Aktionen b,c,d optimal.<br />

Seite 82


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Herleitung der Q-Learning Update-Formel<br />

Sei Q* die optimale Value-Funktion:<br />

Q ∗ ∞<br />

t =∑ i=0 γ i r t +i<br />

0=r t<br />

+γQ ∗ ∗<br />

t+1<br />

−Q t<br />

Q ∗ ∞<br />

t =r t +∑ i=1 γ i r t +i<br />

Q ∗ ∞<br />

r<br />

t =r t +∑ i=0 γ i+1 t<br />

+γ max a<br />

r<br />

t<br />

(Q t +1<br />

)−Q t<br />

t +i+1<br />

Q ∗ ∞<br />

t =r t +γ∑ i =0 γ i r i +(t +1)<br />

Q ∗ ∗<br />

Q<br />

t<br />

=r t<br />

+γQ t<br />

=Q t<br />

+α(r t<br />

+γ max a t<br />

(Q t +1<br />

)−Q t<br />

)<br />

t +1<br />

α∈[0..1]ist Lernrate z.B. α=0.01<br />

γ∈[0..1]ist Discountfaktor<br />

r t<br />

ist Reward (Belohnung)<br />

negativ,wenn Qt zu groß<br />

= 0, wenn Qt optimal<br />

positiv, wenn Qt zu klein<br />

Seite 83


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Aktionsauswahl<br />

●<br />

●<br />

●<br />

Immer die Aktion mit der größten zu erwartenden Belohnung zu wählen<br />

nennt man Greedy-Strategie<br />

Fast immer die Aktion mit der größten Bewertung zu wählen, aber mit<br />

einer ε-Wahrscheinlichkeit eine der anderen Aktionen zu wählen nennt<br />

man ε-greedy<br />

Alle Aktionen mit gewichteten Wahrscheinlichkeiten zu wählen nennt<br />

man Softmax Action Selection:<br />

p [a ]=<br />

n<br />

∑ j=1<br />

eQ t[ a ]/ τ<br />

e Q t [ b]/ τ Seite 84


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Softmax action Selection<br />

p[a ]=<br />

n<br />

∑ j=1<br />

eQ t[ a ]/ τ<br />

e Q t [ j ]/ τ Seite 85<br />

Die Verteilung nennt man Gibbs oder Boltzmann Verteilung<br />

tau nennt man Temperatur<br />

Für Ƭ unendlich ist p[a] für alle a etwa gleich groß<br />

Für Ƭ 0 ist p[a greedy<br />

]=1 und für alle anderen p[a not_greedy<br />

]=0


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Q-Learning(Watkins, 1989)<br />

Q(s t<br />

, a t<br />

)=Q(s t<br />

, a t<br />

)+α[r t<br />

+γ max a<br />

Q(s t +1<br />

, a)−Q(s t<br />

, a t<br />

)]<br />

α = [0..1] ist die Lernrate<br />

Der Algorithmus:<br />

Seite 86


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Markow Entscheidungs Prozess<br />

Reinforcement Learning wird häufig als Markow Entscheidungsprozess<br />

aufgefasst und es wird vorrausgesetzt, dass die Markoweigenschaft erfüllt<br />

ist.<br />

Markoweigenschaft<br />

Die Markoweigenschaft garantiert, dass das Verhalten des Systems und<br />

damit die Wahrscheinlichkeiten, in welche Folgezustände das System<br />

gelangt nur vom aktuellen Zustands-Aktionspaar abhängt.<br />

Seite 87


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Aufgabe 5)<br />

Implementieren Sie einen Q-Learning Agenten der lernt ein PingPong Spiel zu<br />

spielen! Das Spiel wird vorgegeben.<br />

●<br />

●<br />

Reward = 1 bekommt der Agent, wenn der Schläger den Ball trifft.<br />

Reward = -1 bekommt der Agent, wenn er den Ball nicht trifft


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Erweiterungen<br />

Es gibt eine Reihe von Erweiterungen für das klassische Reinforcement Learning:<br />

●<br />

●<br />

Approximation der Value-Funktions (Neuronale Netze, CMAC, Multi Resolution etc.)<br />

Hierarchisches Reinforcement Learning (Feudal Q-Learning)<br />

●<br />

Modell basierte Verbesserungen (Dyna, Priorized Sweeping)


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Approximation der Value Funktion<br />

Neuronale Netze<br />

●<br />

Neuronale Netze werden zur Approximation der Value Funkion hinzugezogen, in<br />

einigen Arbeiten sogar rekurrente Netze.<br />

●<br />

Rekurrente Neuronale Netze haben ein Gedächtnis und können Zustände der<br />

ergangenheit mit beachten (Markow Eigenschaft) (Meeden, McGraw, & Blank, 1993;<br />

Lin& Mitchell, 1992; Schmidhuber, 1991)


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Approximation der Value Funktion<br />

CMAC (Cerebellar model articulation controller) Albus, J. S. (1975)<br />

Fig. aus (Frederick G. Harmon, Andrew<br />

A. Frank , Sanjay S. Joshi 2005)<br />

The control of a parallel hybrid-electric<br />

propulsion system for a small unmanned<br />

aerial vehicle using a CMAC neural<br />

network


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Approximation der Value Funktion<br />

Multi Resolution<br />

PartiGame Algorithmus (Moore 1994) generalisiert über Zustände<br />

Generiert neue Zustände gemäß eines Minimax Kriteriums


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Hierarchisches Reinforcement Learning<br />

Feudal Q-Learning (Dayan & Hinton, 1993; Watkins, 1989)<br />

●<br />

●<br />

Im einfachsten Fall: high-level master Modul und low-level slave Modul<br />

Master bekommt Reinforcement vom Environment<br />

●<br />

Master gibt Kommandos an die low-level Module und belohnt sie, selbst wenn es<br />

keinen externen Reward gibt.<br />

●<br />

●<br />

Master lernt Mapping von State zu Kommandos und Belohnung<br />

Slave lernt Mapping von Kommandos<br />

zu externen Aktionen


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Hierarchisches Reinforcement Learning<br />

Compositional Q-Learning (Singh 1992)<br />

●<br />

Hierarchie basiert auf zeitliche Abfolge von Unterzielen<br />

●<br />

Elementar-Tasks sind Verhaltensweisen, die eine wahrnehmbare Bedingung<br />

erfüllen<br />

●<br />

High-Level Ziel ist es mehrere Elementartasks in vorgegebener Reihenfolge zu<br />

lernen<br />

●<br />

Erst werden Elementary Tasks trainiert, dann lernt die sogenannte „gating-function“<br />

die Elementary-Tasks in der richtigen Reihenfolge anzusteuern


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Modell basierte Verbesserungen<br />

Dyna (Richard Sutton 1990/91)<br />

●<br />

Modell wird beim Handeln erstellt<br />

● Q-update<br />

●<br />

K mal wird ein Q-Update im Modell gelernt (ausgehend von k State-Action Paaren)


Jörn Fischer - j.fischer@hs-mannheim.de - Raum 113a - Tel. (0621)292-6767<br />

Reinforcement Learning<br />

Modell basierte Verbesserungen<br />

Priorized Sweeping (Moore & Atkeson, 1993)<br />

●<br />

Funktioniert wie dyna nur statt k-mal Q-update mit zufälligen State-Action Paaren:<br />

●<br />

Q- odert V-Value des letzten Zustands wird gespeichert und die Differenz des<br />

letzten zum bisherigen Q/V wird als Priorität für das Update benutzt<br />

●<br />

Dass bedeutet, dass gerade da wo die Differenz beim Update groß ist, dort wird das<br />

nächste mal eher ein Update gemacht.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!