Deep Learning
Wenn die Maschine entscheidet
Beim Deep Learning lernt ein Computermodell, Klassifizierungsaufgaben direkt aus Bildern, Texten oder Tönen auszuführen – ohne Einflussnahme eines Menschen.
Deep Learning ist eine der Schlüsseltechnologien des Industrial IoT – und es ist keineswegs Zukunftsmusik, sondern wird heute schon eingesetzt. Wichtige Anwendungsgebiete sind Computer Vision und Sprachverarbeitung. Telefone und Freisprecheinrichtungen, die über natürliche Sprache gesteuert werden, setzen Deep-Learning-Algorithmen ein. Auch in Bankautomaten kommt es zur Erkennung von Fälschungen zum Einsatz oder wenn eine Smartphone-App in Echtzeit die Über- setzung eines fremdsprachigen Straßenschildes anzeigt (Bild 1). Autonomes Fahren – auch wenn es noch nicht anwendungsreif ist – wäre ohne Deep Learning kaum denkbar.
Viele der Techniken, die heute im Bereich Deep Learning eingesetzt werden, gibt es schon seit Jahrzehnten. Inzwischen erreichen Deep-Learning-Modelle eine sehr hohe Genauigkeit und übertreffen manchmal sogar die menschliche Erkennungsleistung. In den letzten Jahren haben neue Tools und Verfahren Deep-Learning-Algorithmen so weit verbessert, dass sie es bereits geschafft haben, Bilder besser zu klassifizieren als Menschen, gegen die weltbesten Go-Spieler zu gewinnen oder einen sprachgesteuerten Smart-Home-Assistenten wie Google Home oder Alexa befähigen, auf Kommando ein bestimmtes Lied zu finden und abzuspielen.
Drei Hauptfaktoren haben diese Fortschritte möglich gemacht:
- Für Deep Learning sind große Mengen an vorklassifizierten Daten erforderlich. Beispielsweise erfordert die Entwicklung eines selbstfahrenden Fahrzeugs Millionen von Bildern und Tausende Stunden Video. Diese großen Mengen an vorklassifizierten Daten sind mittlerweile weit verbreitet und stehen seit kurzem zur Verfügung.
- Deep Learning erfordert eine hohe Rechenleistung. Hochleistungs-Grafikprozessoren (GPUs) verfügen über eine parallele Architektur, die sich effizient für Deep Learning nutzen lässt. In Kombination mit Clustern oder Cloud-Computing ermöglicht dies Entwicklungsteams, die Trainingszeit für ein Deep-Learning-Netzwerk von Wochen auf Stunden oder weniger zu reduzieren.
- Neuronale Netzwerke zu trainieren, erfordert viel Zeit und spezialisierte Expertenkenntnisse. Bereits vortrainierte neuronale Netzwerke schaffen Abhilfe. So wurde zum Beispiel AlexNet bereits mit 1,3 Millionen hochauflösenden Bildern auf die Erkennung von 1.000 Objekten trainiert. Diese Netzwerke können mithilfe von Transfer Learning auf eigene Anforderungen angepasst werden, was bei der Entwicklung wertvolle Zeit spart.
Artikel zum Thema
Wie Deep-Learning-Netzwerke trainiert werden
Die meisten Methoden des Deep Learning verwenden neuronale Netzwerkarchitekturen, weshalb Deep-Learning-Modelle oft als „Deep Neural Networks“ bezeichnet werden. Sie kombinieren mehrere nicht-lineare Verarbeitungsschichten, indem sie – inspiriert von biologischen Nervensystemen – einfache Elemente benutzen, die parallel arbeiten. Sie bestehen aus einer Input-Schicht, mehreren verborgenen Schichten und einer Output-Schicht. Diese Schichten sind untereinander über Nodes oder Neuronen mit jeder verborgenen Schicht verbunden und nutzen den Output der vorherigen Schicht als Input (Bild 2).
Der Begriff „tief“ bezieht sich auf die Anzahl der verborgenen Schichten im neuronalen Netz. Traditionelle neuronale Netze enthalten nur zwei bis drei verborgene Schichten, während tiefe Netze bis zu 150 aufweisen können.
Eine der populärsten Arten von tiefen neuronalen Netzen ist bekannt als faltende neuronale Netze (CNN oder Conv-Net, Convolutional Neural Network). Ein CNN führt die Faltung von erlernten Merkmalen mit Eingabedaten aus und verwendet 2D-Faltungsschichten, wodurch sich diese Architektur gut für die Verarbeitung von 2D-Daten, wie zum Beispiel Bildern, eignet.
Anhand eines Bildbeispiels kann ein vollständig trainiertes Deep-Learning-Modell Objekte in Bildern automatisch identifizieren, auch wenn es diese noch nie zuvor gesehen hat. So ist es beispielsweise möglich, dass bestimmte Websites Personen auf Fotos identifizieren können, die gerade erst hochgeladen wurden. Hierfür ist folgender Prozess verantwortlich:
Begonnen wird mit einem Satz Bilder, in dem jedes eine von vier Objektkategorien enthält. Ziel ist, dass das Deep-Learning-Netzwerk automatisch erkennt, um welches Objekt es sich handelt. Um Trainingsdaten zu erzeugen, wird jedes Bild gelabelt.
Anhand dieser Trainingsdaten beginnt das Netzwerk zu verstehen, welche Merkmale welches Objekt ausmachen und sie mit der entsprechenden Kategorie zu verknüpfen. Jede Schicht des Netzwerks erhält seine Daten von der vorhergehenden, bearbeitet sie und leitet sie an die nächste Schicht weiter. Dabei wird die Komplexität und Detailgenauigkeit von Schicht zu Schicht erhöht (Bild 3). Wichtig ist dabei, dass das Netzwerk direkt aus den Daten lernt. Der Mensch hat keinerlei Einfluss darüber, welche Merkmale gelernt werden.
Machine Learning versus Deep Learning
Deep Learning und Machine Learning bieten verschiedene Möglichkeiten, Modelle zu trainieren und Daten zu klassifizieren. Vergleicht man die beiden Ansätze, so kann man sehen, welche Szenarien den Einsatz der beiden Technologien bestimmen.
Mit einem Standardansatz im Bereich Machine Learning müsste man die relevanten Merkmale eines Bildes, wie Kanten oder Ecken, manuell auswählen, um das Machine-Learning-Modell zu trainieren. Das Modell verweist dann bei der Analyse und Klassifizierung neuer Objekte auf diese Merkmale.
Mit einem Deep-Learning-Workflow werden relevante Merkmale automatisch aus Bildern extrahiert. Darüber hinaus führt Deep Learning ein „End-to-End-Learning“ durch, bei dem einem Netzwerk Rohdaten und eine Aufgabe, wie beispielsweise die Klassifizierung, zugewiesen werden und das Netz lernt, dies automatisch auszuführen.
Ein weiterer wesentlicher Unterschied besteht darin, dass die Deep-Learning-Algorithmen mit Daten skalieren, während das „flache Lernen“ konvergiert. Unter „Shallow Learning“ versteht man Methoden des Machine Learning, die ab einem bestimmten Punkt keine weitere Verbesserung der Genauigkeit der Vorhersage erreichen, auch wenn man dem Netzwerk weitere Beispiele und Trainingsdaten hinzufügt.
Bei der Wahl zwischen Machine Learning und Deep Learning sollte man sich fragen, ob man über einen leistungsfähigen Grafikprozessor und viele vorklassifizierte Daten verfügt. Wenn dies nicht der Fall ist, sollte man Machine Learning statt Deep Learning einsetzen. Dies liegt daran, dass Deep Learning in der Regel komplexer ist, sodass man mindestens einige Tausend Bilder benötigt, um zuverlässige Ergebnisse zu erhalten. Außerdem benötigt man einen leis-tungsstarken Grafikprozessor, damit das Modell weniger Zeit mit der Analyse all dieser Bilder verbringt.
Wenn man Machine Learning wählt, gibt es die Möglichkeit, das Modell für viele verschiedene Klassifikatoren zu trainieren. Dabei benötigt man auch Informationen, welche Merkmale extrahiert werden müssen, um die besten Ergebnisse zu erzielen. Außerdem hat man mit Machine Learning die Flexibilität, eine Kombination von Ansätzen zu wählen. Zu empfehlen ist die Verwendung verschiedener Klassifikatoren mit verschiedenen Merkmalen, um festzustellen, welche Kombination für die gewählten Daten am besten geeignet ist (Bild 4). Im Allgemeinen ist also Deep Learning rechenintensiver, während Machine-Learning-Techniken oft einfacher anzuwenden sind.
Deep Learning in der realen Welt
Deep-Learning-Anwendungen werden in vielen Branchen eingesetzt, vom autonomen Fahren bis hin zu medizinischen Geräten.
- Autonomes Fahren: Fahrzeugentwickler nutzen Deep Learning, um Objekte wie Stoppschilder und Ampeln automatisch zu erkennen. Darüber hinaus wird Deep Learning eingesetzt, um Fußgänger zu erkennen, was zur Verringerung von Unfällen beitragen kann.
- Luft- und Raumfahrt, Verteidigung: Mit Hilfe von Deep Learning werden Objekte von Satelliten identifiziert, die interessante Bereiche 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 Mikroskop entwickelt, das einen hochdimensionalen Datensatz liefert, mit dem eine Deep-Learning-Anwendung trainiert wird, um Krebszellen genau zu identifizieren.
- Industrielle Automatisierung: Deep Learning trägt dazu bei, die Sicherheit von Arbeitnehmern in der Umgebung schwerer Maschinen zu verbessern, indem es automatisch erkennt, wenn sich Personen oder Gegenstände in einem unsicheren Abstand solcher Maschinen befinden.
- Elektronik: Deep Learning wird in der automatisierten Spracherkennung und -übersetzung eingesetzt. So basieren beispielsweise Geräte im Haus, die auf Stimmen reagieren und die Präferenzen der Anwender kennen, auf Deep Learning.
Deep Learning scheint für Laien oft unzugänglich zu sein, aber mit gängigen Workflows können Ingenieure und Wissenschaftler schnell und einfach Deep Learning für ihre Anwendungen einsetzen. Heute fördern eine Vielzahl von Tools die Einführung von Deep Learning, indem sie die Konfiguration und das Trainieren von Modellen vereinfachen, ihre Struktur visualisieren, vortrainierte Modelle für Transfer-Learning einsetzen und die Vorteile der GPU-Beschleunigung nutzen.
In dem Maße, wie Deep Learning allgegenwärtig wird, werden wir weitere Innovationen und Entwicklungen bei Anwendungen sehen, die bisher als unmöglich galten, zum Beispiel in Bereichen wie Computer Vision, Natural Language Processing und Robotik.
Johanna Pingel, Produkt Marketing Manager bei MathWorks / ag