machine learning neuronale netze 2 (mitchell kap. 4)
TRANSCRIPT
![Page 1: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/1.jpg)
Machine Learning
Neuronale Netze 2
(Mitchell Kap. 4)
![Page 2: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/2.jpg)
Kombination mehrerer Neuronen
• zwei Klassen, die nicht linear separierbar sind:
• zwei innere Knoten und ein Output-Knoten
• Beispiel
• h h y Klasse B
andernfalls y Klasse A
1 20 0 0
1
: ( )
: ( )
y
h1 h2
A
A
A AA
A
AA
A
B
BB
B
A
B B
A
A
A
A
A A
B
B
10
1
0
![Page 3: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/3.jpg)
Mehrschichtiges Netzwerk
n Eingabeneuronen
X1
X2
…
Xn
W11
W12W1p
Wn1Wn2
Wnp
Y1
Y2
Ym
……
V11
V12
V1m
Vp1Vp2
Vpm
m Ausgabeneuronenp verborgene Neuronen
(Hidden layer)
Gewichtsmatrix W Gewichtsmatrix V
![Page 4: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/4.jpg)
Design der Netztopologie• Bestimmung von
• Anzahl der Input-Knoten
• Anzahl der inneren Schichten und jeweilige Anzahl der Knoten
• Anzahl der Output-Knoten
• starker Einfluß auf die Klassifikationsgüte:
• zu wenige Knoten
• niedrige Klassifikationsgüte
• zu viele Knoten
• Overfitting
![Page 5: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/5.jpg)
Aktivierungsfunktionen
![Page 6: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/6.jpg)
Sigmoid Einheit
Sigmoid-Funktion: nete1
1
![Page 7: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/7.jpg)
Sigmoid Einheiten
• Vorteile:– Ausgabefunktion differenzierbar– Einfache Berechnung des Gradienten– Mehrschichtige Netze aus Sigmoid-Einheiten:
Training durch Backpropagation• Propagiere Trainingsbeispiel durchs Netz• Berechne rückwärts Schicht für Schicht
(ausgehend von den Ausgabeneuronen) die Deltas
![Page 8: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/8.jpg)
Beispiel
• 2-schichtiges Netz zur Erkennung von gesprochener Sprache: Laut zwischen h_d
![Page 9: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/9.jpg)
Lernen mehrschichtiger Netze
• Prinzipiell zu lernen:– Entwicklung neuer Verbindungen – Löschen existierender Verbindungen – Modifikation der Verbindungsstärke (Veränderung der
Gewichte) – Modifikation des Schwellenwertes – Modifikation der Aktivierungs- bzw. Ausgabefunktion – Entwicklung neuer Zellen – Löschen bestehender Zellen
• In der Praxis:– Nur Gewichtsmodifikation
![Page 10: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/10.jpg)
Backpropagation Algorithmus
Prinzipiell verläuft der Lernprozess wie bei den Perzeptronen:– Dem Netz werden Beispiele vorgelegt.
– Stimmt der Ausgabevektor mit den erwarteten Werten überein, dann muss nichts gemacht werden.
– Liegt aber ein Fehler vor, d.h. eine Differenz zwischen Ausgabe und Ziel, dann müssen die Gewichte angepasst werden.
![Page 11: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/11.jpg)
Backpropagation Algorithmus
• In einem Rückwärts-Check (Fehlerrückvermittlung) werden nun die einzelnen Gewichte im Netz (durch ) nach oben oder unten korrigiert.
• Der Tendenz nach so, daß das Ergebnis im zurückverfolgten Traingsbeispiel richtiger geworden wäre.
• Dies führt nach einer Anzahl von Trainingsbeispielen zu einem verbesserten Antwortverhalten des Netzes.
![Page 12: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/12.jpg)
Backpropagation Algorithmus
• Belege die Gewichte w1 ...wn sowie die Schwellenwerte mit zufälligen Werten.
• Wähle einen Eingabevektor aus, zu dem es eine Soll-Aktivierung gibt.– 1. Vorwärtsvermittlung:
aktiviere die Eingabeschicht, danach schrittweise die Zwischenschichten 1....m und anschließend die Ausgabeschicht
– 2. Fehlerrückvermittlung:ermittle die -Werte für die Ausgabeschicht, danach schrittweise rückschreitend die -Werte für die Zwischenschichten m .....1 ändere die Gewichte und Schwellenwerte
![Page 13: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/13.jpg)
Backpropagation Algorithmuskann folgendermaßen zusammengefaßt werden:
![Page 14: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/14.jpg)
Backpropagation Algorithmus
![Page 15: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/15.jpg)
Absteigender Gradient
![Page 16: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/16.jpg)
Abbruchbedingungen
• Anzahl der Iterationen• Schwellenwert für quadratischen Fehler
– In Bezug auf Trainingsmenge (-> große Gefahr von Overfitting)
– In Bezug auf separate Testmenge (-> Vermeidung von Overfitting!) = Cross-Validation
• Schwellenwert für Veränderung zum vorigen Schritt
![Page 17: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/17.jpg)
Probleme
• Lokale Minima
• Flache Plateaus
![Page 18: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/18.jpg)
Verbesserungen
• Momentum– Häufig wird ein zusätzlicher Faktor
(Momentum) hinzugefügt:
– Idee:• Überwindung flacher Plateaus• Evt. Auch Überwindung lokaler Maxima
• Paralleles Training mit versch. Initialwerten
![Page 19: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/19.jpg)
Netztopologie
• Statische Topologie:
– Topologie wird apriori festgelegt
– eine verborgene Schicht reicht in vielen Anwendungen aus
• Dynamische Topologie
– dynamisches Hinzufügen von Neuronen (und verborgenen Schichten)
– solange Klassifikationsgüte signifikant verbessert wird
• Multiple Topologien
– Trainieren mehrer dynamischer Netze parallel
– z.B. je ein Netz mit 1, 2 und 3 verborgenen Schichten
![Page 20: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/20.jpg)
Backward Netzwerke
= mehrschichtige Netzwerke von Sigmoid-Einheiten• U.U. sehr lange Trainingsphase (mehrere Tausend
Iterationen)• Nach Training extrem schnell• Große Ausdruckskraft:
– Jede Boole‘sche Funktion kann durch ein 2-schichtiges Netz (1 Hidden Layer) repräsentiert werden (-> disjunktive Normalform)
– Jede beschränkte stetige Funktion kann beliebig durch ein 2-schichtiges Netz approximiert werden
– Jede beliebige Funktion kann durch ein 3-schichtiges Netz (2 Hidden Layers) beliebig approximiert werden
![Page 21: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/21.jpg)
Anwendungsbeispiele
• Texterkennung bei OCR Software, die sich auf gewisse Schriftformen trainieren läßt.
• Auch bei der Handschrifterkennung für PDA´s (Personal Digital Assistant), wie dem Apple Newton, kommen NN zu Einsatz.
• 1989: Erkennen von Postleitzahlen auf handgeschriebenen Briefumschlägen.– Das gesamte Netz benutzte nur 9760 Gewichte!– Das Netz wurde mit 7300 Beispielen trainiert und auf
2000 Beispielen getestet.
![Page 22: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/22.jpg)
Gesichtserkennung
![Page 23: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/23.jpg)
Gesichtserkennung
![Page 24: Machine Learning Neuronale Netze 2 (Mitchell Kap. 4)](https://reader035.vdocuments.us/reader035/viewer/2022062307/55204d6949795902118bf5fa/html5/thumbnails/24.jpg)
Aufgaben
• Bitte installieren und testen Sie die Programme zur Gesichtserkennung (Linux!)
• http://www-2.cs.cmu.edu/~tom/faces.html• Bitte befolgen Sie dabei die Anleitung
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-8/faceimages/docs/hw97.ps
• Bitte beschreiben Sie Ihre Erfahrungen:– Liess sich das Programm installieren?– Wie ist es zu bedienen?– Was/wie haben Sie das Programm ausprobiert und
was waren die Resultate?