Machine Learning
-
Einführung in Künstliche Neuronale Netze (ANN)
Vorlesung
Ü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
Zur Geschichte…(1943/1949)
Warren McCulloch und Walter Pitts , 1943
Hebb, Hebbsche Lernregel, 1949
Zur Geschichte…(1969/1974)
Zur Geschichte… (1986)
Rumelhart, D.E. & McClelland, J.L. (Hg.), Parallel Distributed Processing: Explorations in the
McClelland Rumelhart
Einführung Neuronale Netze
(Quelle: http://www.idsia.ch/NNcourse/brain.html)
Einführung Neuronale Netze
(http://www.medem.com/MEDEM/images/ama/
ama_brain_stroke_lev20_thebraineffectsstroke_01.gif)
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)
Einführung Neuronale Netze
(Quelle: http://www.idsia.ch/NNcourse/brain.html) (Quelle: http://www.idsia.ch/NNcourse/brain.html)
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
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.
Einführung Neuronale Netze
(Quelle: http://www.ninds.nih.gov/disorders/brain_basics/know_your_brain.htm) (Quelle: http://www.idsia.ch/NNcourse/brain.html)
Funktionsweise unseres Gehirns
• Menschlicher Kortex (Großhirnrinde) lässt
verschiedene Neuronentypen erkennen.
• Eine hierarchische Struktur ist zu erkennen.
• Unterschiedliche Aufgaben (z. B. vierte Schicht
zuständig für
Sinneswahrnehmungen)
Quelle: Rojas, 1993, S. 11, nach Lassen et al., 1988
Raúl Rojas: Theorie der neuronalen Netze.
Springer-Verlag, Berlin, 1993.
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
• Phase 3: Repolarisierung
• Phase 4: Ruhepotential
Quelle: Köhler, 1990, nach Schmidt & Tewes, 1987
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
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).
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.
2. Neuronale Netzwerke
• Einige Neuronen sind mit der
Außenwelt verbunden und heißen Input- oder Outputneuronen.
• Jedes Neuron hat einen Satz von Eingabelinks von anderen
Neuronen, ein Aktivierungslevel und einen Satz von Ausgabe- Links zu anderen Neuronen.
• Die Idee ist: jedes Neuron berechnet sein eigenes
Aktivierungslevel (abhängig von Gewichten und Eingaben der Nachbarn). Dabei gibt es keine
‘globale’ Kontrolle über die Neuronen.
• Aufbau eines Netzwerkes:
• Wie viele Neuronen braucht man?
• Welche Art von Neuronen braucht man?
• Wie sollen die Neuronen
Notation
Typisches Neuron
• Typisches Neuron
• lineare Komponente Inputfunktion
• nicht lineare Komponente Aktivierungsfunktion
• elementarer Verarbeitungsschritt ist die Aktivierungsfunktion g, ein Beispiel:
Aktivierungsfunktion
t x
t x x
step
tif ,
if ) ,
( 0
1
0 1
0 1
x x x
sign , if if ) ,
(
xx e
sigmoid
1
) 1
(
Logische Gatter
• Neuronen mit einer Step-Funktion sind wie logische Gatter, wenn die
Eingabewerte und die Schwellenwerte in einer bestimmten Art gesetzt
sind.
Feed-Forward-Netzwerke
• Links sind unidirektional, keine Zyklen
• Technisch gesehen sind sie gerichtete azyklische Graphen
• Meistens in Schichten geordnet
• Jedes Neuron einer Schicht ist nur mit Neuronen der vorherigen verlinkt
• Ebenen sind i.d.R. vollständig miteinander vernetzt
• Keine Links innerhalb einer Schicht, keine zurück zur letzten Schicht und keine, die Schichten überspringen
Regressions-Analyse
Sekt Nachbestellen:
Preis 20 16 15 16 13 10 Verkauft 0 3 7 4 6 10Regressions-Analyse
Sekt Nachbestellen:
Preis 20 16 15 16 13 10 Verkauft 0 3 7 4 6 10Bemerkungen
• Feed-Forward-Netze haben keine internen Zustände außer deren Gewichte, die
Aktivierung vom letzten Schritt (zeitmäßig) spielt keine Rolle.
• Derartige Netzwerke können adaptive Versionen eines einfachen Reflex-Agenten implementieren.
• Gut verständlich, deswegen in der weiteren Betrachtung.
• Input-, Output- und Hidden- Neuronen.
• Perzeptrons sind Netzwerke ohne Hiddenschicht. Das macht das Lernen einfacher, sie sind aber limitiert, was die Repräsentation angeht.
• Netzwerke mit ein oder
mehreren Hiddenschichten werden Multilayer-Netzwerke genannt.
• Mit einer Hiddenschicht kann man jede kontinuierliche
Funktion der Eingaben repräsentieren, mit zwei Schichten sogar
diskontinuierliche Funktionen.
• Lernen als nichtlineare
Recurrent-Netzwerke
• Links können beliebig geformt werden.
• Haben interne Zustände durch Feedback. Sie sind in den
Aktivierungsleveln gespeichert.
• Das bedeutet auch, dass
derartige Netzwerke weniger geordnet sind und deshalb instabil werden können.
• Lernen ist schwerer aber sie können kompliziertere Agenten implementieren.
• Man benötigt tieferes
mathematisches Verständnis, um sie zu verstehen.
• Hopfield-Netze,Boltzmann-
Maschine, Elam-Netze,
Jordan-Netze, …
Elman-Netzwerke
Elman-Netzwerke
Jordan-Netzwerke
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.
Optimale Netzwerkstrukturen
• Feed-forward Netze mit einer Hiddenschicht können jede kontinuierliche Funktion lernen
• Die Anzahl der Neuronen ist allerdings ein Problem, sie kann exponentiell wachsen.
• Keine gute Theorie vorhanden, um NERFs (Network Efficiently Representable Functions) zu repräsentieren.
• Man kann das Finden einer guten Netzwerkstruktur als ein Suchproblem definieren. Man hat versucht, es mit
genetischen Algorithmen zu lösen, aber der Suchraum ist zu groß.
• Die meisten Netzwerke verfeinern eine einmal gesetzte Struktur (z. B.
Cascade Correlation).
• Testen z.B. mit Cross-
Validation.
Perzeptrons
• Eigenschaften
• Einschicht Feed- forward-Netzwerk
• Jedes Output- Neuron ist unabhängig,
deshalb kann ein
Perzeptron einzeln
betrachtet werden.
Ausdrucksfähigkeit von Perzeptrons
• Neuronen können AND, OR und NOT repräsentieren,
• also kann ein Feed-forward- Netzwerk jede Boolsche Funktion repräsentieren.
• Gilt das auch für Single-layer- Perceptrons?
• Einige Boolsche Funktionen können repräsentiert werden:
• Majority
• Ein Entscheidungsbaum
braucht O(2n), ein Perzeptron 1 Neuron mit n Gewichten,
• Allerdings sind einfache Perzeptrons limitiert in ihrer Repräsentationsfähigkeit
• Sie können z. B. das Restaurantproblem nicht
lösen, weil jeder Inputwert nur jeden Outputwert in eine
Richtung beeinflussen kann, egal, was die anderen
Inputwerte haben.
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.
Ausdrucksfähigkeit von Perzeptrons
Generelles Schema
• Generelle generische Methode des Lernens in neuronalen Netzen
• O = Output, T = Target, Error = T - O
• Gewichtsveränderung:
• W = W + I Error, ist die Lernrate
Typisches Neuron
• Typisches Neuron
• lineare Komponente Inputfunktion
• nicht lineare Komponente Aktivierungsfunktion
• elementarer Verarbeitungsschritt ist die Aktivierungsfunktion g, ein Beispiel:
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
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.
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?
Back-Propagation-Lernen
• Lernen bei Perzeptrons einfach
• Nur ein Gewicht zwischen Input und Output
• Wenn Fehler vorhanden (Target, Output), dann werden die Gewichte verändert.
• Bei Multilayer-Netzwerken schwieriger
• Viele Gewichte zwischen jedem Input und Output vorhanden
• Back-Propagation-Algorithmus
• Verteilt die Gewichtsverän- derungen ‘vernünftig’
• Auch hier wird versucht, den Fehler zwischen Ziel und aktuellem Output zu minimieren
• Outputschicht
• Gewichtsveränderung ähnlich der des Perzeptrons. Zwei
Unterschiede gibt es:
• Aktivierung der
Hiddenneuronen statt Inputneuronen.
• Regel enthält einen Term für den Gradienten der
Aktivierungsfunktion. Wenn Erri = (T - O) der Fehler des Outputneurons ist, dann ist die Gewichtsveränderung
zwischen Neuron i und j
)
,
´(
,i j i j i i
j
w a Err g in
w
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).
Trainingskurve für Restaurant-Beispiel
• Trainingskurve mit einem Multilayer Netzwerk (1 hidden)
• Lernkurve,
Entscheidungsbaumlernen vs.
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