Deep Learning Toolbox

Diseño, entrenamiento y análisis de redes de deep learning

Deep Learning Toolbox™ proporciona un marco para diseñar e implementar redes neuronales profundas con algoritmos, modelos previamente entrenados y apps. Puede utilizar redes neuronales convolucionales (ConvNet y CNN) y redes de memoria de corto-largo plazo (LSTM) para realizar la clasificación y la regresión en imágenes, series temporales y datos de texto. Es posible crear arquitecturas de red como redes generativas antagónicas (GAN) y redes siamesas mediante diferenciación automática, bucles de entrenamiento personalizados y pesos compartidos. Con la app Deep Network Designer, puede diseñar, analizar y entrenar redes gráficamente. La app Experiment Manager ayuda a gestionar varios experimentos de deep learning, realizar un seguimiento de los parámetros de entrenamiento, analizar resultados y comparar código de diferentes experimentos. Puede visualizar las activaciones de capas y supervisar gráficamente el progreso del entrenamiento.

Puede intercambiar modelos con TensorFlow™ y PyTorch a través del formato ONNX e importar modelos de TensorFlow-Keras y Caffe. La toolbox soporta la transferencia de aprendizaje con DarkNet-53, ResNet-50, NASNet, SqueezeNet y muchos otros modelos previamente entrenados.

Puede acelerar el entrenamiento en una estación de trabajo con una o varias GPU (con Parallel Computing Toolbox™) o ampliar el alcance a clusters y nubes, incluidas las instancias de GPU de NVIDIA® GPU Cloud y Amazon EC2® (con MATLAB Parallel Server™).

Cómo empezar:

Redes y arquitecturas

Entrene redes de deep learning para clasificación, regresión y aprendizaje de funcionalidades en imágenes, series temporales y datos de texto.

Redes neuronales convolucionales

Descubra patrones en imágenes para reconocer objetos, caras y escenas. Construya y entrene redes neuronales convolucionales (CNN) para realizar la extracción de funcionalidades y el reconocimiento de imágenes.

Redes de memoria de corto-largo plazo

Realice el aprendizaje de dependencias de corto-largo plazo en datos secuenciales, incluidos datos de señales, audio, texto y otras series temporales. Cree y entrene redes de memoria de corto-largo plazo (LSTM) para realizar tareas de clasificación y regresión.

Trabajo con redes LSTM.

Arquitecturas de red

Utilice diversas estructuras de red, como grafo acíclico dirigido (DAG) y arquitecturas recurrentes, para crear su red de deep learning. Cree arquitecturas de red avanzadas, como redes generativas antagónicas (GAN) y redes siamesas mediante bucles de entrenamiento personalizados, pesos compartidos y diferenciación automática.

Trabajo con distintas arquitecturas de red.

Diseño y análisis de redes

Cree, visualice, experimente y analice redes de deep learning utilizando apps interactivas.

Diseño de redes de deep learning

Cree y entrene una red profunda desde cero con la app Deep Network Designer. Importe un modelo previamente entrenado, visualice la estructura de red, edite las capas, ajuste los parámetros y realice el entrenamiento.

Análisis de redes de deep learning

Analice la arquitectura de su red para detectar y depurar errores, advertencias y problemas de compatibilidad de capas antes del entrenamiento. Visualice la topología de la red y detalles tales como las activaciones y los parámetros que se pueden aprender.

Análisis de la arquitectura de una red de deep learning.

Administración de experimentos de deep learning

Administre varios experimentos de deep learning con la app Experiment Manager. Realice un seguimiento de los parámetros de entrenamiento, analice los resultados y compare el código de diferentes experimentos. Utilice herramientas de visualización como diagramas de entrenamiento y matrices de confusión, ordene y filtre los resultados de los experimentos y defina métricas personalizadas para evaluar los modelos entrenados.

Diseñe y ejecute experimentos para entrenar y comparar redes de deep learning.

Transferencia del aprendizaje y modelos previamente entrenados

Importe modelos previamente entrenados en MATLAB para la inferencia.

Transferencia del aprendizaje

Acceda a redes previamente entrenadas y utilícelas como punto de partida para aprender una nueva tarea. Realice la transferencia del aprendizaje para utilizar las funcionalidades aprendidas en la red para una tarea específica.

Modelos previamente entrenados

Acceda a redes previamente entrenadas basadas en las investigaciones más recientes con una sola línea de código. Importe modelos previamente entrenados, incluidos DarkNet-53, ResNet-50, SqueezeNet, NASNet e Inception-v3.

Análisis de modelos previamente entrenados.

Visualización y depuración

Visualice el progreso del entrenamiento y las activaciones de las funcionalidades aprendidas en una red de deep learning.

Progreso del entrenamiento

Vea el progreso del entrenamiento en cada iteración con diagramas de diversas métricas. Represente gráficamente las métricas de validación con respecto a las métricas de entrenamiento para comprobar si la red presenta sobreajuste.

Supervisión del progreso del entrenamiento de su modelo.

Activaciones de red

Extraiga las activaciones correspondientes a una capa, visualice las funcionalidades aprendidas y entrene un clasificador de machine learning con las activaciones. Utilice el enfoque Grad-CAM para entender por qué una red de deep learning toma decisiones de clasificación.

Visualización de activaciones.

Interoperabilidad con otros marcos

Opere interactivamente con marcos de deep learning desde MATLAB.

Conversor de ONNX

Importe y exporte modelos ONNX en MATLAB® para permitir la interoperabilidad con otros marcos de deep learning. ONNX permite entrenar modelos en un marco y transferirlos a otro para la inferencia. Utilice GPU Coder™ para generar código CUDA® optimizado para NVIDIA®, y MATLAB Coder™ para generar código C++ para el modelo importado.l.

Interoperabilidad con marcos de deep learning.

Importador de TensorFlow-Keras

Importe modelos desde TensorFlow-Keras a MATLAB para las tareas de inferencia y transferencia del aprendizaje. Utilice GPU Coder para generar código CUDA optimizado y MATLAB Coder para generar código C/C++ para el modelo importado.

Importador de Caffe

Importe modelos desde Caffe Model Zoo a MATLAB para las tareas de inferencia y transferencia del aprendizaje.

Importación de modelos de Caffe Model Zoo en MATLAB.

Aceleración del entrenamiento

Acelere el entrenamiento de deep learning mediante el cálculo con GPU, en la nube y distribuido. 

Aceleración por GPU

Acelere la inferencia y el entrenamiento de deep learning con GPU NVIDIA de alto rendimiento. Realice el entrenamiento en una sola GPU de estación de trabajo o amplíe a varias GPU con sistemas DGX en centros de datos o en la nube. Puede utilizar MATLAB con Parallel Computing Toolbox y la mayoría de GPU NVIDIA habilitadas para CUDA con una capacidad de cálculo 3.0 o superior.

Aceleración con GPU.

Aceleración en la nube

Reduzca el tiempo de entrenamiento de deep learning con instancias en la nube. Utilice instancias de GPU de alto rendimiento para obtener los mejores resultados.

Aceleración del entrenamiento en la nube con Parallel Computing Toolbox y MATLAB Parallel Server.

Cálculo distribuido

Realice el entrenamiento de deep learning en varios procesadores de diversos servidores de una red mediante MATLAB Parallel Server.

Ampliación de deep learning en paralelo y en la nube.

Generación y despliegue de código

Despliegue redes entrenadas en sistemas embebidos o intégrelas en entornos de producción.

Simulation

Simulate and generate code for deep learning networks in Simulink®. Use AlexNet, GoogLeNet and other pretrained models.  You can also simulate networks created from scratch or through transfer learning, including LSTM networks. Speed up the execution of your deep learning network in Simulink using GPU Coder and NVIDIA GPUs. Simulate deep learning networks with control, signal processing, and sensor fusion components to assess the impact of your deep learning model on system-level performance.

Deep convolutional neural networks inside a Simulink® model for perform lane and vehicle detection

Generación de código

Utilice GPU Coder para generar código CUDA optimizado a partir de código de MATLAB para deep learning, visión embebida y sistemas autónomos. Utilice MATLAB Coder para generar código C/C++ y desplegar redes de deep learning en procesadores Intel® Xeon® y ARM® Cortex®-A. Automatice la compilación cruzada y el despliegue de código generado en las plataformas NVIDIA Jetson™ y DRIVE™, así como en las placas Raspberry Pi™.

Cuantización de deep learning

Cuantice su red de deep learning para INT8 y analice el tradeoff con respecto a la precisión de cuantizar los pesos y sesgos de las capas seleccionadas utilizando el paquete de soporte de Model Quantization Library.

Despliegue de aplicaciones independientes

Utilice MATLAB Compiler™ y MATLAB Compiler SDK™ para desplegar redes entrenadas como librerías C/C++ compartidas, ensamblados Microsoft®.NET, clases de Java® y paquetes de Python® desde programas de MATLAB con modelos de deep learning.

Uso compartido de programas de MATLAB independientes con MATLAB Compiler.

Redes neuronales superficiales

Utilice redes neuronales con una amplia gama de arquitecturas de redes neuronales superficiales supervisadas y no supervisadas.

Redes supervisadas

Entrene redes neuronales superficiales supervisadas para modelar y controlar sistemas dinámicos, clasificar datos con ruido y predecir eventos futuros. 

Red neural superficial.

Redes no supervisadas

Encuentre correspondencias entre los datos y defina de forma automática los esquemas de clasificación dejando que la red superficial se ajuste continuamente en función de las entradas nuevas. Utilice redes con organización automática y sin supervisión, así como capas competitivas y mapas con organización automática.

Mapa con organización automática.

Autocodificadores apilados

Realice transformación de funcionalidades no supervisada a través de la extracción de funcionalidades de baja dimensión de sus conjuntos de datos mediante autocodificadores. También puede utilizar autocodificadores apilados para el aprendizaje supervisado a través del entrenamiento y el apilamiento de varios codificadores.

Codificador apilado.

Funcionalidades más recientes

App Experiment Manager

Gestione varios experimentos de deep learning, haga un seguimiento de los parámetros de entrenamiento y analice y compare los resultados y el código.

App Deep Network Designer

Entrene interactivamente una red para la clasificación de imágenes, genere código de MATLAB para el entrenamiento y acceda a modelos previamente entrenados.

Bucles de entrenamiento personalizados

Entrene redes con varias entradas y salidas o capas CNN 3D.

Ejemplos de deep learning

Entrene redes de subtitulado de imágenes usando la atención y entrene GAN condicionales usando etiquetas y atributos de datos.

Redes previamente entrenadas

Lleve a cabo la transferencia del aprendizaje con DarkNet-19 y DarkNet-53.

Soporte para ONNX

Importe redes con varias entradas o salidas usando el convertidor de modelos ONNX.

Flexibilidad de entrenamiento

Especifique funciones de retroceso de capa personalizada para bucles de entrenamiento personalizados.

Consulte las notas de la versión para obtener detalles sobre estas funcionalidades y las funciones correspondientes.

MATLAB para deep learning

Con tan solo unas pocas líneas de código de MATLAB, puede aplicar técnicas de deep learning a su trabajo, tanto si diseña algoritmos como si prepara y etiqueta datos o genera código y lo despliega en sistemas embebidos.