WELCHE ARTEN DES MASCHINELLEN LERNENS GIBT ES UND WELCHE ANWENDUNGEN LASSEN SICH DAMIT ENTWICKELN?

Obwohl es mittlerweile eine unübersichtliche Anzahl an Methoden des Machine Learnings gibt, ist das Gute, dass sie sich im Großen und Ganzen auf drei simple Prinzipien zusammenfassen lassen: überwachtes, unüberwachtes und bestärkendes Machine Learning. Dabei handelt es sich um Fachbegriffe, die in mehrfacher Hinsicht bezüglich ihrer Bedeutung irreführend sein können. Deshalb wollen wir sie kurz erklären.

Überwachtes Lernen (Supervised Learning)

Überwachtes Lernen hat nichts damit zu tun, das dem Computer jemand beim Training zusieht. Es meint, dass dem Computer Datensätze mit Beispielen gegeben werden, bei denen klar vorgegeben ist, welchen Aspekt er lernen soll zu erklären und vorherzusagen. Aus einer Menge an Paaren aus Beispielen und ihren korrekten Antworten (zB Bild eines Objektes und seine korrekte Bezeichnung) soll gelernt werden die jeweils erwartete (und für den Trainingsdatensatz bekannte) Antwort vorherzusagen. Dazu vielleicht ein Beispiel: Wenn wir ein Modell trainieren möchten, dass den Verkaufspreis von Gebrauchtwagen prognostiziert, können wir dazu einen Datensatz verwenden, der von 10.000 neulich verkauften Gebrauchtwagen Marke, Baujahr, Getriebeart, Kilometerleistung und den Preis beinhaltet. „Überwachtes“ Lernen besteht nun darin, dass wir dem Computer vorgeben, welche Teile dieser Daten er als Input verwenden soll (in diesem Fall Marke, Baujahr, Getriebeart etc.), und welchen Faktor er als Output lernen soll aus den anderen Daten vorher zu sagen. In unserem Fall ist das der Preis. Das Wesen des „überwachten“ Lernens besteht also darin, dass wir dem Computer genau vorgeben, welche Faktoren aus einem Datensatz er vorhersagen soll. In der Trainingsphase hat der Computer Zugang zu den jeweils korrekten Antworten (in diesem Fall der Gebrauchtwagenpreis), die er später ohne fremde Hilfe vorhersagen soll. Ziel bei dieser Art des Maschinellen Lernens ist es immer eine Klassifikation bzw. Vorhersage auf Basis historischer Erfahrungen zu machen. Entweder um neue Fälle einer bestimmten Kategorie zuzuordnen: zum Beispiel ob es sich bei einem E-Mail um Spam handelt, welche Objekte auf einem Bild zu sehen sind, ob eine Kreditkartentransaktion von Eigentümer gemacht wurde oder betrügerisch ist oder ob ein bestimmter Kunde mit hoher Wahrscheinlichkeit demnächst kündigen wird. Oder die Vorhersage bezieht sich auf das Abschätzen eines numerischen Wertes, zum Beispiel wie hoch der Verkaufspreis eines Gebrauchtwagens sein wird oder wie sich die Nachfrage nach einem bestimmten Produkt entwickeln wird. Im Fall der Vorhersage von Kategorien spricht man von Klassifikation, im Fall des Vorhersagens numerischer Werte von Regression. Zum Trainieren werden dafür Datensätze verwendet, die vergangene Beispiele enthalten inklusive der korrespondierenden Zielinformation, die der Computer lernen soll - im ersten Fall also das auf dem Bild abgebildete Objekt, im zweiten Fall der jeweilige Preis des Gebrauchtwagens. Daraus können Computer dann durch statischen Vergleich ableiten, mittels welcher Regeln sie Objekte auf Bildern unterscheiden oder den Wert von Gebrauchtwagen anhand ihrer Eigenschaften (Alter etc.) abschätzen können. Mit Blick auf die Bilderkennung kann man sich diese Methode - in einer zugegeben sehr simplen Analogie - damit veranschaulichen, wie Kinder sprechen lernen: Wenn ein Kind lernen soll eine Katze, ein Haus oder ein Auto zu bezeichnen, kann man ihm mehrere Bilder dieser Objekte zeigen und ihm die Begriffe „Katze“, „Haus“ und „Auto“ vorsagen, die es lernen soll. Es wird so für sich herausfinden, welche Gemeinsamkeiten Katzen und Häuser haben.

Image alt

Abbildung: Aufbau eines Datensatzes zur Klassifizierung von Objekten mittels Überwachtem Lernen Unten ist auch das Beispiel für einen tabellarischen Trainingsdatensatz für überwachtes Lernen zu finden. In diesem Fall enthält er wie oben beschrieben Informationen zu Gebrauchtwagen und ihren Eigenschaften (Alter, Getriebe, Kilometerleistung etc.) sowie den jeweiligen Preis. Dabei wird der Preis als zu lernende Variable markiert. Technisch wäre es aber genauso denkbar dem Computer zu sagen, er solle aus diesem Datensatz lernen aus den Eigenschaften der Autos und ihrem Preis die aktuelle Kilometerleistung vorauszusagen. Das sind Entscheidungen, die der Mensch im Konzeptionsprozess macht. Im Gegensatz zur Bilderkennung, die eine Klassifikation (daher Vorhersage über die Kategorie des zu sehenden Objektes) zum Ziel hat, wird hier mit dem Preis ein numerischer Wert vorhergesagt (eine sogenannte Regression).

Image alt

Abbildung: Beispiel eines Datensatzes aus dem Machine Learning Algorithmen lernen können, den Preis von Gebrauchtwagen anhand ihrer Eigenschaften (Baujahr, Getriebe, Kilometerleistung etc.) vorherzusagen. Mithilfe dieses Gedankens hat man in den letzten 20 Jahren viele beeindruckende Anwendungen bauen können: Bilderkennung: Wenn ich Bilder von Hunden und Gebäuden in ihre Pixel zerlege, damit Computer damit arbeiten können und dem Computer jeweils mitteile, ob es sich dabei um einen Hund oder ein Gebäude handelt, kann der Computer die Muster an Pixeln erkennen, die besonders häufig auf Hunde- und Gebäudebildern vorkommen und dadurch lernen sie zu unterscheiden. Genauso werden Algorithmen trainiert, die in Autos über Kameras mittlerweile erkennen ob sich Fußgänger vor ihnen befinden. Sie werden durch eine große Zahl an Videos trainiert, auf denen teilweise Menschen zu sehen sind und teilweise nicht, wobei sie in dieser Phase Zugang zu den korrekten Antworten haben, um zu lernen, wie sie die beiden Situationen unterscheiden können. So funktioniert - technisch ganz stark vereinfacht - die Bilderkennung durch Künstliche Intelligenz. Spiele-KIs: Wenn ich einem Computer 30 Millionen Spielstände von GO gebe und ihm jeweils den nächsten Zug zeige, der in der Geschichte des Go Spieles aus dieser Konstellation zum Sieg geführt hat, lernt der Computer dadurch die Muster und Regeln siegreicher GO - Spielstrategien zu imitieren. So wurde in einer ersten Phase der legendäre AlphaGo Algorithmus trainiert, der schließlich den GO-Weltmeister besiegen konnte (nachdem er in einer zweiten Phase mittels bestärkendem Lernen weiter verbessert wurde, siehe unten).

Unüberwachtes Lernen (Unsupervised Learning)

Unüberwachtes Lernen bedeutet wiederum nicht, dass der Computer etwas hinter dem Rücken des Menschen tut, sondern, dass es aus einer Datenmenge Gemeinsamkeiten erkennen soll ohne eine Vorgabe zu haben, worin diese Gemeinsamkeiten bestehen sollen. Bei dieser Art des Maschinellen Lernens ist es daher primäres Ziel Orientierung über eine große Menge an Daten zu erhalten, und versteckte bzw. für den Menschen nicht erkennbare Muster sichtbar zu machen. Darin unterscheidet es sich vom überwachten Lernen - bei dem es darum geht eine Vorhersage in Form einer konkreten Zahl oder Kategorie zu machen. Ein paar Beispiele, wo uns Künstliche Intelligenz im Alltag begegnet, die mittels unüberwachtem Lernen entwickelt wurde: Empfehlen von neuen Kontakten auf Facebook und LinkedIn: Wenn ich in einem Social Media Netzwerk untersuche, wie Personen untereinander besonders gut vernetzt sind und sehe, dass es ein Cluster an Menschen gibt, denen viele Ihrer Kontakte angehören, aber Sie noch nicht, kann ich daraus schließen, dass sie sich kennen (oder bald kennen lernen werden) und Ihnen gegenseitig eine Kontaktaufnahme vorschlagen. So funktionieren Algorithmen, die Ihnen neue Kontakte auf Facebook oder LinkedIn vorschlagen. „Kunden, die diesen Artikel gekauft haben, kauften auch…“: Dieser Satz gehört für uns heute zum Alltag. Dahinter stehen Modelle, die durch unüberwachtes Machine Learning aus einer großen Menge an Daten über Kunden und ihre Käufe versuchen Gruppen zu finden, die sich ähneln, um daraus zu identifizieren, welches Produkt am realistischen empfohlen werden kann. Dabei gibt es grundsätzlich zwei Möglichkeiten vorzugehen: erstens, indem man Gruppen an Produkten identifiziert, die häufig gemeinsam gekauft werden und Kunden, die einen Teil davon kaufen, den Rest der Produktgruppe vorzuschlagen. Zweitens, indem man Gruppen an Kunden identifiziert, die ähnliche Produkte kaufen, daraus einen typischen Warenkorb dieser Gruppe baut und einzelne Produkte vorschlägt, die bei einem dieser Kunden daraus gerade nicht im Warenkorb liegt. Der Grundgedanke hier ist ebenfalls, aus einer großen Datenmenge versteckte Muster offenzulegen - in diesem Fall Produkte, die häufig miteinander verkauft werden oder Menschen, die ähnliche Warenkörbe haben. Datenkomprimierung: Wenn man Bilder in seine Pixel und Farbwerte zerlegt und die Flächen sucht, die ähnliche Farbwerte aufweisen, kann man damit Bilder mit deutlich weniger Informationen und daher Datenvolumen beschreiben. Unüberwachtes Lernen bildet in diesem Fall Gruppen an Bildpixeln, die ähnlich aussehen und beschreibt ihre Position mit wenigen Informationen - damit erspart man sich die umfassende Beschreibung jedes einzelnen dieser Pixel. So funktionieren viele Datenkomprimierungssysteme - von MP3 bis zu modernen Videokomprimierungen, die hochwertige Bildqualität für Streamingdienste über weniger leistungsfähige Breitbandverbindungen ermöglichen. Sortieren von großen Mengen an Texten: Wenn ich 1000 Zeitungsartikel daraufhin untersuche, welche Worte statisch gesehen darin häufig gemeinsam vorkommen (zB Tor, Ball, Liga oder Schlusskurs, Verlust, Börse) kann ich aus diesen Gruppen von Wörtern rasch einen Überblick über die Themen erhalten ohne die Artikel lesen zu müssen und sie auch nach Themen automatisch sortieren. Unüberwachtes Lernen errechnet in diesem Fall die Wortgruppen, die häufig miteinander vorkommen. So funktionieren viele Algorithmen, die Ihnen auf Nachrichtenseiten weitere Artikel zum selben Thema vorgeschlagen.

Bestärkendes Lernen (Reinforcement Learning)

Diese Methode des Maschinellen Lernens ähnelt ein wenig dem Lernen über klassische Konditionierung. Wenn Sie einem Hund beibringen möchten, dass er einen Stock zurückbringt, nachdem Sie ihn geworfen haben, werden sie das einige Male machen und dem Hund eine Belohnung geben, wenn er den Stock retourniert hat, um ihm zu zeigen, dass es dieses Verhalten ist, das sie ihm lernen möchten. Oder der Hund wird keine Belohnung erhalten, wenn er den Stock in den Nachbargarten bringt. Bestärkendes Lernen meint belohnungsorientiertes Lernen und verwendet keine historischen Datensätzen, um daraus Regeln abzuleiten. Beim Bestärkenden maschinellen Lernen lässt man einen Akteur (d.h. ein Computerprogramm) mit einer virtuellen Umgebung interagieren und gibt ihm Feedback, welche seiner Verhaltensweisen positiv sind und welche nicht. Aus diesem Prozess generiert er die Daten, aus denen er die Regeln für das erwünschte Verhalten ableiten kann. Bestärkendes Lernen ist nicht besser oder schlechter als die anderen beiden Methoden, man kann sie einfach zum Lernen anderer Aufgaben nutzen. So wurde das GO-Programm erst durch diese Technik in die Lage versetzt den Weltmeister zu schlagen. Und auch die Algorithmen, die heute (teil)autonomes Fahren ermöglichen, werden maßgeblich mit Reinforcement Learning darauf trainiert sich möglichst fehlerfrei in einer komplexen Umwelt zu bewegen - genauso wie Saugroboter lernen sich ohne Kollateralschaden durch Ihr Wohnzimmer zu manövrieren. Ein Vorteil ist, dass man dazu keine vorhandenen Daten sammeln muss - die Daten, aus denen die erwünschten Verhaltensmuster erstellt werden, generiert der Computer selbst, indem er unzählige Verhaltensweisen ausprobiert und das Feedback dazu auswertet. Die Herausforderung ist, dass man für jedes Verhalten, das man damit Trainieren möchte, eine eigene virtuelle Umgebung benötigt, die dem Computer die zu trainierende Aufgabe stellt und ihm auch das korrekte Feedback gibt. Wenn Sie zum Beispiel eine KI bauen möchten, die in einem modernen Gebäude mit Sensoren aller Art die jeweiligen Einstellungen für die Heizungs-, Kühl- und sonstige Systeme finden soll, die den Energieverbrauch minimieren, klingt es zwar einfach so eine virtuelle Simulationsumgebung fürs Training zu programmieren, wird aber schnell komplex wenn Sie sinnvollerweise zB auch die Auswirkung abstrahlender Wände und anderer Faktoren berücksichtigen wollen und dazu die genauen Regeln für das gesamte System programmieren müssen. Man kann es sich so vorstellen, dass man jede dieser Aufgaben als eine Art Computerspiel programmieren muss, damit der Computer in diesem Rahmen seine Verhaltensexperimente machen kann. Eine der ersten Anwendungen dieser Methode war tatsächlich, dass man Computern gelernt hat Computerspiele wie Super Mario, Atari - Klassiker aller Art bis zu komplexen Strategiespielen wie StarCraft besser als Menschen zu spielen. Das Ergebnis ist beeindruckend - aber technisch gesehen war es natürlich naheliegend mit Computerspielen zu beginnen, da diese bereits als fertige virtuelle Umgebungen fürs Training existiert haben. Welche Anwendungen wurden mit bestärkendem Lernen entwickelt? Autonomes Fahren: Bestärkendes Lernen ist maßgeblich für den jüngsten Erfolg (teil)autonomen Fahrens verantwortlich. Es ist kaum vorstellbar, dass man die Aufgabe zur autonomen Navigation in einer Stadt wie beim überwachten Lernen in Einzelsituationen zerlegen kann inklusive der Detaildaten, die jede Situation beschreiben. Und daraus einem Computer beibringt, wie er jeweils korrekt reagieren soll, um das erwünschte Verhalten zu lernen. Hier wird deutlich, wie die unterschiedlichen Arten des Maschinellen Lernens beitragen können unterschiedliche Probleme zu lösen. Beim Trainieren von Robotern oder autonomen Fahrsystemen wird ihnen in einer realen (und immer öfter virtuellen) Umgebung zB die Aufgabe gestellt zu navigieren, ohne ein anderes Objekt zu berühren. Der Computer probiert dann unzählige Male in jeder einzelnen Situation seine Verhaltensoptionen durch, überprüft, ob er damit sein Ziel erreicht hat (dh nichts zu berühren), merkt sich die Muster seiner erfolgreichen Testdurchläufe und bildet daraus allgemeine Regeln, wie er sich in unterschiedlichen Situationen verhalten soll. Spiele KIs: Als die KI „AlphaGo“ 2016 den GO-Weltmeister besiegt hat gelang diese Methode erstmals ins Licht der Öffentlichkeit. Bestärkendes Lernen hat es damals geschafft ein GO-Modell, das zuerst traditionell mit überwachtem Lernen trainiert wurde, soweit zu verbessern, dass es den Weltmeister 4:1 besiegen konnte. Dafür hatte man das Modell mehrere Millionen Male gegen sich selbst antreten lassen, um ihm nach jedem Spielabschnitt ein Feedback zu geben, ob es zu einem Sieg des Spieles beigetragen hat. Daraus konnte das Modell seine Performance stark verbessern und hat dadurch auch gelernt Spielstrategien zu entwickeln, die in der Geschichte der menschlichen Spieler in dieser Form noch nicht aufgetaucht waren. Das ist kein Anzeichen autonomer Intelligenz, sondern die Konsequenz daraus, dass das Modell anders lernt als Menschen: schließen haben wir nicht den Luxus in unserem Leben mehrere Millionen Spiele zu Testzwecken zu spielen und uns zur Entwicklung unserer Spielstrategie jedes einzelne Detail davon für immer zu merken.