Was tut ML?
Zur Definition von Deep Learning und um den Unterschied zum Machine Learning zu verstehen, müssen wir zunächst verstehen, was Algorithmen des maschinellen Lernens tun. Maschinelles Lernen entdeckt Regeln für die Ausführung einer Datenverarbeitungsaufgabe. Weiterhin gibt es Beispiele, was erwartet wird. Folgende 3 Dinge werden benötigt um maschinelles Lernen durchzuführen:
- Eingabepunkte: Zum Beispiel Bilder oder Tondateien.
- Beispiele für die erwartete Ausgabe: Tags „Hund“, „Katze“ oder Transkripte einer Tondatei.
- Messung der Performance des Algorithmus: Bestimmung von Abstand des aktuelle Ergebnisses zu dem Erwarteten. Messung wird als Feedback-Signal genutzt. Ziel: Funktionsweise des Algorithmus anpassen. Anpassungsschritt heißt lernen.
Machine Learning Systeme wandeln Eingabedaten in relevante Ausgaben um. Dieser Prozess wird mittels bekannten Beispielen durch Ein- und Ausgaben „gelernt“. Das zentrale Problem bei Machine, wie auch Deep Learning, ist es, die Daten adäquat zu transformieren. Sprich: Das System soll nützliche Darstellungen der vorliegenden Daten lernen. Diese gelernten Darstellungen sollen uns dem erwarteten Ergebnis näher bringen.
Was ist eine Darstellung?
Im wesentlichen ist es eine Art Daten zu betrachten, darzustellen oder zu codieren. Ein Farbbild kann man zum Beispiel in RGB- (rot-grün-blau) oder HSV-Format (Hue-saturation-Wert) codieren. Weiterhin sind diverse Aufgaben in unterschiedlichen Darstellungen trivialer oder komplexer. Beispielsweise ist die Aufgabe „Alle roten Pixel zu wählen“ im RGB-Format einfacher. „Das Bild weniger gesättigt machen“ ist hingegen im HSV-Format leichter. Genau darum geht es im Machine Learning: Das Ziel ist geeignete Darstellungen für die Eingabedaten zu finden. Hierbei sollen die Daten entsprechend übertragen werden, um sie für die Aufgabe zugänglicher zu machen.
Betrachten wir hierzu das kommende Beispiel. In kommender Grafik sehen wir ein Koordinatensystem in welchem weiße und schwarze Punkte abgetragen sind. Wir möchten einen Algorithmus entwickeln, der die Koordinaten eines Punktes aufnimmt und dann mit einer gewissen Wahrscheinlichkeit sagen kann, ob der Punkt schwarz oder weiß ist.
In diesem Kontext liegen uns folgende Informationen vor:
- Eingabepunkte: Koordinaten der Punkte.
- erwartete Ausgaben: Farben der Punkte.
- Messung der Performance des Algorithmus: Beispielsweise Prozentsatz der richtig klassifizierten Punkte.
Zur Lösung des Problems benötigen wir eine neue Darstellung unserer Punkte, die die weißen von den schwarzen Punkten klar trennt. Eine denkbare Transformation zur Lösung des Problems ist eine Koordinatenänderung, vergleich das kommende Bild.
Durch die Transformation sind die Koordinaten unserer Punkte eine neue Darstellung unserer Daten. Und es ist eine verdammt gute Darstellung. Nun können wir die Daten durch eine Klassifikationsregel beschreiben. Denn „schwarze Punkte sind Punkte mit x-Koordinate größer 0“ und „weiße Punkte sind Punkte mit x-Koordinate kleiner 0“. Somit lösen die neue Darstellung in Kombination mit dieser Regel das Klassifikationsproblem.
Was ist mit komplexeren Darstellungen?
In dem Beispiel haben wir die Darstellung beziehungsweise die Koordinatenänderung „von Hand“ ausgeführt. Hierbei nutzten wir unsere menschliche Intelligenz um eine für uns sinnvolle Darstellung zu nutzen. Für einfache Probleme ist dies praktikabel. Wie sieht es jedoch bei der Klassifikation von Bildern von handgschriebenen Ziffern aus? Können wir tatsächlich explizite, durch den Computer ausführbare, Bildtranformationen schreiben, die den Unterschied zwischen einzelnen Ziffern über unterschiedliche Handschriften hinweg erkennt? In der Tat geht dies bis zu einem gewissen Grad.