Deep Learning illustriert. Jon Krohn
11 genauer auf RNNs und LSTMs ein, wenn wir sie in Vorhersagemodelle mit natürlichsprachigen Daten integrieren. Diese Sprachbeispiele bieten eine solide Grundlage, selbst wenn Sie Deep-Learning-Techniken eigentlich auf andere Klassen sequenzieller Daten anwenden wollen.
4.2Drei Arten von Machine-Learning-Problemen
Der verbleibende Abschnitt des Venn-Diagramms in Abbildung 4–1 betrifft das Reinforcement Learning (verstärkendes Lernen), auf das wir uns im Rest dieses Kapitels konzentrieren wollen. Zur Einführung des Reinforcement Learning wollen wir es den beiden anderen wichtigen Problemen gegenüberstellen, für die häufig Machine-Learning-Algorithmen eingesetzt werden: Supervised Learning (überwachtes Lernen) und Unsupervised Learning (unüberwachtes Lernen).
4.2.1Supervised Learning
Bei Problemen des Supervised Learning (überwachtes Lernen) haben wir sowohl eine x- als auch eine y-Variable, wobei
x die Daten darstellt, die wir als Eingabe in unser Modell einspeisen.
y ein Ergebnis repräsentiert, das unser zu bauendes Modell vorhersagen soll. Diese y-Variable kann auch als Label bezeichnet werden.
Das Ziel beim Supervised Learning besteht darin, unser Modell eine Funktion finden zu lassen, die x verwendet, um sich an y anzunähern. Überwachtes Lernen ist typischerweise mit einem dieser beiden Typen verknüpft:
Regression, wobei unser y eine kontinuierliche Variable ist. Beispiele wären die Verkaufszahlen für ein Produkt oder die Vorhersage des künftigen Preises einer Ware, beispielsweise eines Hauses (ein Beispiel aus Kapitel 9) oder der Aktie eines börsennotierten Unternehmens.
Klassifikation, bei der unsere y-Werte aus Labels bestehen, die jede Instanz von x einer bestimmten Kategorie zuordnen. Mit anderen Worten, y ist eine sogenannte kategorische Variable. Beispiele wären das Identifizieren handgeschriebener Ziffern (Sie werden in Kapitel 10 Modelle dafür herstellen) oder die Vorhersage, ob jemand, der eine Filmkritik geschrieben hat, diesen Film liebte oder verabscheute (dies werden Sie in Kapitel 11 machen).
4.2.2Unsupervised Learning
Probleme des Unsupervised Learning (unüberwachtes Lernen) unterscheiden sich von Problemen des Supervised Learning durch das Fehlen eines Labels y. Das heißt, beim Unsupervised Learning haben wir irgendwelche Daten x, die wir in ein Modell setzen, aber wir haben kein Ergebnis y zum Vorhersagen. Stattdessen besteht unser Ziel darin, das Modell selbst eine verborgene Struktur entdecken zu lassen, die unseren Daten zugrunde liegt. Ein oft verwendetes Beispiel dafür ist das Gruppieren von Nachrichtenartikeln nach ihren Themen. Anstatt eine vordefinierte Liste von Kategorien anzubieten, zu denen die Artikel gehören (Politik, Sport, Finanzen usw.), konfigurieren wir das Modell so, dass es automatisch Artikel mit ähnlichen Themen gruppiert. Andere Beispiele für Unsupervised Learning wären die Erzeugung eines Wortvektorraums (siehe Kapitel 2) aus natürlichsprachigen Daten (Sie werden dies in Kapitel 11 tun) oder das Erschaffen neuartiger Bilder mit einem GAN (Generative Adversarial Network; das erwartet Sie in Kapitel 12).
4.2.3Reinforcement Learning
Kommen wir wieder zurück auf Abbildung 4–1. Wir sind nun bereit, uns Problemen des Reinforcement Learning zuzuwenden, die sich deutlich von den Supervised- und Unsupervised-Varianten unterscheiden. Wie in Abbildung 4–3 so leichthin illustriert wird, sind Reinforcement-Learning-Probleme solche, bei denen wir einen Agenten haben, der in einer Umgebung eine Reihe von Aktionen unternimmt. Der Agent könnte zum Beispiel ein Mensch oder ein Algorithmus sein, der ein Atari-Videospiel spielt oder ein Auto fährt. Die vielleicht wichtigste Abweichung des Reinforcement Learning vom Supervised bzw. Unsupervised Learning besteht darin, dass die Aktionen, die der Agent ausführt, die Informationen beeinflussen, die die Umgebung dem Agenten anbietet – das heißt, der Agent erhält eine direkte Rückmeldung über die Aktionen, die er unternimmt. Bei Supervised- oder Unsupervised-Problemen beeinflusst das Modell im Gegensatz dazu niemals die zugrunde liegenden Daten; es nimmt sie einfach auf.
Leute, die das Deep Learning studieren, verspüren häufig den unwiderstehlichen Drang, die Paradigmen Supervised, Unsupervised und Reinforcement Learning in die Ansätze traditionelles Machine Learning versus Deep Learning zu unterteilen. Genauer gesagt, wollen sie das Supervised Learning mit dem traditionellen Machine Learning verknüpfen und das Unsupervised Learning oder das Reinforcement Learning (oder beides) mit dem Deep Learning. Damit das klar ist: Es gibt keine solche Verbindung! Beide Techniken – sowohl traditionelles Machine Learning als auch Deep Learning – lassen sich auf Probleme des Supervised, Unsupervised und Reinforcement Learning anwenden.
Abb. 4–3Die Reinforcement-Learning-Schleife. Das linke Diagramm (a) ist eine verallgemeinerte Version. Die rechte Darstellung (b) bezieht sich auf das im Text angeführte Beispiel eines Agenten, der auf einer Atari-Konsole ein Videospiel spielt. Unseres Wissens nach können Trilobiten eigentlich keine Videospiele spielen; der Trilobit dient uns hier als symbolische Repräsentation des Reinforcement-Learning-Agenten, bei dem es sich entweder um einen Menschen oder um eine Maschine handeln könnte.
Tauchen wir mithilfe einiger Beispiele ein bisschen tiefer in die Beziehung zwischen einem Reinforcement-Learning-Agenten und seiner Umgebung ein. In Abbildung 4–3 wird der Agent durch einen vermenschlichten Trilobiten repräsentiert, doch dieser Agent könnte entweder ein Mensch oder eine Maschine sein. Wenn der Agent ein Atari-Videospiel spielt,
könnten die möglichen Aktionen, die ausgeführt werden, das Drücken der Buttons am Videospiel-Controller sein.4
Die Umgebung (die Atari-Konsole) liefert Informationen zurück an den Agenten. Diese Informationen gibt es in zwei zarten Geschmacksrichtungen: State bzw. Zustand (die Pixel auf dem Bildschirm, die den aktuellen Zustand der Umgebung repräsentieren) sowie Reward bzw. Belohnung (der Punktestand im Spiel, den der Agent gern durch das Spielen maximieren möchte).
Falls der Agent Pac-Man spielt, dann liefert die Umgebung, sobald der Agent den »Hoch«-Button drückt (Aktion), einen aktualisierten Zustand zurück, bei dem die Pixel die Videospiel-Figur auf dem Bildschirm repräsentieren, die sich nach oben bewegt hat. Vor dem Spielen eines dieser Spiele wüsste ein typischer Reinforcement-Learning-Algorithmus gar nichts von dieser einfachen Beziehung zwischen dem »Hoch«-Button und der Bewegung von Pac-Man nach oben – alles wird von Grund auf durch Ausprobieren gelernt.
Wählt der Agent eine Aktion aus, durch die Pac-Man den Weg wählt, auf dem einige köstliche