Sie sind auf Seite 1von 45

Vorlesung

Machine Learning
-

Einführung in Künstliche Neuronale Netze


(ANN)

Neuronale Netze Machine Learning


Übersicht

1. A Short History

2. Wie arbeitet unser Gehirn? - Neuronale Netzwerke


(Idealisiertes Modell)

3. Perzeptron (Single-Layer-Netzwerke)

4. Multilayer-Netzwerke

5. Einsatz von Neuronalen Netzen

6. Zusammenfassung

Neuronale Netze Machine Learning


Zur Geschichte…(1943/1949)

Hebb, Hebbsche Lernregel, 1949

Warren McCulloch und Walter Pitts , 1943

Neuronale Netze Machine Learning


Zur Geschichte…(1969/1974)

Marvin Minsky und Seymour Papert: Kohonen, 1974


Perzeptron-Kritik, 1969

Neuronale Netze Machine Learning


Zur Geschichte… (1986)

Rumelhart McClelland

Rumelhart, D.E. & McClelland, J.L. (Hg.),


Parallel Distributed Processing: Explorations in the
Microstructure of Cognition. Cambridge, MA: MIT Press, 1986.

Neuronale Netze Machine Learning


Einführung Neuronale Netze

(Quelle: http://www.idsia.ch/NNcourse/brain.html)

The brain - that's my second most favourite organ! - Woody Allen

Neuronale Netze Machine Learning


Einführung Neuronale Netze

(http://www.medem.com/MEDEM/images/ama/
ama_brain_stroke_lev20_thebraineffectsstroke_01.gif)

Neuronale Netze Machine Learning


Einführung Neuronale Netze

(Quelle: http://www.idsia.ch/NNcourse/brain.html)

(http://www.medem.com/MEDEM/images/ama/
ama_brain_stroke_lev20_thebraineffectsstroke_01.gif)

Neuronale Netze Machine Learning


Einführung Neuronale Netze

(Quelle: http://www.idsia.ch/NNcourse/brain.html) (Quelle: http://www.idsia.ch/NNcourse/brain.html)

Neuronale Netze Machine Learning


Zelle
• Aufbau einer elektrischen
Spannung im Zellkern.

• Entladung bei Überschreitung


einer Schwelle.

• Weiterleitung dieses
Potentials an andere Zellen
über Synapsen.

• Zellkern-Axon-Synapsen-
Dendriten der anderen Zellen.

• Informationsweitergabe an 102
bis 104 Zellen.

Neuronale Netze Machine Learning


Zelle
• Aufbau einer elektrischen
Spannung im Zellkern.

• Entladung bei Überschreitung


einer Schwelle.

• Weiterleitung dieses
Potentials an andere Zellen
über Synapsen.

• Zellkern-Axon-Synapsen-
Dendriten der anderen Zellen.

• Informationsweitergabe an 102
bis 104 Zellen.

Neuronale Netze Machine Learning


Einführung Neuronale Netze

(Quelle: http://www.idsia.ch/NNcourse/brain.html) (Quelle: http://www.ninds.nih.gov/disorders/brain_basics/know_your_brain.htm)

Neuronale Netze Machine Learning


Funktionsweise unseres Gehirns
• Menschlicher Kortex
(Großhirnrinde) lässt
verschiedene Neuronentypen
erkennen.
• Eine hierarchische Struktur
ist zu erkennen.
Quelle: Rojas, 1993, S. 11, nach Lassen et al., 1988

• Unterschiedliche Aufgaben
(z. B. vierte Schicht
zuständig für
Sinneswahrnehmungen)

Raúl Rojas: Theorie der neuronalen Netze.


Springer-Verlag, Berlin, 1993.

Neuronale Netze Machine Learning


Aktionspotential

• Phase 1: Ruhepotential
• Phase 2: von außen, d. h.
entweder von anderen Zellen
oder von einem Rezeptor
(z. B. Augen) kommt ein
elektrischer Impuls. Der
Schwellenwert wird überstie-
gen, die Zelle “feuert” von -90
mV auf einen positiven Wert
innerhalb eines Bruchteils
einer Millisekunde
Quelle: Köhler, 1990, nach Schmidt & Tewes, 1987 • Phase 3: Repolarisierung
• Phase 4: Ruhepotential

Neuronale Netze Machine Learning


Aktionspotential

• Synapsen exitatorisch
(erregend) oder inhibitorisch
(hemmend).
• Die Übertragung eines
Potentials durch Synapsen
sind entweder chemisch oder
elektrisch.

Quelle: Köhler, 1990, nach Schmidt & Tewes, 1987

Neuronale Netze Machine Learning


Vergleich: Gehirn-Computer
• Eine Kollektion von einfachen Zellen führt uns zum Denken, Agieren und
Bewusstsein.

• Vergleich zwischen Gehirnen und digitalen Computern


• Speicher, Verarbeitungsgeschwindigkeit, Parallelität, Fehlertoleranz
• Obwohl ein Computer millionenfach schneller bei Rechenoperationen ist
als das Gehirn, ist das Gehirn schneller bei der Verarbeitung bestimmter
Aufgaben (z. B. Erkennung eines Gesichts).

Neuronale Netze Machine Learning


2. Neuronale Netzwerke

• Neuronale Netze (auch künstliche neuronale Netze KNN)


• Design ideal für induktives Lernen, können Generalisieren und sind
deshalb für die Modellierung von Wert.
• Breite Einsatzfelder

• Ein neuronales Netz wird aus einer Anzahl von Units/Neuronen,


zusammengesetzt, die durch Links verbunden sind.

• Jeder Link hat ein numerisches Gewicht. Sie stellen das ‘Gedächtnis’ in einem
neuronalen Netz dar. Sie werden während des Lernvorgangs verändert.

Neuronale Netze Machine Learning


2. Neuronale Netzwerke

• Einige Neuronen sind mit der • Die Idee ist: jedes Neuron
Außenwelt verbunden und heißen berechnet sein eigenes
Input- oder Outputneuronen. Aktivierungslevel (abhängig von
Gewichten und Eingaben der
• Jedes Neuron hat einen Satz von Nachbarn). Dabei gibt es keine
Eingabelinks von anderen ‘globale’ Kontrolle über die
Neuronen, ein Aktivierungslevel Neuronen.
und einen Satz von Ausgabe-
Links zu anderen Neuronen. • Aufbau eines Netzwerkes:
• Wie viele Neuronen braucht
man?
• Welche Art von Neuronen
braucht man?
• Wie sollen die Neuronen
miteinander vernetzt sein?
Neuronale Netze Machine Learning
Notation

Neuronale Netze Machine Learning


Typisches Neuron

• Typisches Neuron
• lineare Komponente Inputfunktion
• nicht lineare Komponente Aktivierungsfunktion
• elementarer Verarbeitungsschritt ist die Aktivierungsfunktion g, ein Beispiel:
 
ai  g (ini )  g   w j ,i a j 

 j 
Neuronale Netze Machine Learning
Aktivierungsfunktion

1,if x  t  1,if x  0 sigmoid( x ) 


1
stept ( x )   sign( x )  
0,if x  t  1,if x  0 1  ex

Neuronale Netze Machine Learning


Logische Gatter

• Neuronen mit einer Step-Funktion sind wie logische Gatter, wenn die
Eingabewerte und die Schwellenwerte in einer bestimmten Art gesetzt
sind.

Neuronale Netze Machine Learning


Feed-Forward-Netzwerke

• Jedes Neuron einer Schicht ist nur


mit Neuronen der vorherigen verlinkt
• Links sind unidirektional, keine
• Ebenen sind i.d.R. vollständig
Zyklen
miteinander vernetzt
• Technisch gesehen sind sie
• Keine Links innerhalb einer Schicht,
gerichtete azyklische Graphen
keine zurück zur letzten Schicht und
• Meistens in Schichten geordnet keine, die Schichten überspringen

Neuronale Netze Machine Learning


Regressions-Analyse

Sekt Nachbestellen: Preis 20 16 15 16 13 10


Verkauft 0 3 7 4 6 10

Neuronale Netze Machine Learning


Regressions-Analyse

Sekt Nachbestellen: Preis 20 16 15 16 13 10


Verkauft 0 3 7 4 6 10

Neuronale Netze Machine Learning


Bemerkungen

• Feed-Forward-Netze haben • Perzeptrons sind Netzwerke


keine internen Zustände außer ohne Hiddenschicht. Das
deren Gewichte, die macht das Lernen einfacher,
Aktivierung vom letzten Schritt sie sind aber limitiert, was die
(zeitmäßig) spielt keine Rolle. Repräsentation angeht.
• Derartige Netzwerke können • Netzwerke mit ein oder
adaptive Versionen eines mehreren Hiddenschichten
einfachen Reflex-Agenten werden Multilayer-Netzwerke
implementieren. genannt.
• Gut verständlich, deswegen in • Mit einer Hiddenschicht kann
der weiteren Betrachtung. man jede kontinuierliche
• Input-, Output- und Hidden- Funktion der Eingaben
Neuronen. repräsentieren, mit zwei
Schichten sogar
diskontinuierliche Funktionen.
• Lernen als nichtlineare
Regression.
Neuronale Netze Machine Learning
Recurrent-Netzwerke

• Links können beliebig geformt • Lernen ist schwerer aber sie


werden. können kompliziertere Agenten
• Haben interne Zustände durch implementieren.
Feedback. Sie sind in den • Man benötigt tieferes
Aktivierungsleveln gespeichert. mathematisches Verständnis,
• Das bedeutet auch, dass um sie zu verstehen.
derartige Netzwerke weniger • Hopfield-Netze,Boltzmann-
geordnet sind und deshalb Maschine, Elam-Netze,
instabil werden können. Jordan-Netze, …

Neuronale Netze Machine Learning


Elman-Netzwerke

Neuronale Netze Machine Learning


Elman-Netzwerke

Neuronale Netze Machine Learning


Jordan-Netzwerke

Neuronale Netze Machine Learning


Optimale Netzwerkstrukturen
• Richtige Struktur ist entscheidend für Lernverlauf
• Ist Struktur zu klein, kann man die gewünschte Funktion nicht
repräsentieren.
• Ist sie zu groß, dann haben wir eine Art große „lookup table“ ohne
Generalisierung.
• Overfitting ist ein Problem.

Neuronale Netze Machine Learning


Optimale Netzwerkstrukturen

• Feed-forward Netze mit einer • Man kann das Finden einer


Hiddenschicht können jede guten Netzwerkstruktur als ein
kontinuierliche Funktion lernen Suchproblem definieren. Man
• Die Anzahl der Neuronen ist hat versucht, es mit
allerdings ein Problem, sie genetischen Algorithmen zu
kann exponentiell wachsen. lösen, aber der Suchraum ist
• Keine gute Theorie vorhanden, zu groß.
um NERFs (Network Efficiently • Die meisten Netzwerke
Representable Functions) zu verfeinern eine einmal
repräsentieren. gesetzte Struktur (z. B.
Cascade Correlation).
• Testen z.B. mit Cross-
Validation.

Neuronale Netze Machine Learning


Perzeptrons

• Eigenschaften
• Einschicht Feed-
forward-Netzwerk
• Jedes Output-
Neuron ist
unabhängig,
deshalb kann ein
Perzeptron einzeln
betrachtet werden.

Neuronale Netze Machine Learning


Ausdrucksfähigkeit von Perzeptrons

• Neuronen können AND, OR • Allerdings sind einfache


und NOT repräsentieren, Perzeptrons limitiert in ihrer
• also kann ein Feed-forward- Repräsentationsfähigkeit
Netzwerk jede Boolsche • Sie können z. B. das
Funktion repräsentieren. Restaurantproblem nicht
• Gilt das auch für Single-layer- lösen, weil jeder Inputwert nur
Perceptrons? jeden Outputwert in eine
Richtung beeinflussen kann,
• Einige Boolsche Funktionen egal, was die anderen
können repräsentiert werden: Inputwerte haben.
• Majority
• Ein Entscheidungsbaum
braucht O(2n), ein Perzeptron
1 Neuron mit n Gewichten,
also einfacher.

Neuronale Netze Machine Learning


Ausdrucksfähigkeit von Perzeptrons

• Was können sie repräsentieren?


• Probleme bei nicht linear separierbaren Funktionen.
• Aber: ein Perzeptron kann alle linear separierbaren Funktionen
lernen, wenn genug Beispiele vorhanden sind.

Neuronale Netze Machine Learning


Ausdrucksfähigkeit von Perzeptrons

Neuronale Netze Machine Learning


Generelles Schema

• Generelle generische Methode des Lernens in neuronalen Netzen


• O = Output, T = Target, Error = T - O

• Gewichtsveränderung:
• Wj = Wj +   Ij  Error,  ist die Lernrate
Neuronale Netze Machine Learning
Typisches Neuron

• Typisches Neuron
• lineare Komponente Inputfunktion
• nicht lineare Komponente Aktivierungsfunktion
• elementarer Verarbeitungsschritt ist die Aktivierungsfunktion g, ein Beispiel:
 
ai  g (ini )  g   w j ,i a j 

 j 
Neuronale Netze Machine Learning
Perzeptrons und Entscheidungsbäume

• Lokales und verteiltes Kodieren


• Diskret und reell
• Lernkurve für zwei Probleme: Majority, WillWait-Problem
• Perzeptron gut für Majority, weil linear separierbar, Entscheidungsbaum hat
Probleme
• WillWait gut für Entscheidungsbaum aber nicht linear separierbar, deswegen für
Perzeptron nur 65% Genauigkeit.
Neuronale Netze Machine Learning
Multilayer Feed-forward-Netzwerke

• Rosenblatt Ende der 50er Jahre mit Single-layer-


Perzeptrons.

• Lernalgorithmen in Multilayer-Netzwerken nicht effizient.


Keine Garantie für das Finden eines globalen Minimums.

• Back-Propagation als häufigste Lernmethode (Bryson &


Ho, 1969), aber erst Mitte der 80er gab es Rückenwind.

Neuronale Netze Machine Learning


Back-Propagation-Lernen

• Annahme: Konstruktion eines Netzwerkes zur Lösung des Restaurant-


Problems. Ein Perzeptron ist nicht mächtig genug, aber versuchen wir es mit
einem Zweischicht-Netzwerk.
• 10 Attribute = 10 Inputneuronen, wieviel Hiddenunits?

Neuronale Netze Machine Learning


Back-Propagation-Lernen
• Lernen bei Perzeptrons einfach • Outputschicht
• Nur ein Gewicht zwischen Input und • Gewichtsveränderung ähnlich der
Output des Perzeptrons. Zwei
• Wenn Fehler vorhanden (Target, Unterschiede gibt es:
Output), dann werden die Gewichte • Aktivierung der
verändert.
Hiddenneuronen statt
Inputneuronen.
• Bei Multilayer-Netzwerken schwieriger
• Regel enthält einen Term für
• Viele Gewichte zwischen jedem den Gradienten der
Input und Output vorhanden
Aktivierungsfunktion. Wenn
Erri = (T - O) der Fehler des
• Back-Propagation-Algorithmus Outputneurons ist, dann ist die
• Verteilt die Gewichtsverän- Gewichtsveränderung
derungen ‘vernünftig’ zwischen Neuron i und j
• Auch hier wird versucht, den Fehler
zwischen Ziel und aktuellem Output w j ,i  w j ,i    a j  Erri  g´(ini )
zu minimieren

Neuronale Netze Machine Learning


Back-Propagation als Gradientenabstieg
• BackProp-Lernen in Multilayer
Netzwerken ist eine einfache
Interpretation des Gradientenabstiegs
im Gewichtsraum.

• Der Gradient ist hier auf der


Fehleroberfläche.

• Back-Propagation erlaubt es uns, die


Errechnung des Gradienten zwischen
den Units so zu teilen, dass die
Veränderung jeden Gewichts durch die
Neuronen errechnet werden können
(lokale Information).

Neuronale Netze Machine Learning


Trainingskurve für Restaurant-Beispiel

• Trainingskurve mit einem Multilayer • Lernkurve,


Netzwerk (1 hidden) Entscheidungsbaumlernen vs.
neuronales Netz

Neuronale Netze Machine Learning


Anwendungen mit neuronalen Netzen
• Sprache
• Lernen von Text zu Phonemen, Sprachgenerator anschließend.
• NETtalk von Sejnowski und Rosenberg, 1987

• Erkennung von handgeschriebenen Buchstaben


• Cun et al. 1989

• Fahren eines Fahrzeuges


• ALVINN (Autonomous Land Vehicle In a Neural Network), Pomerleau 1993

• Brettspiel „Race for the Galaxy“ http://www.keldon.net/rftg/


• …

Neuronale Netze Machine Learning

Das könnte Ihnen auch gefallen