Am Beispiel von Handschrifterkennung mit Neuronalen Netzen

Slides:



Advertisements
Ähnliche Präsentationen
Wismar Business School
Advertisements

Neuronale Netzwerke am Beispiel eines MLP
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Künstliches Neuronales Netz nach John Hopfield
Elman-Netzwerke Wintersemester 2004/05 Seminar Kindlicher Spracherwerb C. Friedrich & R. Assadollahi vorgestellt von Christian Scharinger & Guido Heinecke.
SS 2009Maschinelles Lernen und Neural Computation 133 Kapitel 7: Ensemble Methoden.
Üben – eine Arbeitsdefinition „Unter ‚Üben‘ seien alle eigenen Aktivitäten verstanden, die mir helfen, neu aufgenommene Informationen, neu erkannte Zusammenhänge.
Pia Scherer - Universität des Saarlandes – Didaktik III: Der GTR im Mathematikunterricht.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Amt für Volksschule Berufsauftrag für Lehrpersonen der Volksschule Ergebnisse der Evaluation.
Kapitel 2: Testtheorie / Testmodelle  Multivariate (p-variate) Normalverteil- ung :  Mittelwertstruktur: p Mittelwerte  Kovarianzstruktur: p·(p+1)/2.
1 freedroidz – spielend Programmieren lernen. 2 Was ist freedroidz?
IT-Struktur an Schulen © Zentrale Planungsgruppe Netze am Kultusministerium Baden-Württemberg Richtlinien für Arbeitsstationen Automatisches Herunterfahren.
1 Das Dilemma des Architekten Ziel: ein gut designtes System, welches mit zukünftigen Anforderungen umgehen kann, ohne dass es zu Einschränkungen in der.
Lernen und Gedächtnis.
Emanuel Mistretta Lukas Schönbächler
Das Baden-Württemberg (“BaWü”) Technische Studierenden Programm Christine Vollinger für das DAC 14-Juni-2017.
Konstruktoren.
Simple Recurrent Networks
Einzigartiger Impulsvortrag durch die Mischung aus Praxis und Theorie:
Eine Näherungslösung für das Problem des Handlungsreisenden
Lösung der Aufgabe 1: Die Erweiterung des Diagramms auf „Winged Egde“ besteht in zwei Beziehungen, nr-Kante und vl-Kante, zwischen der Klasse Kante. Jede.
Musterlösung zur Klausur "Diskrete Mathematik" vom
Das Addierwerk eines Rechners
Das Problem des Handlungsreisenden
Angriffe gegen kryptografische Hash-Funktionen (SHA1, MD5)
Funktion: Overlay Fabian Gramann
AC-Manager-Test Das folgende kleine Quiz besteht aus vier einfachen Fragen die Ihnen sagen, ob Sie den Aufgaben einer IT-Führungskraft gewachsen sind.
Netzwerke.
Symmetrische Verschlüsselung
Technische Informatik II
Abiturprüfung Mathematik 2015 Baden-Württemberg Allgemeinbildende Gymnasien Pflichtteil Lösungen
So gelingt der digitale Wandel in einem Landwirtschaftsbetrieb
Deep Learning Simon Fankhauser, Donato Villani - AAI HS 17.
ScanPrix Einfach eine gute Idee!
“<Titel>” Prozessbeschreibung
Ich brauche eine Web-Seite vom Server im Internet
Übung: Star Wars - Erbaue eine Galaxie mit Hilfe von Code
Fächerabwahl am Ende der Jahrgangsstufe Q2-1
das Routing Information Protocol
Prozessrekonstruktion
Routing … … die Suche nach dem Weg..
Big Data Anwendungen ... selbst gedacht.
Musterseite: Titel/Logo + CD-Farbe
Erklärung zu Interessenkonflikten
Ausgewählte Folien für Lehreinheit C3
DESIGN THINKING.
Unterricht vorbereiten und durchführen
Heute: Mehrstufige Baumdiagramme
Algorithmen und Datenstrukturen
2. Die rekursive Datenstruktur Baum 2.2 Suchen und Einfügen
Datenstrukturen und Softwareentwicklung
Google-Kalender Präsentation:
Einsatzmatrix 2.0.
Pflichtteil 2016 Aufgabe 6: Gegeben ist die Gerade
Das Vektorprodukt Wir definieren erneut eine Multiplikation zwischen zwei Vektoren, das Vektorprodukt, nicht zu verwechseln mit dem Skalarprodukt. Schreibe.
Organisationsfähigkeit Ausgewählte Folien für Lehreinheit C2
Wahlteil 2016 – Aufgabe B 1 Aufgabe B 1.1 In einem Koordinatensystem beschreiben die Punkte
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
Lage, Schnitte und Schnittwinkel
Von Wietlisbach, Lenzin und Winter
Abiturprüfung Mathematik 2015 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analytische Geometrie / Stochastik Aufgabe B 2.1 und B Lösungen.
Übersicht Etwas Mathematik (ganz ohne geht es nicht).
Zusammengesetzte Ereignisse
Abiturprüfung Mathematik 2015 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analysis A 2 Lösungen der Aufgaben A 2.1 und A 2.2
DB2 – SS 2019 von Baum allgemein bis B*-Baum
Algorithmen und Datenstrukturen
DB2 – SS 2019 von Baum allgemein bis B*-Baum
Information zu Beginn der Stufe Q2
 Präsentation transkript:

Am Beispiel von Handschrifterkennung mit Neuronalen Netzen Maschinelles Lernen Am Beispiel von Handschrifterkennung mit Neuronalen Netzen

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

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.

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.

Einordnung des Beispiels Künstliche Intelligenz GOFAI ... Maschinelles Lernen symbolische Ansätze Neuronale Netze Mustererkennung, Überwachtes Lernen

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

Problem: Handschrifterkennung Eingabe: Grauwerte für 28x28 Pixel Ausgabe: Urteil (0-1) für das Erkennen einer Ziffer

Vanilla Neural Network Solution Hier ein klassisches («Vanilla») Netz mit zwei Zwischen- schichten, es gibt auch andere Versionen

Die Trainingsdaten MNIST-Dataset mit handgeschriebenen Ziffern von ca. 2000 unterschiedlichen Autoren, jeweils mehrere Versionen Viele der Ziffern werden beim Training verwendet, einige für Testzwecke aufgespart.

Training & Learning Die insgesamt knapp 30000 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.

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

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.

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.

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.

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: http://scs.ryerson.ca/~aharley/vis/fc/

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

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: http://scs.ryerson.ca/~aharley/vis/conv/

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

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.

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