Deep Learning Wenn die Maschine entscheidet

Viele Einsatzmöglichkeiten mit der Schlüsseltechnologie Deep Learning
Viele Einsatzmöglichkeiten mit der Schlüsseltechnologie Deep Learning

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 Übersetzung 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 1000 Objekten trainiert. Diese Netzwerke können mithilfe von Transfer Learning auf eigene Anforderungen angepasst werden, was bei der Entwicklung wertvolle Zeit spart.

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 ConvNet, 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 z.B. 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.