Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Daniela Neumann Geändert vor über 6 Jahren
1
Am Beispiel von Handschrifterkennung mit Neuronalen Netzen
Maschinelles Lernen Am Beispiel von Handschrifterkennung mit Neuronalen Netzen
2
Das EVA Prinzip ... wurde bereits eingeführt als eines der grundlegendsten Prinzipien der Informationsverarbeitung. Auch Algorithmen/Programme nehmen eine bestimmte Problemstellung als Eingabe entgegen, führen festgelegte Verarbeitungsschritte aus und produzieren so die zugehörige Ausgabe, die Lösung. Eingabe Verarbeitung Ausgabe Daten Algorithmus/ Code
3
GOFAI (good oldfashioned AI)
Der klassische Ansatz der Künstlichen Intelligenz nutzt fortgeschrittene Algorithmik, um auch in sehr komplizierten Problemklassen möglichst optimale Ausgaben zu erzeugen. Eingabe- Daten Programm -code Ausgabe- Üblicherweise besteht die Arbeit eines Programmierers darin, die richtigen Verarbeitungsschritte/Befehle zu formulieren, so dass für alle möglichen Problemstellungen (Eingabe) das korrekte Ergebnis (Ausgabe) herauskommt.
4
Maschine Learning Bei diesem Ansatz entsteht die richtige Ausgabe erst im Verlauf des Trainings an vielen Beispiel-Problemen. Die Lösung für die Problemklasse wird also nicht direkt programmiert, sie wird gelernt. Eingabe- Daten Lernendes System Ausgabe- Programmiert wird ein System, das (potentiell) JEDE mögliche Eingabe jeder möglichen Ausgabe zuordnen kann – je nach Einstellung von zumeist sehr vielen internen Parametern. Zudem beinhaltet das System Regeln zur Anpassung dieser Parameter, wenn die Ausgabe nicht die gewünschte ist. So kann es (zumindest theoretisch) jede beliebige Zuordnung lernen.
5
Einordnung des Beispiels
Künstliche Intelligenz GOFAI ... Maschinelles Lernen symbolische Ansätze Neuronale Netze Mustererkennung, Überwachtes Lernen
6
Neuronale Netze (als Beispiel für ein subsymbolisch lernendes System)
Neuronale Netze bestehen aus in Schichten angeordneten Knoten, die über gewichtete Verbindungen mit anderen Knoten verbunden sind. Jeder Knoten enthält einen Wert, der seine Aktivität darstellt. Ein Bruchteil dieser Aktivität wird entlang der Verbindungen an folgende Knoten weitergegeben, die Verbindungsgewichte bestimmen die Grösse dieses Bruchteils. Das Netz lernt, indem es die Verbindungsgewichtungen anpasst. Eingabe- schicht Zwischen- schicht(en) Ausgabe- schicht
7
Problem: Handschrifterkennung
Eingabe: Grauwerte für 28x28 Pixel Ausgabe: Urteil (0-1) für das Erkennen einer Ziffer
8
Vanilla Neural Network Solution
Hier ein klassisches («Vanilla») Netz mit zwei Zwischen- schichten, es gibt auch andere Versionen
9
Die Trainingsdaten MNIST-Dataset mit handgeschriebenen Ziffern von ca unterschiedlichen Autoren, jeweils mehrere Versionen Viele der Ziffern werden beim Training verwendet, einige für Testzwecke aufgespart.
10
Training & Learning Die insgesamt knapp Gewichte (=Parameter) im Beispielnetz werden zu Beginn zufällig initialisiert. Dementsprechend wird die von einer bestimmten Eingabe generierte Ausgabe zunächst ebenfalls ziemlich zufällig sein – also weit von der «korrekten» Lösung abweichen.
11
Training & Learning Allerdings kann man berechnen, welche Gewichte wie stark zu dieser Abweichung (=Fehler bzw. Cost) beitragen. Also verändert man alle Gewichte ein kleines bisschen in die Richtung, die diesen Fehler verringert (=Backpropagation).
12
Training & Learning Diesen Prozess der Gewichtsanpassung («Error-Backpropagation») wiederholt man immer wieder, für jedes der vielen tausend Beispiele, die ein solches Netz während des Trainings verarbeitet.
13
Training & Learning Auf die Dauer führt das dazu, dass die Abweichungen geringer werden oder sogar (fast) ganz verschwinden. Das Netzwerk hat die intendierte Zuordnung von Eingabe zu Ausgabe gelernt.
14
Training & Testing Aber kann es jetzt handgeschriebene Ziffern erkennen? (Oder einfach nur die einigen tausend Muster aus dem Training richtig zuordnen?) Um das zu überprüfen wird das Netz mit neuen Beispielen getestet, die beim Training nicht zum Einsatz kamen.
15
Training & Testing Üblicherweise generalisieren solche Netze gut, d.h. sie werden auch mit neuen Ziffern eine gute Quote bei der Zuordnung erreichen – vorausgesetzt im Trainingsset waren genügend unterschiedliche Beispiele enthalten. Grob gesagt liegt das daran, dass jede Anpassung alle Gewichte betrifft und sich auf die Dauer eine Konstellation ergibt, bei der ähnliche Muster (z.B. alle Dreier) ähnliche Aktivationsmuster erzeugen. Weil eine neue Drei vermutlich mehr mit den bekannten Dreiern zu tun hat als mit den anderen Ziffern, werden auch hier ähnliche Gewichte benutzt und eine ähnliche Ausgabe erzeugt werden. Klingt abstrakt? Hier können sie die Generalisierungsfähigkeit eines solchen Systems selbst ausprobieren:
16
Kann ein solches System ALLES lernen?
Die Antwort ist: Im Prinzip ja. In der Praxis gibt es jedoch wichtige Einschränkungen: Sehr viele Problemstellungen haben eine zeitliche Komponente, die einmalige Zuordnung einer Ausgabe zu einer Eingabe genügt nicht. Für solche Probleme wird das Ganze sehr viel komplizierter. Wie erfolgreich der Lernprozess verläuft, hängt von vielem ab: Qualität und Umfang der Trainingsdaten Verschiedenste Hyperparameter (z.B. Lernrate, Anzahl Knoten, etc.) Mass des Erfolgs Zufall (z.B. Initialisierung der Gewichte, Reihenfolge der Beispiele,...)
17
Deep Learning Networks
Traditionelle «Vanilla» Netzwerke sind zwar beweisbar turing- universell, in der Praxis versagen sie jedoch häufig beim Erlernen sehr komplexer Eingabe-zu-Ausgabe-Zusammenhänge. (Die Handschrifterkennung gilt übrigens als recht einfache Aufgabe.) Seit den 2010er Jahren setzt sich eine Variante durch, die auch mit sehr viel komplizierteren Mustererkennungs-Aufgaben zurecht kommt: Sogenannte «Deep Learning Networks». Im Kern geht es darum, dass Wege gefunden wurden, um die Komplexität der Verarbeitung über verschiedene Zwischenschichte zu verteilen, u.a. mithilfe spezieller «convolution layers». Hier können Sie die Leistung eines solchen Deep Learning Nets bei der Ziffernerkennung testen:
18
Wer es noch genauer verstehen will:
In dieser Serie von Videos findet sich eine sehr gute Erklärung für das bisher besprochene Beispiel, inkl. der zugehörigen Mathematik. (Die Screenshots auf diesen Folien sind aus diesen Videos entnommen.) But what *is* a Neural Network? | Chapter 1 How neural networks learn | Chapter 2 What is backpropagation really doing? | Chapter 3 Backpropagation calculus | Appendix to chapter 3
19
Subsymbolische Mustererkennung
Ein Neuronales Netz lernt also, aus Mustern in den Eingabedaten die richtigen Ausgabemuster zu produzieren. Worum es bei diesen Daten geht, ist völlig irrelevant. Bspw. kann man ebensogut aus den Pixeln eines Portraits die Stimmung oder das Geschlecht der abgebildeten Person ableiten. Eingabe- Daten Ausgabe- Der Programmierer definiert nur die Lernfähigkeit des Systems und den Ablauf von Training und Tests. Selbst nach erfolgreichem Training kann er nicht sagen, wieso genau bspw. ein bestimmtes Bild als weiblich klassifiziert wird – ausser dass die Pixel – in der Erfahrung des Netzes – eher denen der weiblichen Beispiele ähneln.
20
Einschätzung Maschinelles lernen ist ein faszinierendes und in bestimmten Zusammenhängen sehr mächtiges Werkzeug, vor allem weil es in einem grossen Berg von Daten selbst die für die Erzeugung der Ausgabe relevanten Muster und Zusammenhänge entdeckt. Gleichzeitig bleiben solche Systeme selbst für den Programmierer teilweise intransparent. Das kann zum Problem werden, weil das «Urteil» eines solchen Systems im Einzelfall natürlich auch falsch sein kann. Die Konsequenzen sind vermutlich weniger gravierend, wenn ausnahmsweise eine 8 als 9 erkannt wird. Aber natürlich kann dieselbe Technik auch dazu eingesetzt werden, aus einem Berg von Personendaten die Wahrscheinlichkeit dafür abzuleiten, dass jemand ein Terrorist ist...
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.