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, ainsi que sur des données d'images et de séries temporelles. Les applications et les tracés vous permettent de visualiser des activations, modifier des architectures réseau et surveiller l'apprentissage.
Pour les petits jeux d'apprentissage, vous pouvez effectuer un apprentissage par transfert à l'aide de modèles préentraînés de réseau profond (SqueezeNet, Inception-v3, ResNet-101, GoogLeNet, VGG-19, etc.) et de modèles importés à partir de TensorFlow™-Keras et Caffe.
Pour accélérer le processus d'apprentissage sur les jeux de données volumineux, vous pouvez distribuer les calculs et les données sur des GPU et des processeurs multicœurs sur un PC (grâce à la Parallel Computing Toolbox™), ou étendre votre utilisation à des clusters et des clouds, tels que les instances GPU Amazon EC2® P2, P3 et G3 (à l'aide de MATLAB Distributed Computing Server™).
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 ainsi que des données d'image 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 de signal, d'audio, de texte et de série temporelle. Créez et entraînez des réseaux LSTM (Long Short-Term Memory) pour effectuer des opérations de classification et de régression.
Architectures réseau
Utilisez différentes structures de réseau telles que des architectures à séries, DAG (Directed Acyclic Graph) et récurrentes pour créer votre réseau de Deep Learning. Les architectures DAG proposent un plus grand nombre de topologies réseau, y compris celles à couches omises ou connectées en parallèle.
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 deDeep Learning
Analysez votre architecture réseau afin de détecter et déboguer les erreurs, les avertissements et les problèmes de compatibilité avant la phase d'apprentissage. Visualisez la topologie apprentissage du réseau et consultez des détails tels que les paramètres et activations entraînables.
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
L'apprentissage par transfert est couramment utilisé dans les applications de Deep Learning. Accédez à un réseau préentraîné et utilisez-le 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 modèles les plus récents issus de la recherche à l'aide d'une seule ligne de code. Importez des modèles préentraînés tels qu'AlexNet, GoogLeNet, VGG-16, VGG-19, ResNet-101, Inception-v3 et SqueezeNet. Consultez la section Modèles préentraînés pour obtenir la liste complète des modèles disponibles.
Visualisation
Visualisez les topologies du réseau, la progression de l'apprentissage et les activations des caractéristiques apprises dans un réseau de Deep Learning.
Visualisation d'un réseau
Visualisez la topologie d'un réseau, avec ses couches et ses connexions. Utilisez la fonction analyzeNetwork
pour analyser l'architecture du réseau de façon interactive.
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 déterminer visuellement si un surajustement a lieu au niveau du réseau.
Activations d'un réseau
Extrayez les activations correspondant à une couche, visualisez les caractéristiques apprises et entraînez un classificateur deMachine Learning à l'aide des activations. Utilisez la fonction deepDreamImage
pour comprendre et diagnostiquer le comportement d'un réseau en synthétisant les images qui activent fortement les couches du réseau et en mettant en évidence les caractéristiques apprises.
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 environnement de Deep Learning. ONNX permet d'entraîner des modèles dans un environnements et de les transférer dans un autre à des fins d'inférence.
Fonctionnalité d'importation Tensorflow-Keras
Importez des modèles à partir de TensorFlow-Keras dans MATLAB à des fins d'inférence et d'apprentissage par transfert à l'aide de la fonction importKerasNetwork
.
Fonctionnalité d'importation Caffe
Importez des modèles à partir de Caffe Model Zoo dans MATLAB à des fins d'inférence et d'apprentissage par transfert à l'aide de la fonction importCaffeNetwork
.
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 à l'aide des GPU NVIDIA® haute performance. Vous pouvez effectuer l'apprentissage sur une station de travail à GPU unique ou le déployer sur plusieurs GPU à l'aide de 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 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.
Calcul distribué
Effectuez l'apprentissage du Deep Learning sur plusieurs processeurs et serveurs à l'aide de MATLAB Distributed Computing Server.
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 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/C++ à l'aide de MATLAB Coder™ pour déployer des réseaux de Deep Learning sur des processeurs Intel® Xeon® et ARM® Cortex®-A
Support de MATLAB Compiler
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/C++, assemblages Microsoft® .NET, classes Java® et packages Python® à partir de programmes MATLAB. Vous pouvez également entraîner un modèle de réseau peu profond dans l'application ou le composant déployé.
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éseaux non supervisés
Détectez les relations entre des 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, des couches cachées et des cartes auto-organisatrices.
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.
Nouveautés
Deep Network Designer
Construire des réseaux de Deep Learning et les modifier
Support d' ONNX
Importer des modèles et les exporter à l'aide du format de modèle ONXX pour assurer l'interopérabilité avec d'autres environnements de Deep Learning.
Analyseur de réseau
Visualiser les architectures du réseau, les analyser et y détecter les problèmes avant la phase d'apprentissage
TensorFlow-Keras
Importer des couches LSTM et BiLSTM à partir de TensorFlow-Keras
Réseaux LSTM (Long Short-Term Memory)
Résoudre les problèmes de régression avec les réseaux LSTM et tirer des informations du contexte de séquence complet à l'aide de couches LSTM bidirectionnelles
Optimisation du Deep Learning
Améliorer l'apprentissage des réseaux à l'aide d'Adam, de RMSProp et du techniques de clipping de gradient
Consultez les notes de version pour en savoir plus sur ces fonctionnalités et les fonctions correspondantes.
MATLAB pour le Deep Learning
Concevez, développez et visualisez des réseaux de Deep Learning
Vous avez des questions ?
Contactez Shounak Mitra, expert technique de Deep Learning Toolbox