Was ist Deep Learning?

Deep Learning ist eine Technik des maschinellen Lernens, die Computern beibringt, das zu tun, was für den Menschen selbstverständlich ist: durch Beispiele zu lernen. Deep Learning ist eine Schlüsseltechnologie für fahrerlose Autos, die damit ein Stoppschild erkennen oder einen Fußgänger von einem Laternenpfahl unterscheiden können. Es ist der Schlüssel zur Sprachsteuerung von Endgeräten wie Telefonen, Tablets, Fernsehern und Freisprechanlagen. Deep Learning bekommt in letzter Zeit viel Aufmerksamkeit und das aus gutem Grund. Es erzielt Ergebnisse, die vorher nicht möglich waren.

Beim Deep Learning lernt ein Computermodell, Klassifizierungsaufgaben direkt aus Bildern, Text oder Ton durchzuführen. Deep-Learning-Modelle können modernste Genauigkeit erreichen, die manchmal die Leistung von Menschen übertrifft. Die Modelle werden mit einer großen Menge an markierten Daten und neuronalen Netzwerkarchitekturen trainiert, die viele Schichten enthalten.

Wie erreicht Deep Learning solch beeindruckende Ergebnisse?

Mit einem Wort: Genauigkeit. Deep Learning erreicht eine Erkennungsgenauigkeit auf einem höheren Niveau als je zuvor. Dies hilft der Unterhaltungselektronik, die Erwartungen der Benutzer zu erfüllen, und ist entscheidend für sicherheitskritische Anwendungen wie fahrerlose Autos. Jüngste Fortschritte beim Deep Learning haben sich so weit verbessert, dass Deep Learning den Menschen bei einigen Aufgaben wie der Klassifizierung von Objekten in Bildern übertrifft.

Obwohl Deep Learning bereits in den 1980er Jahren theoretisiert wurde, gibt es zwei Hauptgründe, warum es erst kürzlich nützlich geworden ist:

  1. Deep Learning erfordert große Mengen an gelabelten Daten. Die Entwicklung fahrerloser Autos erfordert beispielsweise Millionen von Bildern und Tausende von Stunden an Videomaterial.
  2. Deep Learning erfordert eine hohe Rechenleistung. Leistungsstarke GPUs haben eine parallele Architektur, die für Deep Learning effizient ist. In Kombination mit Clustern oder Cloud Computing können Entwicklungsteams so die Trainingszeit für ein Deep-Learning-Netzwerk von Wochen auf Stunden oder weniger reduzieren.

Beispiele für Deep Learning

Deep Learning-Anwendungen werden in Branchen vom automatisierten Fahren bis hin zu medizinischen Geräten eingesetzt.

Automatisiertes Fahren: Automobilforscher nutzen Deep Learning, um Objekte wie Stoppschilder und Ampeln automatisch zu erkennen. Darüber hinaus wird Deep Learning zur Erkennung von Fußgängern eingesetzt, was zur Verringerung von Unfällen beiträgt.

Luft- und Raumfahrt und Verteidigung: Deep Learning wird eingesetzt, um Objekte von Satelliten zu erkennen, die Gebiete von Interesse lokalisieren und sichere oder unsichere Zonen für Truppen identifizieren.

Medizinische Forschung: Krebsforscher nutzen Deep Learning, um Krebszellen automatisch zu erkennen. Teams an der UCLA haben ein fortschrittliches Mikroskop gebaut, das einen hochdimensionalen Datensatz liefert, mit dem eine Deep-Learning-Anwendung trainiert werden kann, um Krebszellen genau zu identifizieren.

Industrielle Automatisierung: Deep Learning hilft, die Sicherheit der Arbeiter in der Nähe von schweren Maschinen zu verbessern, indem es automatisch erkennt, wenn sich Personen oder Objekte in einem unsicheren Abstand zu Maschinen befinden.

Elektronik: Deep Learning wird in der automatisierten Hör- und Sprachübersetzung eingesetzt. Zum Beispiel werden Geräte zur Unterstützung im Haushalt, die auf Ihre Stimme reagieren und Ihre Vorlieben kennen, von Deep-Learning-Anwendungen unterstützt.

Wie funktioniert Deep Learning

Die meisten Deep Learning-Methoden verwenden neuronale Netzwerkarchitekturen, weshalb Deep Learning-Modelle oft als tiefe neuronale Netzwerke bezeichnet werden.

Der Begriff “tief” bezieht sich normalerweise auf die Anzahl der versteckten Schichten im neuronalen Netzwerk. Traditionelle neuronale Netzwerke enthalten nur 2-3 versteckte Schichten, während tiefe Netzwerke bis zu 150 haben können.

Modelle mit tiefem Lernen werden mit großen Sätzen von beschrifteten Daten und neuronalen Netzwerkarchitekturen trainiert, die Merkmale direkt aus den Daten lernen, ohne dass eine manuelle Merkmalsextraktion erforderlich ist.

Einer der populärsten Typen von tiefen neuronalen Netzwerken ist als Convolutional Neural Network (CNN oder ConvNet) bekannt. Ein CNN faltet gelernte Merkmale mit Eingabedaten und verwendet 2D-Faltungsschichten, wodurch sich diese Architektur gut für die Verarbeitung von 2D-Daten, wie z. B. Bildern, eignet.

CNNs machen die manuelle Merkmalsextraktion überflüssig, so dass Sie keine Merkmale identifizieren müssen, die zur Klassifizierung von Bildern verwendet werden. Der CNN arbeitet, indem er Merkmale direkt aus Bildern extrahiert. Die relevanten Merkmale sind nicht vortrainiert; sie werden erlernt, während das Netzwerk auf einer Sammlung von Bildern trainiert. Diese automatisierte Merkmalsextraktion macht Deep-Learning-Modelle sehr genau für Computer-Vision-Aufgaben wie die Objektklassifizierung.

CNNs lernen, verschiedene Merkmale eines Bildes mit Hilfe von Dutzenden oder Hunderten von versteckten Schichten zu erkennen. Jede versteckte Schicht erhöht die Komplexität der gelernten Bildmerkmale. Zum Beispiel könnte die erste versteckte Schicht lernen, wie man Kanten erkennt, und die letzte lernt, wie man komplexere Formen erkennt, die speziell auf die Form des Objekts abgestimmt sind, das wir zu erkennen versuchen.

Was ist der Unterschied zwischen maschinellem Lernen und Deep Learning?

Deep Learning ist eine spezielle Form des maschinellen Lernens. Ein maschineller Lernprozess beginnt damit, dass relevante Merkmale manuell aus Bildern extrahiert werden. Die Merkmale werden dann verwendet, um ein Modell zu erstellen, das die Objekte im Bild kategorisiert. Bei einem Deep-Learning-Workflow werden relevante Merkmale automatisch aus Bildern extrahiert. Darüber hinaus führt Deep Learning ein “End-to-End-Lernen” durch, bei dem ein Netzwerk Rohdaten und eine Aufgabe, z. B. eine Klassifizierung, erhält und lernt, wie es diese automatisch ausführen kann.

Ein weiterer wichtiger Unterschied ist, dass Deep-Learning-Algorithmen mit den Daten skalieren, während Shallow Learning konvergiert. Shallow Learning bezieht sich auf maschinelle Lernmethoden, die bei einem bestimmten Leistungsniveau ein Plateau erreichen, wenn Sie dem Netzwerk mehr Beispiele und Trainingsdaten hinzufügen.

Ein entscheidender Vorteil von Deep-Learning-Netzwerken ist, dass sie sich oft weiter verbessern, wenn der Umfang Ihrer Daten zunimmt.

Beim maschinellen Lernen wählen Sie manuell Merkmale und einen Klassifikator, um Bilder zu sortieren. Beim Deep Learning erfolgen die Schritte der Merkmalsextraktion und Modellierung automatisch.

Auswahl zwischen maschinellem Lernen und Deep Learning

Maschinelles Lernen bietet eine Vielzahl von Techniken und Modellen, die Sie je nach Ihrer Anwendung, der Größe der zu verarbeitenden Daten und der Art des Problems, das Sie lösen möchten, auswählen können. Eine erfolgreiche Deep-Learning-Anwendung erfordert eine sehr große Datenmenge (Tausende von Bildern), um das Modell zu trainieren, sowie GPUs oder Grafikprozessoren, um die Daten schnell zu verarbeiten.

Wenn Sie sich zwischen maschinellem Lernen und Deep Learning entscheiden, sollten Sie überlegen, ob Sie über einen leistungsstarken Grafikprozessor und eine große Menge an markierten Daten verfügen. Wenn Sie beides nicht haben, kann es sinnvoller sein, maschinelles Lernen anstelle von Deep Learning zu verwenden. Deep Learning ist im Allgemeinen komplexer, sodass Sie mindestens einige tausend Bilder benötigen, um zuverlässige Ergebnisse zu erhalten. Eine leistungsstarke GPU bedeutet, dass das Modell weniger Zeit benötigt, um all diese Bilder zu analysieren.

Wie man Deep Learning-Modelle erstellt und trainiert

Die drei häufigsten Arten, wie Deep Learning für die Objektklassifizierung eingesetzt wird, sind:

Training von Grund auf
Um ein Deep Network von Grund auf zu trainieren, sammeln Sie einen sehr großen gelabelten Datensatz und entwerfen eine Netzwerkarchitektur, die die Merkmale und das Modell lernt. Dies ist gut für neue Anwendungen oder Anwendungen, die eine große Anzahl von Ausgabekategorien haben werden. Dies ist ein weniger gebräuchlicher Ansatz, da diese Netzwerke aufgrund der großen Datenmenge und der hohen Lerngeschwindigkeit in der Regel Tage oder Wochen zum Trainieren benötigen.

Transfer-Lernen
Die meisten Deep Learning-Anwendungen verwenden den Transfer-Learning-Ansatz, einen Prozess, der die Feinabstimmung eines vorab trainierten Modells beinhaltet. Sie beginnen mit einem bestehenden Netzwerk, z. B. AlexNet oder GoogLeNet, und füttern es mit neuen Daten, die zuvor unbekannte Klassen enthalten. Nachdem Sie einige Anpassungen am Netzwerk vorgenommen haben, können Sie nun eine neue Aufgabe durchführen, z. B. nur Hunde oder Katzen kategorisieren, anstatt 1000 verschiedene Objekte. Dies hat auch den Vorteil, dass viel weniger Daten benötigt werden (Verarbeitung von Tausenden von Bildern statt von Millionen), so dass die Berechnungszeit auf Minuten oder Stunden sinkt.

Transfer-Lernen erfordert eine Schnittstelle zu den Interna des bereits vorhandenen Netzwerks, so dass es für die neue Aufgabe chirurgisch modifiziert und erweitert werden kann. MATLAB® verfügt über Werkzeuge und Funktionen, die Sie beim Transfer-Lernen unterstützen.

Merkmalsextraktion
Ein etwas weniger verbreiteter, speziellerer Ansatz für Deep Learning ist die Verwendung des Netzwerks als Merkmalsextraktor. Da alle Schichten die Aufgabe haben, bestimmte Merkmale aus Bildern zu lernen, können wir diese Merkmale jederzeit während des Trainingsprozesses aus dem Netzwerk herausziehen. Diese Merkmale können dann als Eingabe für ein maschinelles Lernmodell wie z. B. Support-Vektor-Maschinen (SVM) verwendet werden.