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™).
Jetzt beginnen:
MATLAB EXPO 2021
May 4–5 | Online
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
Simulation
Simulieren und generieren Sie Code für Deep Learning-Netzwerke in Simulink®. Verwenden Sie AlexNet, GoogLeNet und andere bereits trainierte Modelle. Sie können sowohl Netzwerke simulieren, die völlig neu oder durch Transfer Learning erstellt wurden als auch LSTM Netzwerke. Beschleunigen Sie die Ausführung Ihres Deep Learning-Netzwerks in Simulink mithilfe von GPU Coder und NVIDIA-Grafikkarten. Simulieren Sie Deep Learning-Netzwerke mit Regelungs-, Signalverarbeitungs- und Sensor-Fusion-Komponenten zur Bewertung der Auswirkungen Ihres Deep Learning-Modells auf die Performance auf Systemebene.
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™.
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.
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.
Überwachtes Lernen
Trainieren Sie flache neuronale Netze, um dynamische Systeme zu modellieren und zu steuern, verrauschte Daten zu klassifizieren und zukünftige Ereignisse vorherzusagen.
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.
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.