• Keine Ergebnisse gefunden

Einführung in Künstliche Neuronale Netze (ANN) -

N/A
N/A
Protected

Academic year: 2021

Aktie "Einführung in Künstliche Neuronale Netze (ANN) -"

Copied!
45
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Machine Learning

-

Einführung in Künstliche Neuronale Netze (ANN)

Vorlesung

(2)

Ü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

(3)

Zur Geschichte…(1943/1949)

Warren McCulloch und Walter Pitts , 1943

Hebb, Hebbsche Lernregel, 1949

(4)

Zur Geschichte…(1969/1974)

(5)

Zur Geschichte… (1986)

Rumelhart, D.E. & McClelland, J.L. (Hg.), Parallel Distributed Processing: Explorations in the

McClelland Rumelhart

(6)

Einführung Neuronale Netze

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

(7)

Einführung Neuronale Netze

(http://www.medem.com/MEDEM/images/ama/

ama_brain_stroke_lev20_thebraineffectsstroke_01.gif)

(8)

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)

(9)

Einführung Neuronale Netze

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

(10)

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

(11)

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.

(12)

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)

(13)

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.

(14)

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

(15)

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

(16)

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).

(17)

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.

(18)

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

(19)

Notation

(20)

Typisches Neuron

• Typisches Neuron

• lineare Komponente Inputfunktion

• nicht lineare Komponente Aktivierungsfunktion

• elementarer Verarbeitungsschritt ist die Aktivierungsfunktion g, ein Beispiel:

 

(21)

Aktivierungsfunktion

 

 

t x

t x x

step

t

if ,

if ) ,

( 0

1

 

 

0 1

0 1

x x x

sign , if if ) ,

(

x

x e

sigmoid

 

1

) 1

(

(22)

Logische Gatter

• Neuronen mit einer Step-Funktion sind wie logische Gatter, wenn die

Eingabewerte und die Schwellenwerte in einer bestimmten Art gesetzt

sind.

(23)

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

(24)

Regressions-Analyse

Sekt Nachbestellen:

Preis 20 16 15 16 13 10 Verkauft 0 3 7 4 6 10

(25)

Regressions-Analyse

Sekt Nachbestellen:

Preis 20 16 15 16 13 10 Verkauft 0 3 7 4 6 10

(26)

Bemerkungen

• 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

(27)

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, …

(28)

Elman-Netzwerke

(29)

Elman-Netzwerke

(30)

Jordan-Netzwerke

(31)

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.

(32)

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.

(33)

Perzeptrons

• Eigenschaften

• Einschicht Feed- forward-Netzwerk

• Jedes Output- Neuron ist unabhängig,

deshalb kann ein

Perzeptron einzeln

betrachtet werden.

(34)

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.

(35)

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.

(36)

Ausdrucksfähigkeit von Perzeptrons

(37)

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

(38)

Typisches Neuron

• Typisches Neuron

• lineare Komponente Inputfunktion

• nicht lineare Komponente Aktivierungsfunktion

• elementarer Verarbeitungsschritt ist die Aktivierungsfunktion g, ein Beispiel:

 

(39)

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

(40)

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.

(41)

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?

(42)

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      

(43)

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).

(44)

Trainingskurve für Restaurant-Beispiel

• Trainingskurve mit einem Multilayer Netzwerk (1 hidden)

• Lernkurve,

Entscheidungsbaumlernen vs.

(45)

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/

• …

Referenzen

ÄHNLICHE DOKUMENTE