Deep Learning illustriert. Jon Krohn. Читать онлайн. Newlib. NEWLIB.NET

Автор: Jon Krohn
Издательство: Bookwire
Серия:
Жанр произведения: Математика
Год издания: 0
isbn: 9783960887522
Скачать книгу
Sie es dem Netzwerk zu trainieren, bis die Werte »Training loss« und »Test loss« in der oberen rechten Ecke jeweils fast auf Null zurückgegangen sind – sagen wir, auf weniger als 0.05. Wie lange das dauert, hängt von Ihrer Hardware ab, aber es werden hoffentlich nur ein paar Minuten sein.

      Wie in Abbildung 1–19 festgehalten wurde, sollten Sie nun die künstlichen Neuronen des Netzwerks sehen, die die Eingabedaten repräsentieren. Je tiefer (also je weiter rechts) sie positioniert sind, umso komplexer und abstrakter sollte die Darstellung werden – wie im Neocognitron, im LeNet-5 (Abbildung 1–11) und im AlexNet (Abbildung 1–17). Bei jedem Durchlauf des Netzes löst das Netz das Problem der Spiralklassifikation auf Neuronen-Ebene anders, aber der allgemeine Ansatz bleibt gleich (wenn Sie dies nachprüfen wollen, laden Sie die Seite neu und trainieren Sie das Netz erneut). Die künstlichen Neuronen in der ganz linken verborgenen Schicht sind darauf spezialisiert, Kanten (gerade Linien) zu unterscheiden, und zwar jeweils in einer bestimmten Ausrichtung. Die Neuronen aus der ersten verborgenen Schicht übergeben die Informationen an Neuronen in der zweiten verborgenen Schicht, die wiederum die Kanten zu etwas komplexeren Merkmalen, wie etwa Kurven, neu kombinieren. Die Neuronen in jeder nachfolgenden Schicht setzen die Informationen der Neuronen aus den vorangegangenen Schichten neu zusammen, sodass sich die Komplexität und der Abstraktionsgrad der Features, die die Neuronen repräsentieren können, schrittweise erhöhen. Wenn die letzte (ganz rechts gelegene) Schicht erreicht ist, sind die Neuronen geschult darin, die Feinheiten der Spiralform darzustellen, was es dem Netz erlaubt, anhand seiner Position im Raster (seiner X1- und X2-Koordinaten) akkurat vorherzusagen, ob ein Punkt orange (ein negativer Fall) oder blau (ein positiver Fall) ist. Halten Sie den Mauszeiger über ein Neuron, um es auf das äußerst rechts gelegene »OUTPUT«-Raster zu projizieren und seine jeweilige Spezialisierung im Detail zu untersuchen.

       Abb. 1–19 Das Netzwerk nach dem Trainieren

       1.4Quick, Draw!

      Um interaktiv zu erleben, wie ein Deep-Learning-Netzwerk in Echtzeit eine Aufgabe im maschinellen Sehen (Machine Vision) ausführt, spielen Sie einmal das Quick, Draw!-Spiel (oder auf Deutsch Flugs gezeichnet!) unter quickdraw.with-google.com. Klicken Sie auf Und los!, um das Spiel zu beginnen. Sie werden aufgefordert, ein Objekt zu zeichnen, und der Deep-Learning-Algorithmus versucht zu erraten, was es ist. Am Ende von Kapitel 10 werden wir die ganze Theorie und die praktischen Codebeispiele behandelt haben, die erforderlich sind, um einen Algorithmus zum maschinellen Sehen zu entwerfen, der diesem ganz ähnlich ist. Die Zeichnungen, die Sie herstellen, werden außerdem zu dem Datensatz hinzugefügt, den Sie in Kapitel 12 verwenden, um ein Deep-Learning-Modell herzustellen, das überzeugend Kritzeleien imitieren kann, die von Menschen gemacht werden. Schnallen Sie sich an! Wir gehen auf eine fantastische Reise.

       1.5Zusammenfassung

      In diesem Kapitel haben wir uns die Geschichte des Deep Learning von seiner biologischen Inspiration bis hin zum Triumph von AlexNet angeschaut, das diese Technik im Jahre 2012 wieder in den Vordergrund geholt hat. Dabei haben wir gelernt, dass die hierarchische Architektur der Deep-Learning-Modelle es ihnen erlaubt, zunehmend komplexere Repräsentationen zu kodieren. Um dieses Konzept zu unterstreichen, haben wir uns zum Schluss eine interaktive Demonstration der hierarchischen Repräsentationen in Aktion angeschaut, indem wir im TensorFlow Playground ein künstliches neuronales Netzwerk trainiert haben. In Kapitel 2 werden wir die Ideen, die in diesem Kapitel vorgestellt wurden, ausweiten. Dies tun wir am Beispiel von Sprachanwendungen.

       2Menschen- und Maschinensprache

      In Kapitel 1 haben wir uns mithilfe der Analogie des biologischen visuellen Systems einen Überblick über die Theorie des Deep Learning verschafft. Dabei haben wir betont, dass eine der wesentlichen Stärken dieser Technik in der Fähigkeit besteht, Features, d.h. Merkmale, automatisch aus Daten zu lernen. In diesem Kapitel werden wir unser Grundwissen zum Deep Learning ausbauen und untersuchen, wie das Deep Learning in Sprachanwendungen integriert ist. Unser besonderes Augenmerk gilt herbei der Frage, wie es automatisch Features erlernen kann, die die Bedeutung von Wörtern repräsentieren.

      Der österreichisch-britische Philosoph Ludwig Wittgenstein formulierte in seinem posthum erschienenen zweiten Hauptwerk Philosophische Untersuchungen: »Die Bedeutung eines Wortes ist sein Gebrauch in der Sprache.«1 Er schrieb weiterhin: »Wie ein Wort funktioniert, kann man nicht erraten. Man muss seine Anwendung ansehen und daraus lernen.« Wittgenstein deutete an, dass Wörter allein keine wirkliche Bedeutung besitzen; stattdessen sind wir erst durch ihre Benutzung im größeren Kontext dieser Sprache in der Lage, ihre Bedeutung zu bestimmen. Wie Sie in diesem Kapitel sehen werden, stützt sich die Verarbeitung natürlicher Sprache mit Deep Learning sehr stark auf diese Prämisse. Und tatsächlich leitet die hier vorgestellte word2vec-Technik, die Wörter in numerische Modelleingaben umwandelt, ihre semantische Repräsentation eines Wortes explizit von der Analyse dieses Wortes in seinem Kontext innerhalb eines großen Sprachkörpers ab.

      Auf Grundlage dieser Vorstellung beginnen wir damit, das Deep Learning für die Verarbeitung natürlicher Sprache (linguistische Datenverarbeitung bzw. LDV; wir werden hier aber den englischen Ausdruck Natural Language Processing oder NLP verwenden) als Disziplin zu erkunden. Anschließend diskutieren wir moderne Deep-Learning-Techniken für das Darstellen von Wörtern und Sprache. Am Ende dieses Kapitels sollten Sie eine gute Vorstellung davon haben, was mit Deep Learning und NLP möglich ist, sodass Sie eine solide Grundlage haben, um in Kapitel 11 entsprechenden Code zu schreiben.

       2.1Deep Learning für Natural Language Processing

      Die zwei Kernkonzepte in diesem Kapitel sind Deep Learning und Natural Language Processing. Wir werden die relevanten Aspekte beider Konzepte zunächst separat behandeln und sie dann im Laufe dieses Kapitels miteinander verknüpfen.

       2.1.1Deep-Learning-Netze lernen Repräsentationen automatisch

      Wie wir bereits zu Beginn des Buches festgestellt haben, kann man Deep Learning definieren als das Aufeinanderschichten einfacher Algorithmen, der sogenannten künstlichen Neuronen, zu Netzwerken, die mehrere Schichten tief sind. Anhand des Venn-Diagramms in Abbildung 2–1 erkennen wir, wo sich das Deep Learning innerhalb der Machine-Learning-Familie befindet. Es zählt zu den Representation-Learning-Ansätzen. Die Familie des Representation Learning (Lernen durch Repräsentation), die das heutige Deep Learning dominiert, schließt alle Techniken ein, die Features automatisch aus Daten lernen. Es ist daher möglich, die Begriffe »Feature« und »Repräsentation« synonym zu verwenden.

      Abbildung 1–12 legte den Grundstein für das Verständnis der Vorteile des Representation Learning gegenüber den herkömmlichen Machine-Learning-Methoden.