Deep Learning Toolbox

Créer, analyser et entraîner des réseaux de Deep Learning

 

La Deep Learning Toolbox™ (anciennement Neural Network Toolbox™) offre un environnement permettant de concevoir et d'implémenter des réseaux de neurones profonds avec des algorithmes, des modèles préentraînés et des applications. Vous pouvez utiliser des réseaux de neurones à convolution (« ConvNets » ou CNN) et des réseaux LSTM (Long Short-Term Memory) pour effectuer des régressions et des classifications sur des données textuelles, images et de séries temporelles. Vous pouvez créer des architectures de réseau avancées comme des réseaux antagonistes génératifs (GAN) et des réseaux siamois en utilisant des boucles d'apprentissage personnalisées, des pondérations partagées et la différenciation automatique. Les applications et les tracés vous permettent de visualiser les activations, de modifier et d'analyser les architectures de réseau et de surveiller la progression de l'apprentissage.

Vous pouvez échanger des modèles avec TensorFlow™ et PyTorch grâce au format ONNX et importer des modèles depuis TensorFlow-Keras et Caffe. La toolbox supporte l'apprentissage par transfert avec de nombreux modèles préentraînés, parmi lesquels DarkNet-53, ResNet-50, NASNet et SqueezeNet.

Vous pouvez accélérer le processus d'apprentissage sur un poste de travail à un ou plusieurs GPU (grâce à la Parallel Computing Toolbox™), ou étendre votre utilisation à des clusters et des clouds, tels que les instances GPU Amazon EC2® et NVIDIA® GPU Cloud (avec MATLAB Parallel ServerTM).

En savoir plus :

Réseaux et architectures

La Deep Learning Toolbox vous permet d'entraîner des réseaux de Deep Learning pour la classification, la régression et l'apprentissage de caractéristiques sur des données textuelles, images et de séries temporelles.

Réseaux de neurones à convolution, ou CNN

Apprenez des motifs dans des images afin de reconnaître des objets, des visages et des scènes. Créez et entraînez des réseaux de neurones à convolution (CNN) pour effectuer des opérations d'extraction de caractéristiques et de reconnaissance d'images.

Réseaux LSTM (Long Short-Term Memory)

Apprenez les dépendances long-terme dans des données séquentielles, comme par exemple les données issues d’un signal, audio, texte et de séries temporelles. Créez et entraînez des réseaux LSTM (Long Short-Term Memory) pour effectuer des opérations de classification et de régression. 

Utilisation des réseaux LSTM

Architectures réseau

Utilisez différentes structures de réseau telles que des architectures DAG (Directed Acyclic Graph) et récurrentes pour créer votre réseau de Deep Learning. Créez des architectures de réseau avancées comme des réseaux antagonistes génératifs (GAN) et des réseaux siamois en utilisant des boucles d'apprentissage personnalisées, des pondérations partagées et la différenciation automatique.

Utilisation de différentes architectures réseau

Analyse et conception d'un réseau

Créez, modifiez, visualisez et analysez des réseaux de Deep Learning à l'aide d'applications interactives. 

Conception de réseaux de Deep Learning

Créez un réseau profond à partir de zéro à l'aide de l'application Deep Network Designer. Importez un modèle préentraîné, visualisez la structure du réseau, modifiez les couches et réglez les paramètres. 

Analyse de réseaux de Deep Learning

Analysez votre architecture de réseau afin de détecter et déboguer les erreurs et les problèmes de compatibilité avant la phase d'apprentissage. Visualisez la topologie du réseau et consultez des détails tels que les paramètres et activations entraînables.

Analyser l'architecture d'un réseau de Deep Learning

Manage Deep Learning Experiments

Manage multiple deep learning experiments with the Experiment Manager app. Keep track of training parameters, analyze results, and compare code from different experiments. Use visualization tools such as training plots and confusion matrices, sort and filter experiment results, and define custom metrics to evaluate trained models.

Design and run experiments to train and compare deep learning networks.

Apprentissage par transfert et modèles préentraînés

Importez des modèles préentraînés dans MATLAB à des fins d'inférence. 

Apprentissage par transfert

Accédez à des réseaux préentraînés et utilisez-les comme point de départ pour apprendre une nouvelle tâche et transférer rapidement les caractéristiques apprises à une nouvelle tâche en utilisant un plus petit nombre d'images d'apprentissage.

Modèles préentraînés

Accédez aux réseaux préentraînés les plus récents issus de la recherche avec une seule ligne de code. Importez des modèles préentraînés, y compris Inception-v3, SqueezeNet, NASNet et GoogLeNet.

Analyse de modèles de réseau de neurones profond

Visualisation et débogage

Visualisez la progression de l'apprentissage et les activations des caractéristiques apprises dans un réseau de Deep Learning.

Progression de l'apprentissage

Consultez la progression de l'apprentissage à chaque itération à l'aide du tracé de différentes métriques. Affichez la comparaison entre les métriques de validation et les métriques d'apprentissage pour vérifier visuellement si un surajustement a lieu au niveau du réseau.

Surveiller la progression de l'apprentissage de votre modèle

Activations d'un réseau

Extrayez les activations correspondant à une couche, visualisez les caractéristiques apprises et entraînez un classificateur de Machine Learning à l'aide des activations. Utilisez l'approche Grad-CAM pour comprendre pourquoi un réseau de Deep Learning prend ses décisions de classification.

Visualisation des activations

Interopérabilité entre différents environnements

Bénéficiez d'une interopérabilité avec différents environnements de Deep Learning à partir de MATLAB.

Conversion ONNX

Importez et exportez des modèles ONNX dans MATLAB® pour assurer l'interopérabilité avec d'autres environnements de Deep Learning. ONNX permet d'entraîner des modèles dans un environnement et de les transférer dans un autre pour inférence. Avec GPU Coder™, générez du code CUDA optimisé et utilisez MATLAB Coder™ pour générer du code C++ pour le modèle importé.

Interopérabilité avec différents environnements de Deep Learning.

Fonctionnalité d'importation Tensorflow-Keras

Importez des modèles à partir de TensorFlow-Keras dans MATLAB pour des opérations d'inférence et d'apprentissage. Avec GPU Coder, générez du code CUDA optimisé et utilisez MATLAB Coder pour générer du code C++ pour le modèle d'importation.

Fonctionnalité d'importation Caffe

Importez des modèles à partir de Caffe Model Zoo dans MATLAB pour des opérations d'inférence et d'apprentissage.

Importer des modèles à partir de Caffe Model Zoo dans MATLAB

Accélération de l'apprentissage

Accélérez l'apprentissage du Deep Learning à l'aide de GPU, d'un Cloud et de calculs distribués. 

Accélération GPU

Accélérez l'apprentissage et les inférences du Deep Learning avec les GPU NVIDIA haute performance. Effectuez l'apprentissage sur un poste de travail à GPU unique ou déployez l'apprentissage sur plusieurs GPU avec des systèmes DGX dans des datacenters ou sur le cloud. Vous pouvez utiliser MATLAB avec la Parallel Computing Toolbox et la plupart des GPU NVIDIA compatibles CUDA® dotés d'une capacité de calcul 3.0 ou supérieure.

Accélération à l'aide de GPU

Accélération Cloud

Accélérez l'apprentissage du Deep Learning à l'aide d'instances dans le Cloud. Pour obtenir les meilleurs résultats, utilisez des instances GPU haute performance.

Accélération de l'apprentissage dans le Cloud avec Parallel Computing Toolbox et MATLAB Parallel Server.

Augmenter la puissance du Deep Learning avec le calcul parallèle et dans le cloud

Génération et déploiement de code

Déployez des réseaux entraînés sur des systèmes embarqués ou intégrez-les dans un vaste éventail d'environnements de production.

Génération de code

Avec GPU Coder, générez du code CUDA optimisé à partir de code MATLAB pour le Deep Learning, la vision embarquée et les systèmes autonomes. Générez du code C++ à l'aide de MATLAB Coder pour déployer des réseaux de Deep Learning sur des processeurs Intel® Xeon® et ARM® Cortex®-A.

Déploiement d'applications autonomes

MATLAB Compiler™ et MATLAB Compiler SDK™ vous permettent de déployer des réseaux entraînés en tant que bibliothèques partagées C++, assemblages Microsoft® .NET, classes Java® et packages Python® à partir de programmes MATLAB avec des modèles de Deep Learning.

Partage de programmes MATLAB autonomes à l'aide de MATLAB Compiler

Réseaux de neurones peu profonds

Utilisez des réseaux de neurones avec différentes architectures de réseau de neurones peu profond supervisé et non supervisé.

Réseaux supervisés

Entraînez des réseaux de neurones peu profonds supervisés pour modéliser et contrôler des systèmes dynamiques, classifier des données bruitées et prévoir des événements futurs. 

Réseau de neurones peu profonds.

Réseaux non supervisés

Détectez les relations entre les données et définissez automatiquement des modèles de classification en laissant le réseau peu profond s'ajuster continuellement aux nouvelles entrées. Utilisez des réseaux non supervisés, auto-organisés, ainsi que des couches cachées et des cartes auto-organisatrices.

Carte auto-organisatrice.

Auto-encodeurs empilés

Effectuez une transformation de caractéristiques non supervisée en extrayant des caractéristiques de faible dimension à partir de votre jeu de données à l'aide d'auto-encodeurs. Vous pouvez également utiliser des auto-encodeurs empilés à des fins d'apprentissage supervisé en entraînant et empilant plusieurs encodeurs.

Auto-encodeur empilé.

Nouveautés

Application Experiment Manager

gérez plusieurs expériences de Deep Learning, assurez le suivi des paramètres d’apprentissage, analysez et comparez les résultats et le code

Application Deep Network Designer

entraînez interactivement un réseau à la classification des images, générez du code MATLAB pour l’apprentissage et accéder à des modèles préentraînés

Boucles d’apprentissage personnalisées

entraînez des réseaux possédant plusieurs entrées, plusieurs sorties ou des couches CNN 3-D

Exemples de Deep Learning

entraînez des réseaux de sous-titrage d’images en utilisant des modèles d’attention et des réseaux adverses génératifs (GAN) conditionnels en utilisant des données labellisées

Réseaux préentraînés

réalisez un apprentissage par transfert avec DarkNet-19 et DarkNet-53

Support de ONNX

importez des réseaux avec plusieurs entrées ou plusieurs sorties en utilisant l’outil de conversion de modèles ONNX

Flexibilité d’apprentissage

spécifiez les fonctions arrière pour les couches personnalisées pour les boucles d’apprentissage personnalisées

Consultez les notes de version pour en savoir plus sur ces fonctionnalités et les fonctions correspondantes.

MATLAB for Deep Learning

With just a few lines of MATLAB code, you can apply deep learning techniques to your work whether you’re designing algorithms, preparing and labeling data, or generating code and deploying to embedded systems.