Neuronale Netze, Teil 1

Werbung
Machine Learning
Neuronale Netze
(Mitchell Kap. 4)
Typische Anwendungen
• Große Menge von Features mit diskreten oder rellen
Werten (z.B. Input von Sensoren)
• Ergebnis kann sein:
– Diskreter oder reeller Wert
– Vektor mit diskreten oder reellen Werten
•
•
•
•
•
Möglicherweise fehlerhafte (Trainings-)Daten
Lange Lernzeiten sind akzeptabel
Schnelle Auswertung des Inputs notwendig
Form der Zielfunktion ist unbekannt
Das Ergebnis (die Zielfunktion) muss für den Benutzer
nicht nachvollziehbar sein („black-box“)
Typische Beispielanwendungen
•
•
•
•
•
•
Erkennung gesprochener Sprache
Handschrifterkennung
Bildklassifikation
Vorhersagen im Finanzbereich
Wettervorhersagen
Textklassifikation
Hintergrund
• Biologische Prozesse:
– Neuronen = Nervenzellen im Gehirn
– Funktion: Übermittlung von Information
– Erhöhung der Zellmembrandurchlässigkeit (Natriumund Kalium-Ionen) führt zu Spannungsunterschieden
– Weiterleitung des Spannungspotentials übers Axon
zum synaptischen Spalt
– Freisetzung von Neuro-Transmittern
– Lernen: das Gewicht der Verbindung zwischen zwei
Neuronen erhöht sich, wenn sie zur gleichen Zeit
aktiv sind
Aufbau eines Neurons
Dendriten
synaptisches
Endköpfchen
Axonhügel
AP
Axon
Zeit
Neuronenverbindungen
Informationsübertragung
Neuronale Netze
• Neuron:
• Interaktion:
Abstrakte Definition
• Neuronales Netz (U,W,A,O,net,ex):
– U ist endliche Menge von Arbeitseinheiten (=Neuronen), die einen
Eingabewert verarbeiten und einen Ausgabewert liefern
– W definiert die Netzstruktur durch Zuordnung eines Gewichts zur
Verbindung zweier Neuronen
• W: U x U -> R
– Für jedes u  U ist auA die Aktivierungsfunktion, die aus externer
Aktivierung, bisherigem Aktivierungszustand und der über das Netz
vermittelten Aktivierung durch die anderen Neuronen eine neue
Aktivierung für ein Neuron u berechnet.
• au : R3 -> R
– Für jedes u  U ist ou  O die Ausgabefunktion:
• ou : R -> R
– Für jedes u  U ist netu die Übergangsfunktion
– ex ist eine externe Eingabefunktion
– Ausserdem sei UO  U die Menge der Ausgabeneuronen
Neuronale Netze
• Die grundlegende Arbeitsweise eines neuronalen Netzes
kann beschrieben werden als:
– Zunächst befindet sich ein Netz in einer Ruhephase oder einem
eingefrorenen Zustand.
– In der Aktivierungsphase werden durch die externe
Aktivierungsfunktion externe Aktivierungen der
Eingabeneuronen ermittelt.
– Es folgt nun die Arbeitsphase, in welcher die Aktivierungen durch
das Netz propagiert werden. Die Arbeitsphase ist spätestens
dann abgeschlossen, wenn das Netz erneut in eine Ruhephase
übergegangen ist, sich also die Aktivierungen nicht mehr ändern.
– Die Aktivierungspotentiale der Ausgabeneuronen werden nun als
Ausgabe des Netzes interpretiert und je nach Einsatz bzw.
Anwendung des Netzes genutzt.
Künstliche und biologische NNs
• Massive Parallelität der Neuronen
• Relativ einfache Elemente:
– Neuronen verarbeiten die Aktivierungen der Vorgängerneuronen
und die Stärke der Verbindung zu einer Ausgabe.
• Die Neuronen sind durch gewichtete Verbindungen
(biologisch: Synapsen) miteinander verbunden.
• Die Verbindungsgewichte bei künstlichen Neuronen sind
modifizierbar. Das entspricht der Plastizität der
Synapsen beim biologischen Vorbild.
• Ein Neuron ist mit sehr vielen anderen Neuronen
verbunden (hohe Konnektivität).
Künstliche vs biologische NNs
• Künstliches Netz
– viel geringere Anzahl der
Neuronen (102 - 104)
– viel geringere Anzahl von
Verbindungen
– Stärke einer Synapse wird
ausschließlich durch das
Gewicht bestimmt
– numerischer
Aktivierungswert
(Amplitudenmodulation)
– zeitliche Vorgänge der
Nervenleitung werden
vernachlässigt
• Biologisches Vorbild
– ca. 1011 Neuronen
– höhere Anzahl an
Verbindungen zwischen
den Neuronen
– Einfluß verschiedener
Neurotransmitter auf die
Stärke einer Synapse
– impulscodierte
Informationsübertragung
(Frequenzmodulation)
– verzögerte Aktivierung
Die Hebb‘sche Lernregel (1)
• Problematik der Berechnung der Gewichte
• selten existiert eine direkte Berechnungsvorschrift für die jeweiligen Anwendungen
• Bei der Methode der Berechnung der
Gewichte Rückgriff auf die Natur
• Das menschliche Gehirn ist in der Lage,
Funktionen im Laufe des Lebens zu
lernen
Die Hebb‘sche Lernregel (2)
• Im Gehirn erfolgt Lernen durch Änderung
der Synapsenstärken
• Der Psychologe Donald Hebb (1949)
stellte die Hypothese auf (bis heute nicht
experimentell nachgewiesen), daß sich die
Gewichtung der Synapse verstärkt, wenn
Neuronen vor oder nach der Synapse
gleichzeitig aktiv sind
Die Hebb‘sche Hypothese
Die synaptische Eigenschaft (Verstärken
oder Hemmen) ändert sich proportional
zum Produkt von prä- und
postsynaptischer Aktivität
Die Hebb‘sche Hypothese
(saloppe Formulierung)
Oft genutzte Neuronenverbindungen
verstärken sich
oder
Es bilden sich „Trampelpfade“
oder
Übung macht den Meister
Math. Formulierung der
Hebb‘schen Lernregel
Dwij =  ·ei ·oj (Hebb‘sche Regel)
wobei wij das Gewicht von Input ei zum
Output oj
 > 0 eine Konstante
Modifikation der Hebb‘schen
Regel
Dwij =  ·ei · D oj (Delta-Regel)
wobei wij das Gewicht von Input ei zum
Output oj
 > 0 eine Konstante
D oj die Differenz zwischen erwünschtem
Output und dem zur Zeit des Lernens
tatsächlich erzielten Output
Neuronale Netze
• Vorwärtsgerichtetes Netz
Ausgabeneuronen
Eingabeneuronen
Verdeckte Schicht
Perzeptron
• Perzeptron: einfacher Spezialfall eines
neuronalen Netzes:
– Nur 2 Ebenen: Eingabeneuronen und genau 1
Ausgabeneuron
– Keine verborgenen Schichten
– Ausgabefunktion ist die Identität oder binär
Perzeptron
• Ausgabe des Perzeptrons ist LinearKombination:
n
wx
i
i
i 0
• Wobei wi die Gewichte von ui sind und xi die i-te
Position des Eingabe-Vektors (i=1 ... n)
• wo ist der Schwellenwert (nehme an: x0 ist
konstant 1)
• Bemerkung: d.h. der Hypothesenraum ist die
Menge aller Linearkombinationen
Beispiel
• Logisches „und“
– Sei {1,-1} mögliche Eingaben (1 für wahr, -1 für falsch)
– w0 = -0.8
– w1 = w2 = 0.5
n


1 falls  wixi  0
o 

i 0
 1sonst



Training eines Perzeptrons
• Die Gewichtsveränderung W und die
Schwellwertänderung  nach der
Propagation der Eingabe eines Musters x
bei gewünschter Ausgabe t wird wie folgt
bestimmt (bei vorgegebener Lernrate ):
Perzeptron
• Man kann zeigen: Die PerzeptronLernregel konvergiert wenn
– Die Trainingsdaten linear separierbar sind
– Die Lernrate  ausreichend klein gewählt
wurde
Delta-Regel
• Idee: minimiere den quadratischen Fehler
– D Trainingsmenge
– td Wert für d  D
– od Ausgabe für d
Absteigender Gradient
Gradient
Damit:
Dwi    (td  od ) xid
d D
Algorithmus
• Jedes Trainingsbeispiel sein ein Paar

x

x, t
–
ist Inputvektor
– t ist der Zielwert
–  ist die Lernrate
• Initialisiere jedes wi zu einem beliebigen, kleinen Wert
• Bis die Abbruchbedingung erfüllt ist:
– Initialisiere jedes Dwi mit 0
– Für jedes Trainingsbeispiel

x, t
• Berechne ot
• Für jedes Gewicht wi: Dwi ← Dwi + (t – ot)xi
– Für jedes wi: wi ← wi + Dwi
Delta-Regel
• Der Algorithmus konvergiert gegen eine
Hypothese mit minimalem quadratischen
Fehler
– Falls Lernrate hinreichend klein
– Auch für nicht linear separable Daten
– Auch für Trainingsdaten die Fehler enthalten
• Der Algorithmus konvergiert nicht
notwendig gegen die optimale Lösung
Aufgaben
• Definieren Sie jeweils das Perzeptron, das
folgenden logischen Operatoren
entspricht:
– „nicht (a und b)“
– „a oder b“
– „nicht a oder b“
• Wie wäre „exklusives oder“ zu definieren?
Herunterladen