Читать книгу PyTorch für Deep Learning - Ian Pointer - Страница 6

Vorwort Deep Learning in der heutigen Zeit

Оглавление

Hallo und herzlich willkommen! Dieses Buch wird Sie in das Thema Deep Learning mit PyTorch, einer Open-Source-Bibliothek, die im Jahr 2017 von Facebook öffentlich bereitgestellt wurde, einführen. Wenn Sie in den letzten Jahren nicht wie ein Vogel Strauß mit dem Kopf im Sand gesteckt haben, werden Sie nicht umhingekommen sein, zu bemerken, dass neuronale Netzwerke heutzutage überall zugegen sind. Sie sind von dem »wirklich coolen Teil der Informatik, über den die Menschen lernen und danach nichts damit anfangen können« dazu gereift, jeden Tag in unseren Smartphones mit uns herumgetragen zu werden, um unsere Bilder zu verbessern oder unseren Sprachbefehlen zuzuhören. Unsere E-Mail-Programme lesen unsere E-Mails und produzieren kontextbezogene Antworten, unsere Lautsprecher hören uns zu, Autos fahren von selbst, und der Computer hat die besten Spieler bei Go inzwischen besiegt. Wir sehen auch, dass die Technologie in autoritären Ländern für ruchlosere Zwecke eingesetzt wird, etwa wenn Wächter mithilfe von neuronalen Netzwerken Gesichter aus der Menge herauspicken und darüber entscheiden, ob die Menschen verhaftet werden sollen.

Auch wenn es einem so vorkommen mag, dass dies alles sehr rasch voranging, so reichen die zugrunde liegenden Konzepte der neuronalen Netze und des Deep Learning dennoch weit zurück. Der Beweis, dass ein solches Netz in der Lage ist, jede mathematische Funktion in einer approximativen Weise zu ersetzen – was die Idee untermauert, dass neuronale Netze für viele verschiedene Aufgaben trainiert werden können –, geht zurück ins Jahr 1989.1 Neuronale Konvolutionsnetze wurden bereits in den späten 1990er-Jahren zur Erkennung von Ziffern auf Schecks verwendet. In dieser Zeit hat sich ein solides Fundament aufgebaut. Warum also fühlt es sich so an, als hätte es in den letzten zehn Jahren eine explosionsartige Entwicklung in diesem Bereich gegeben?

Hierfür gibt es zahlreiche Gründe, wobei der wichtigste wohl der Anstieg der Leistungsfähigkeit von Grafikprozessoren (GPUs) und deren zunehmende Erschwinglichkeit ist. Ursprünglich für Spiele entwickelt, sind GPUs darauf ausgelegt, unzählige Millionen von Matrixoperationen pro Sekunde auszuführen, um alle Polygone für das Fahr- oder Ballerspiel, das Sie auf Ihrer Konsole oder Ihrem PC spielen, zu rendern – Operationen, für die ein gewöhnlicher Hauptprozessor (CPU) einfach nicht optimiert ist. Der im Jahr 2009 erschienene Forschungsbeitrag »Large-Scale Deep Unsupervised Learning Using Graphics Processors« von Rajat Raina et al.2 wies darauf hin, dass das Training neuronaler Netze ebenfalls auf der Ausführung zahlreicher Matrixoperationen basiert, sodass zusätzliche Grafikkarten das Training beschleunigen und dadurch auch erstmals noch größere, tiefere neuronale Netzwerkarchitekturen eingesetzt werden können.

Andere wichtige Methoden wie Dropout (die wir in Kapitel 3 betrachten werden) wurden ebenfalls in den letzten zehn Jahren eingeführt, um das Training nicht nur zu beschleunigen, sondern auch besser zu verallgemeinern (damit das Netzwerk nicht einfach nur die Trainingsdaten auswendig lernt – ein Problem namens Überanpassung, auf das wir im nächsten Kapitel stoßen werden). In den letzten Jahren haben Unternehmen diesen GPU-basierten Ansatz auf die nächste Ebene gehoben. Dabei hat Google etwas entwickelt, das es als Tensorprozessoren (TPUs) bezeichnet. Es handelt sich dabei um anwendungsspezifische Chips, die speziell dafür entwickelt wurden, so schnell wie möglich Deep-Learning-Anwendungen durchzuführen. Darüber hinaus stehen sie sogar der allgemeinen Öffentlichkeit als Teil des Google-Cloud-Ökosystems zur Verfügung.

Eine weitere Möglichkeit, den Fortschritt des Deep Learning in den letzten zehn Jahren zu skizzieren, bietet der ImageNet-Wettbewerb. ImageNet ist eine riesige Datenbank mit über 14 Millionen Bildern, die zu Zwecken des maschinellen Lernens für 20.000 Kategorien manuell gelabelt sind. Seit dem Jahr 2010 wird jährlich im Rahmen des Wettbewerbs ImageNet Large Scale Visual Recognition Challenge versucht, die Anwendungen aller Teilnehmer anhand eines Auszugs aus der Datenbank mit 1.000 Kategorien zu testen. Bis 2012 lagen die Fehlerquoten für die Bewältigung der Aufgaben bei etwa 25%. In jenem Jahr gewann jedoch ein tiefes neuronales Konvolutionsnetz den Wettbewerb mit einer Fehlerquote von 16%, womit es alle anderen Teilnehmer deutlich übertraf. In den folgenden Jahren wurde diese Fehlerquote immer weiter nach unten gedrückt, bis die ResNet-Architektur im Jahr 2015 ein Ergebnis von 3,6% erreichte, das unterhalb der durchschnittlichen menschlichen Leistung (5%) lag. Wir wurden also überholt.

PyTorch für Deep Learning

Подняться наверх