Deep Learning

Deep Learning mit MATLAB

Deep Learning ist ein Teilgebiet des maschinellen Lernens, welches nützliche Merkmalsrepräsentationen mithilfe von mehrfachen nichtlinearen Verarbeitungsschichten direkt aus Datensätzen ermittelt. Mit Deep-Learning-Modellen können Objekte nach dem neuesten Stand der Technik klassifiziert werden, teilweise genauer als durch menschliche Leistung. Modelle werden mit umfangreichen Sätzen vorklassifizierter Daten und neuronalen Netzwerkarchitekturen mit vielen Schichten trainiert.

Deep Learning lässt sich beispielsweise auf folgende Probleme anwenden:

  • Bildklassifikation
  • Spracherkennung
  • natürliche Sprachverarbeitung

Trainieren eines Deep-Learning-Modells

Die Genauigkeit eines Deep-Learning-Modells hängt stark von der Datenmenge ab, die zum Trainieren des Modells verwendet wird.  Um ein möglichst akkurates Modell zu erstellen, müssen Tausende oder sogar Millionen von Beispielen verwendet werden, was einen langen Trainingsverlauf zur Folge haben kann. Ein fertig trainiertes Deep-Learning-Modell kann in Echtzeitanwendungen wie der Fußgängerdetektion mit fortgeschrittenen Fahrerassistenzsystemen (FAS) eingesetzt werden.

Bildklassifikation mit faltenden neuronalen Netzen

Faltende neuronale Netze (Convolutional Neural Network, CNN) sind bekannte Deep-Learning-Architekturen. Neuronale Netzwerke sind in Schichten aufgebaut, die aus einer Reihe von miteinander verbundenen Knotenpunkten bestehen. Ein CNN faltet erlernte Merkmale mit Eingabedaten, wobei 2D-Faltungsebenen verwendet werden, die diese Architektur zur Verarbeitung von 2D-Daten wie Bildern geeignet macht.

Ein CNN faltet erlernte Merkmale mit Eingabedaten, wobei 2D-Faltungsebenen verwendet werden. Die Architektur ist somit zur Verarbeitung von 2D-Daten wie z.B. Bildern geeignet. Filter werden auf Trainingsbilder in unterschiedlichen Auflösungen angewendet. Das Ergebnis der Faltung jedes Bildes wird als Eingabe für die nächste Schicht verwendet.

Transfer Learning

Zum Trainieren eines CNN werden enorm große Datenmengen benötigt, da für ein typisches Bildklassifikationsproblem Millionen von Gewichten erlernt werden müssen. Eine gängige Alternative zum Trainieren eines CNN von Grund auf ist die Verwendung vortrainierter Modelle, um die Merkmale neuer Datensätze automatisch extrahieren zu können. Diese Methode, die als Transfer Learning bezeichnet wird, stellt eine praktische Möglichkeit dar, Deep Learning ohne überaus große Datensätze und lange Trainingszeiten anwenden zu können.

Ein Vergleich der Komplexität und Genauigkeit neu erstellter CNN und vortrainierter Modelle.

Hardwarebeschleunigung mit GPUs

Das Trainieren eines Deep-Learning-Modells kann viel Zeit – manchmal Tage und Wochen – in Anspruch nehmen. GPU-Beschleunigung kann den Vorgang deutlich verkürzen. Die Verwendung einer GPU verringert die Zeit, die das Trainieren eines Netzwerks erfordert. So kann das Training eines Bildklassifikationsproblems von mehreren Tagen auf nur wenige Stunden reduziert werden.

Die Neural Network Toolbox erfordert das Trainieren Ihres eigenen CNNs von Grund auf oder die Verwendung eines vortrainierten Modells für Transfer Learning.

Weitere Informationen zum Trainieren und zur Verwendung von Deep-Learning-Modellen finden Sie in MATLAB®, Computer Vision System Toolbox™, Statistics and Machine Learning Toolbox™ und Neural Network Toolbox™.



Softwarereferenz

Siehe auch : Machine Learning, Objekterfassung, Objekterkennung, Merkmalsgewinnung, Bilderkennung, Mustererkennung

Deep Learning mit MATLAB