Deep Learning Toolbox

Deep Learning-Netze entwickeln, trainieren und analysieren

Die Deep Learning Toolbox™ bietet einen Rahmen für den Entwicklung und  Implementierung tiefer neuronaler Netze mit Algorithmen, vortrainierten Modellen und Apps. Sie können konvolutionäre neurale (ConvNets, CNNs) und LSTM-Netze (Long Short-Term Memory) verwenden, um die Klassifikation und die Regression für Bild-, Zeitreihen- und Textdaten durchzuführen. Sie können Netzwerkarchitekturen wie z.B. generative gegnerische Netze (GANs) und Siamesische Netze mit automatischer Differenzierung, benutzerdefinierten Trainingsschleifen und gemeinsamen Gewichten aufbauen. Mit der Deep Network Designer-App können Sie Netzwerke grafisch entwerfen, analysieren und trainieren. Die Experiment Manager-App hilft Ihnen, mehrere Deep Learning-Experimente zu verwalten, Trainingsparameter zu verfolgen, Ergebnisse zu analysieren und Code aus verschiedenen Experimenten zu vergleichen. Sie können Ebenenaktivierungen visualisieren und den Trainingsfortschritt grafisch überwachen.

Sie können Modelle im ONNX-Format mit TensorFlow™ und PyTorch austauschen sowie Modelle aus TensorFlow-Keras und Caffe importieren. Die Toolbox unterstützt das Transfer-Lernen mit DarkNet-53, ResNet-50, NASNet, SqueezeNet und vielen anderen vortrainierten Modellen.

Sie können das Training auf einer Einzel- oder Mehrfach-GPU-Workstation beschleunigen (mit Parallel Computing Toolbox™) oder auf Cluster und Clouds hochskalieren, einschließlich NVIDIA® GPU Cloud und Amazon EC2® GPU-Instanzen (mit MATLAB Parallel Server™).

Erste Schritte:

Netze und Architekturen

Trainieren Sie Deep Learning-Netze für Klassifikation, Regression und Feature-Lernen an Bild-, Zeitreihen- und Textdaten.

Konvolutionäre neuronale Netze

Erlernen Sie Muster in Bildern, um Objekte, Gesichter und Szenen zu erkennen. Erstellen und trainieren Sie konvolutionäre neuronale Netze (CNNs) für die Merkmalsextraktion und Bilderkennung.

LSTM-Netze (Long Short-Term Memory)

Lernen Sie langfristige Abhängigkeiten in Sequenzdaten, einschließlich Signal-, Audio-, Text- und anderen Zeitreihendaten. Erstellen und trainieren Sie LSTM-Netze (Long Short-Term Memory), um Klassifikations- und Regressionsaufgaben durchzuführen. 

Arbeiten mit LSTMs.

Netzarchitekturen

Verwenden Sie verschiedene Netzstrukturen wie gerichtete azyklische Graphen (DAGs) und rekurrente Architekturen, um Ihr Deep-Learning-Netz zu erstellen. Erstellen Sie komplexere Netzarchitekturen, wie Generative Adversarial Networks (GANs) und Siamesische Netze, indem Sie benutzerdefinierte Trainings-Schleifen, gemeinsame Gewichte und die automatische Differenzierung verwenden.

Arbeiten mit unterschiedlichen Netzarchitekturen.

Entwurf und Analyse von Netzen

Erstellen, visualisieren, experimentieren und analysieren Sie Deep Learning-Netze mit interaktiven Anwendungen.

Entwerfen von Deep-Learning-Netzen

Erstellen und trainieren Sie ein tiefes Netz von Grund auf mit der Deep Network Designer-App. Importieren Sie ein vortrainiertes Modell, visualisieren Sie die Netzstruktur, bearbeiten Sie die Schichten, stimmen Sie die Parameter ab und trainieren Sie.

Analysieren von Deep-Learning-Netzen

Analysieren Sie Ihre Netzarchitektur, um Fehler, Warnungen und Probleme der Kompatibilität verbundener Schichten vor dem Training zu erkennen und zu debuggen. Visualisieren Sie die Netztopologie und sehen Sie sich Details wie lernbare Parameter und Aktivierungen an.

Analysieren einer Deep-Learning-Netzarchitektur.

Verwalten Sie Deep Learning-Experimente

Verwalten Sie mehrere Deep Learning-Experimente mit der Experiment-Manager-App. Verfolgen Sie die Trainingsparameter, analysieren Sie die Ergebnisse und vergleichen Sie Code aus verschiedenen Experimenten. Verwenden Sie Visualisierungswerkzeuge wie z.B. Trainingsdiagramme und Verwirrungsmatrizen, sortieren und filtern Sie Versuchsergebnisse und definieren Sie benutzerdefinierte Metriken, um trainierte Modelle zu bewerten.

Entwerfen und führen Sie Experimente durch, um tiefe Lernnetze zu trainieren und zu vergleichen.

Transfer Learning und vortrainierte Modelle

Importieren Sie vortrainierte Modelle zur Inferenz in MATLAB.

Transfer Learning

Greifen Sie auf vortrainierte Netze zu und nutzen Sie diese als Ausgangspunkt, um eine neue Aufgabe zu erlernen. Führen Sie Transfer-Lernen durch, um die gelernten Funktionen im Netz für eine bestimmte Aufgabe zu nutzen.

Vortrainierte Modelle

Zugriff auf vortrainierte Netze aus der neuesten Forschung mit einer einzigen Zeile Code. Importieren Sie vortrainierte Modelle, einschließlich DarkNet-53, ResNet-50, SqueezeNet, NASNet und Inception-v3.

Analyse von vortrainierten Modellen.

Visualisierung und Debugging

Visualisieren Sie den Trainingsfortschritt und die Aktivierung der gelernten Funktionen in einem Deep-Learning-Netz.

Trainingsfortschritt

Sehen Sie sich den Trainingsfortschritt in jeder Iteration mithilfe von Diagrammen für verschiedene Metriken an. Zeichnen Sie Validierungsmetriken gegen Trainingsmetriken auf, um zu sehen, ob das Netzwerk überdimensioniert ist

Überwachen des Trainingsfortschritts Ihres Modells.

Netzaktivierungen

Extrahieren Sie Aktivierungen, die zu einer Ebene gehören, visualisieren Sie gelernte Funktionen, und trainieren Sie einen Klassifikator für maschinelles Lernen anhand der Aktivierungen. Verwenden Sie den Grad-CAM-Ansatz, um zu verstehen, warum ein Deep-Learning-Netz seine Klassifikationsentscheidungen trifft.

Visualisieren von Aktivierungen.

Interoperabilität mit anderen Frameworks

Nutzen Sie die Interoperabilität mit Deep-Learning-Frameworks von MATLAB.

ONNX-Konverter

Importieren und exportieren Sie ONNX-Modelle innerhalb von MATLAB® , um die Kompatibilität mit anderen Deep Learning-Frameworks zu gewährleisten. Mit ONNX können Modelle in einem Framework trainiert und dann für die Inferenz in ein anderes übertragen werden. Verwenden Sie den  GPU Coder™ , um optimierten NVIDIA® CUDA® Code zu generieren, und verwenden Sie MATLAB Coder™, um C++ Code für das importierte Modell zu generieren.

Interoperabilität mit Deep-Learning-Frameworks.

Importfunktion für TensorFlow-Keras

Importieren Sie Modelle aus TensorFlow-Keras in MATLAB, um sie für die Inferenz und das Transfer Learning zu nutzen. Verwenden Sie den  GPU Coder , um optimierten CUDA-Code zu generieren, und den  MATLAB Coder , um C++-Code für das importierte Modell zu generieren.

Importfunktion für Caffe

Importieren Sie Modelle aus Caffe Model Zoo in MATLAB, um sie für die Inferenz und das Transfer Learning zu nutzen.

Importieren von Modellen aus Caffe Model Zoo in MATLAB.

Beschleunigung des Trainings

Beschleunigen Sie das Training für Deep Learning mithilfe von GPU-, Cloud- und verteiltem Rechnen. 

GPU-Beschleunigung

Beschleunigen Sie das Training für Deep Learning und die Inferenz mit leistungsstarken NVIDIA-GPUs. Führen Sie das Training auf einer einzelnen GPU Ihrer Workstation durch, oder skalieren Sie es mit DGX-Systemen in Rechenzentren oder in der Cloud auf mehrere GPUs. Sie können MATLAB mit der Parallel Computing Toolbox und den meisten CUDA-fähigen NVIDIA-GPUs mit Rechenleistung 3.0 oder höher verwenden.

Beschleunigung mit GPUs.

Cloud-Beschleunigung

Verringern Sie den Zeitaufwand für das Training für Deep Learning mithilfe von Cloud-Instanzen. Verwenden Sie leistungsstarke GPU-Instanzen für beste Ergebnisse.

Beschleunigen des Trainings in der Cloud mit der Parallel Computing Toolbox und MATLAB Parallel Server.

Verteiltes Rechnen

Führen Sie das Training für Deep Learning auf mehreren Prozessoren auf mehreren Servern in einem Netzwerk mit MATLAB Parallel Server durch.

Hochskalieren von Deep Learning durch Parallelisierung und in der Cloud.

Codegenerierung und -bereitstellung

Setzen Sie trainierte Netze für eingebettete Systeme ein oder integrieren Sie diese in Produktionsumgebungen.

Code-Generierung

Verwenden Sie den GPU Coder, um aus MATLAB-Code optimierten CUDA-Code für Deep Learning, eingebettetes Sehen und autonome Systeme zu generieren. Verwenden Sie den MATLAB Coder zur Erzeugung von C++Code, um Deep Learning-Netze für Intel® Xeon® und ARM® Cortex®-A-Prozessoren bereitzustellen. Automatisieren Sie die wechselseitige Kompilierung und Bereitstellung des generierten Codes auf den Plattformen NVIDIA Jetson™ und DRIVE™ sowie auf den Boards von Raspberry Pi™.

Bereitstellen von Standalone-Anwendungen

Verwenden Sie MATLAB Compiler™ und MATLAB Compiler SDK™, um geschulte Netze als gemeinsam genutzte C++Bibliotheken, Microsoft® .NET-Assemblies, Java®-Klassen und Python®-Pakete aus MATLAB-Programmen mit tiefgehenden Lernmodellen bereitzustellen.

Weitergeben eigenständiger MATLAB-Programme mit dem MATLAB Compiler.

Quantisierung von Deep Learning

Quantisieren Sie Ihr Deep Learning-Netzwerk nach INT8 und analysieren Sie den Kompromiss hinsichtlich der Genauigkeit der Quantisierung der Gewichte und Verzerrungen ausgewählter Schichten mit Hilfe des Unterstützungspakets der Modellquantisierungsbibliothek.

Flache neuronale Netze

Verwenden Sie neuronale Netze mit einer Reihe unterschiedlicher Architekturen für überwachtes und unüberwachtes Lernen.

Überwachtes Lernen

Trainieren Sie flache neuronale Netze, um dynamische Systeme zu modellieren und zu steuern, verrauschte Daten zu klassifizieren und zukünftige Ereignisse vorherzusagen. 

Flaches neuronales Netz.

Unüberwachtes Lernen

Finden Sie Beziehungen innerhalb von Daten, und definieren Sie automatisch Klassifikationsschemas, wobei sich das Netz ständig den neuen Eingaben anpasst. Verwenden Sie selbstorganisierende Netze für unüberwachtes Lernen sowie Competitive-Layers und selbstorganisierende Karten.

Selbstorganisierende Karte.

Geschichtete Auto-Encoder

Führen Sie eine unüberwachte Merkmalstransformation durch, indem Sie niedrigdimensionale Merkmale mithilfe von Auto-Encodern aus Ihrem Datensatz extrahieren. Sie können außerdem geschichtete Auto-Encoder für das überwachte Lernen verwenden, indem Sie mehrere Encoder trainieren und schichten.

Gestapelter Encoder.

Neueste Funktionen

Experiment Manager App

Verwalten mehrerer Deep-Learning-Experimente, Verfolgen der Trainingsparameter sowie Analysieren und Vergleichen von Ergebnissen und Code

Deep Network Designer-App

Interaktives Trainieren von Netzen für die Bildklassifizierung, Generieren von MATLAB-Code für das Training sowie Zugriff auf vorab trainierte Modelle

Benutzerdefinierte Trainingsschleifen

Trainieren von Netzen mit mehreren Inputs/Outputs oder 3D-CNN-Ebenen

Deep-Learning-Beispiele

Trainieren von Netzen für die Bilderfassung durch Aufmerksamkeit und Trainieren bedingter GANs mit Daten-Labels und Attributen

Vortrainierte Netze

Transfer Learning mit DarkNet-19 und DarkNet-53

ONNX-Unterstützung

Import von Netzen mit mehreren Inputs/Outputs mit der Konvertierungsfunktion für ONNX-Modelle

Flexibilität für das Training

Festlegen benutzerdefinierter Umkehrfunktionen für individuelle Trainingsschleifen

In den Versionshinweisen finden Sie Einzelheiten zu jedem dieser Merkmale und den entsprechenden Funktionen.

MATLAB für Deep Learning

Mit nur wenigen Zeilen MATLAB-Code können Sie Deep Learning-Techniken auf Ihre Arbeit anwenden, egal ob Sie Algorithmen entwerfen, Daten vorbereiten und kennzeichnen oder Code generieren und in eingebetteten Systemen einsetzen.