Kommentar von Timon Ruban, Luminovo

Deep Learning ist mehr als die Wahl der richtigen Modellarchitektur

| Autor / Redakteur: Timon Ruban / Nico Litzel

Der Autor: Timon Ruban ist Gründer des Münchner Deep Learning Start-ups Luminovo
Der Autor: Timon Ruban ist Gründer des Münchner Deep Learning Start-ups Luminovo (Bild: Luminovo)

Hinter der Entwicklung eines einsatzfähigen Deep-Learning-Modells steht ein langer Prozess, der weit über die Wahl der Modellarchitektur und dessen Optimierung hinausgeht

Fast jedes Unternehmen, egal ob etablierter Konzern oder aufstrebendes Start-up, setzt sich heutzutage mit Künstlicher Intelligenz ernsthaft auseinander. Ein Grund für die Welle der Begeisterung ist eng mit dem Aufstreben von Deep Learning verbunden, dessen größter Durchbruch wohl 2012 mit dem Beitrag von Alex Krizhevsky zur berühmten ImageNet Challenge gelang. Sein „AlexNet“ konnte durch den Einsatz von Deep Learning alle anderen Wettbewerber übertreffen, die sich auf traditionelle Machine-Learning-Methoden verließen. Der folgende Lebenszyklus eines Deep-Learning-Modells soll Ingenieuren helfen, in der Entwicklung von Deep-Learning-Lösungen keine wesentlichen Schritte außer Acht zu lassen.

Eine Darstellung des Lebenszyklus von Deep-Learning-Modellen bei Luminovo
Eine Darstellung des Lebenszyklus von Deep-Learning-Modellen bei Luminovo (Bild: Luminovo)

Data Sourcing

Der erste Schritt zu jeder Deep-Learning-Anwendung ist die Beschaffung der richtigen Daten. Im Idealfall stehen schon historische Daten zur Verfügung, die leicht zugänglich sind. Manchmal muss man jedoch nach Open-Source-Datensätzen suchen, im Internet Daten scrapen, Datensätze kaufen oder einen simulierten Datensatz verwenden. Auch Webseiten wie Googles Dataset Search oder Fast.ai Datasets können bei der Suche nach den richtigen Daten Abhilfe schaffen.

Data Labeling

Die meisten Supervised-Deep-Learning-Anwendungen befassen sich mit Bildern, Videos, Texten oder Audio. Bevor sie ihr Modell trainieren, müssen Menschen diese Rohdaten mit den richtigen Annotationen („Labels“) versehen – eine kostenintensive und zeitaufwendige Aufgabe. In einem idealen Setup ist dieser Prozess mit dem Training und der Bereitstellung von Modellen verstrickt und versucht, ihre trainierten Deep-Learning-Modelle für den Label-Prozess zu nutzen.

Data Versioning

Je mehr sich die Datensätze im Laufe der Zeit verändern (wenn zum Beispiel eine Feedback Loop zwischen Labeling und Training aufgebaut wurde und laufend neue Labels hinzugefügt werden), desto wichtiger wird es, die verschiedenen Versionen der Datensätze zu speichern, um die Reproduzierbarkeit der Experimente zu garantieren.

Scaling Hardware

Der Zugriff auf die richtige Hardware ist sowohl für das Training des Modells als auch für ein Deployment der trainierten Modelle relevant. Wenn während des Modelltrainings von der lokalen Entwicklung zu groß angelegten Experimenten übergegangen wird, muss die Hardware entsprechend skalierbar sein. Das Gleiche gilt für die Skalierung entsprechend der Nutzer-Nachfrage.

Model Architecture

Um mit dem Training des Modells zu beginnen, muss die Modellarchitektur des neuronalen Netzwerks ausgewählt werden. Wenn ein Standardproblem auftritt – z. B. das Erkennen von Katzen in Bildern – bedeutet das oft nicht mehr, als das Kopieren der neuesten verfügbaren Architektur aus einem Open-Source-GitHub-Archiv. Nur gelegentlich müssen die Hände schmutzig gemacht werden und die Architektur des Modells optimiert werden, um die Leistung des Netzwerkes noch weiter zu verbessern. Mit neueren Ansätzen wie Neural Architecture Search (NAS) wird die Wahl der richtigen Modellarchitektur immer stärker mit der „Model-Training“-Phase verschmolzen, aber – Stand 2018 – ist die marginale Leistungssteigerung von NAS für die meisten Anwendungen noch nicht die zusätzlichen Rechenkosten wert.

Wenn Leute an die Programmierung von Deep-Learning-Anwendungen denken, werden sie häufig genau diesen Schritt im Kopf haben. Doch dies ist es nur einer von vielen Schritten und oft nicht der wichtigste.

Model Training

Während des Model Trainings werden die annotierten Daten dem neuronalen Netzwerk zur Verfügung gestellt. Darauf folgt das iterative Aktualisieren der Modellgewichte, um die Performance auf dem Trainingsset zu maximieren. Nachdem eine Metrik ausgewählt wurde (siehe Model Evaluation), kann das Modell mit vielen verschiedenen Hyperparametern z. B. der Kombinationen aus Lernrate, Modellarchitektur und Preprocessing-Schritten in einem Prozess trainiert werden, der als Hyperparameter-Tuning bezeichnet wird.

Model Evaluation

Es würde keinen Sinn ergeben, ein neuronales Netzwerk zu trainieren, wenn man nicht zwischen einem guten und einem schlechten Modell unterscheiden könnte. Während der Modellauswertung wird in der Regel eine Kennzahl zur Optimierung ausgewählt. Für diese Metrik wird versucht, das leistungsstärkste Modell zu finden, das seine Vorhersagen von den Trainingsdaten zu den Validierungsdaten verallgemeinern kann. Dazu gehört eine Übersicht der verschiedenen Experimente (mit möglicherweise unterschiedlichen Hyperparametern, Architekturen und Datensätzen) und deren Performance-Metriken zu behalten, und die Ergebnisse der einzelnen Experimente zu visualisieren und untereinander zu vergleichen. Ohne die richtigen Tools kann dies schnell in großer Verwirrung enden, besonders wenn mit mehreren Ingenieuren an derselben Deep Learning Pipeline zusammengearbeitet wird.

Model Versioning

Ein kleiner, aber dennoch erwähnenswerter Schritt zwischen der endgültigen Model Evaluation und dem Deployment ist das Speichern der verschiedenen Versionen des Modells. Dies ermöglicht, ganz einfach zu einer Modellversion zurückzukehren, die gut funktioniert hat, wenn festgestellt wird, dass die neueste Version nicht den Erwartungen entspricht.

Model Deployment

Wenn eine Version des Modells vorliegt, welches veröffentlicht werden soll, muss es so bereitgestellt werden, dass die Nutzer (dies können Personen oder andere Anwendungen sein) mit dem Modell interagieren können. Für gewöhnlich wird eine API definiert, an die die Nutzer Anfragen senden können und im Gegenzug Vorhersagen des Modells zurück bekommen. Im Idealfall unterstützt das dazu genutzte Tool die Möglichkeit eines graduellen Umschaltens zu einer neuen Modellversion, sodass die Performance eines neuen Modells früh evaluiert werden kann.

Prediction Monitoring

Sobald das Modell implementiert ist, ist ein wachsames Auge auf die Vorhersagen wichtig, damit man frühzeitig informiert werden kann, falls sich die Datenverteilungen verschiebt und die Leistung beeinträchtigt wird, um zu verhindern, dass die Nutzer bald an die Tür klopfen und sich über den Service beschweren.

Wie realitätsnah ist der Deep-Learning-Lebenszyklus?

Das Flussdiagramm des Deep-Learning-Lebenszyklus deutet bereits auf den kreisförmigen Charakter des typischen Deep Learning Workflows hin. Tatsächlich kann die Feedbackschleife zwischen eingesetzten Modellen und neuen Labels (oft als Human-in-the-Loop bezeichnet) im Deep Learning Workflow einer der wichtigsten Erfolgsfaktoren für viele Anwendungen sein. In der Praxis sind die Dinge jedoch oft komplizierter, als das Flussdiagramm vermuten lässt. Sie werden feststellen, dass Sie Schritte überspringen (z. B. wenn Sie mit einem bereits annotierten Datensatz arbeiten), mehrere Schritte zurückgehen (z. B. wenn die Modellleistung nicht präzise genug ist und Sie mehr Daten brauchen) oder in noch komplizierteren Mustern zwischen verschiedenen Schritten hin und her springen.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45860820 / Künstliche Intelligenz)