machine learning neuronale netze (mitchell kap. 4)
TRANSCRIPT
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 (Natrium-
und 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 NeuronsDendriten
Axonhügel
synaptischesEndköpfchen
Axon
AP 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 auA 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 Berechnungs-vorschrift 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
wij = ·ei ·oj (Hebb‘sche Regel)
wobei wij das Gewicht von Input ei zum Output oj
> 0 eine Konstante
Modifikation der Hebb‘schen Regel
wij = ·ei · oj (Delta-Regel)
wobei wij das Gewicht von Input ei zum Output oj
> 0 eine Konstante oj die Differenz zwischen erwünschtem
Output und dem zur Zeit des Lernens tatsächlich erzielten Output
Neuronale Netze
• Vorwärtsgerichtetes Netz
Eingabeneuronen Verdeckte Schicht
Ausgabeneuronen
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 Linear-Kombination:
• 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
n
i
iixw0
Beispiel
• Logisches „und“– Sei {1,-1} mögliche Eingaben (1 für wahr, -1 für falsch)
– w0 = -0.8
– w1 = w2 = 0.5
sonst
xwfallso
n
i
ii
1
010
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 Perzeptron-Lernregel 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
Dd
idddi xotw )(Damit:
Algorithmus
• Jedes Trainingsbeispiel sein ein Paar– 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 wi mit 0– Für jedes Trainingsbeispiel
• Berechne ot
• Für jedes Gewicht wi: wi ← wi + (t – ot)xi
– Für jedes wi: wi ← wi + wi
tx,
x
tx,
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?