Deep Learning Toolbox

Creare, analizzare e addestrare reti di deep learning

 

Deep Learning Toolbox™ (precedentemente noto come Neural Network Toolbox™) fornisce un framework per la progettazione e l’implementazione di reti neurali profonde con algoritmi, modelli pre-addestrati e app. Puoi utilizzare reti neurali convoluzionali (ConvNet, CNN) e reti Long Short-Term Memory (LSTM) per eseguire la classificazione e la regressione su immagini, serie storiche e dati testuali. Puoi costruire architetture di rete avanzate come reti generative avversarie (GAN) e reti siamesi usando cicli di addestramento personalizzati, pesi condivisi e differenziazione automatica. Le app e i grafici ti aiutano a visualizzare le attivazioni, a modificare e analizzare le architetture di rete e a monitorare i progressi dell'addestramento.

Puoi scambiare i modelli con TensorFlow™ e PyTorch attraverso il formato ONNX e importare i modelli da TensorFlow-Keras e Caffe. La toolbox supporta il transfer learning con DarkNet-53, ResNet-50, NASNet, SqueezeNet e molti altri di modelli pre-addestrati.

Puoi velocizzare l’addestramento su workstation con una o più GPU (con Parallel Computing Toolbox™), oppure scalare su cluster e cloud, tra cui istanze di GPU NVIDIA® GPU Cloud e Amazon EC2® (con MATLAB Parallel ServerTM).

Inizia ora:

Reti e architetture

Utilizza Deep Learning Toolbox per addestrare reti di deep learning per la classificazione, la regressione e l’apprendimento di feature su immagini, serie storiche e dati testuali.

Reti neurali convoluzionali

Apprendi i pattern presenti nelle immagini per riconoscere oggetti, volti e scene. Costruisci e addestra le reti neurali convoluzionali (CNN) per eseguire l’estrazione di feature e il riconoscimento delle immagini.

Reti Long Short-Term Memory

Apprendi le dipendenze a lungo termine nei dati sequenziali inclusi i segnali, i dati audio, i dati testuali e altri dati di serie storiche. Costruisci e addestra le reti Long Short-Term Memory (LSTM) per eseguire la classificazione e la regressione. 

Lavorare con LSTM.

Architetture di rete

Utilizza le varie strutture di rete come le Directed Acyclic Graph (DAG) e le architetture ricorrenti per creare la tua rete di deep learning. Costruisci architetture di rete avanzate come reti generative avversarie (GAN) e reti siamesi usando cicli di addestramento personalizzati, pesi condivisi e differenziazione automatica.

Lavorare con diverse architetture di rete.

Progettare e analizzare reti

Crea, modifica, visualizza e analizza reti di deep learning con app interattive. 

Progettare reti di deep learning

Crea una rete profonda da zero utilizzando l’app Deep Network Designer. Importa un modello pre-addestrato, visualizza la struttura della rete, modifica i layer e ottimizza i parametri. 

Analizzare reti di deep learning

Analizza la tua architettura di rete per individuare ed eseguire il debug di errori, avvisi e problemi di compatibilità dei layer prima dell’addestramento. Visualizza la topologia di rete e i dettagli come i parametri assimilabili e le attivazioni.

Analizzare un’architettura di rete di deep learning.

Transfer learning e modelli pre-addestrati

Importa modelli pre-addestrati in MATLAB per inferenza. 

Transfer learning

Accedi alle reti pre-addestrate e usale come punto di partenza per apprendere una nuova attività e trasferire rapidamente le feature apprese a un’attività diversa, utilizzando un numero inferiore di immagini addestrate.

Modelli pre-addestrati

Accedi alle ultime reti pre-addestrate tramite una ricerca con una sola riga di codice. Importa modelli pre-addestrati tra cui Inception-v3, SqueezeNet, NASNet e GoogLeNet.

Analisi di modelli di reti neurali profonde.

Visualizzazione e debug

Visualizza i progressi dell’addestramento e le attivazioni delle feature apprese in una rete di deep learning.

Progresso dell’addestramento

Visualizza i progressi dell’addestramento in ogni iterazione con grafici di varie metriche. Rappresenta le metriche di convalida rispetto a quelle di addestramento per analizzare visivamente l’eventuale overfitting della rete.

Monitorare i progressi dell’addestramento del proprio modello.

Attivazioni di rete

Estrai le attivazioni corrispondenti a un layer, visualizza le feature apprese e addestra un classificatore di machine learning usando le attivazioni. Usa l’approccio Grand-CAM per capire le decisioni di classificazione di una rete di deep learning.

Visualizzare le attivazioni.

Interoperabilità dei framework

Sfrutta l’interoperabilità con i framework di deep learning di MATLAB.

Convertitore ONNX

Importa ed esporta i modelli ONNX in MATLAB® per l’interoperabilità con altri framework di deep learning. ONNX permette di addestrare i modelli in un framework e di trasferirli a un altro per inferenza. Utilizza GPU Coder™ per generare codice CUDA ottimizzato e MATLAB Coder™ per generare codice C++ per il modello di importatore.

Sfruttare l’interoperabilità con i framework di deep learning.

Importatore di modelli da TensorFlow-Keras

Importa i modelli da TensorFlow-Keras in MATLAB per inferenza ed esegui il transfer learning. Utilizza GPU Coder™ per generare codice CUDA ottimizzato e MATLAB Coder™ per generare codice C++ per il modello di importatore.

Importatore di modelli da Caffe

Importa modelli da Caffe Model Zoo in MATLAB per inferenza ed esegui il transfer learning.

Importare modelli da Caffe Model Zoo in MATLAB.

Accelerazione dell’addestramento

Accelera l’addestramento del deep learning usando GPU, il cloud e le funzioni di distributed computing. 

Accelerazione GPU

Accelera l’addestramento del deep learning e l’inferenza con GPU NVIDIA ad alte prestazioni. Puoi eseguire l’addestramento su una GPU a workstation singola oppure sfruttare più GPU con i sistemi DGX nei data center o nel cloud. È possibile utilizzare MATLAB con Parallel Computing Toolbox e la maggior parte delle GPU NVIDIA abilitate per CUDA® che hanno una capacità di elaborazione pari o superiore a 3.0.

Accelerazione con GPU.

Accelerazione cloud

Riduci il numero di addestramenti del deep learning con istanze cloud. Utilizza le istanze di GPU ad alte prestazioni per ottenere risultati migliori.

Accelera l’addestramento nel cloud con Parallel Computing Toolbox e MATLAB Parallel Server.

Distributed Computing

Esegui l’addestramento del deep learning su più processori e server in una rete utilizzando MATLAB Parallel Server.

Ampliare le capacità del deep learning in parallelo e nel cloud.

Generazione e distribuzione di codici

Distribuisci reti addestrate in sistemi embedded oppure integrale in un’ampia gamma di ambienti di produzione.

Generazione di codici

Utilizza GPU Coder per generare codice CUDA ottimizzato dal codice MATLAB per il deep learning, la visione embedded e i sistemi autonomi. Utilizza MATLAB Coder per generare codice C++ per distribuire le reti di deep learning su processori Intel® Xeon® e ARM® Cortex®-A.

Distribuire applicazioni standalone

Utilizza MATLAB Compiler™ e MATLAB Compiler SDK™ per distribuire reti addestrare come librerie condivise C++, assembly Microsoft NET®, classi Java® e pacchetti Python® dai programmi MATLAB con modelli di deep learning.

Condividere programmi MATLAB standalone con MATLAB Compiler.

Reti neurali superficiali

Utilizza le reti neurali con una varietà di architetture di reti neurali superficiali supervisionate e non supervisionate.

Reti supervisionate

Addestra le reti neurali superficiali supervisionate per modellare e controllare sistemi dinamici, classificare dati rumorosi e prevedere eventi futuri. 

Rete neurale superficiale.

Reti non supervisionate

Trova relazioni tra i dati e definisci automaticamente schemi di classificazione lasciando che la rete superficiale si adatti continuamente ai nuovi input. Usa reti self-organizing non supervisionate, layer competitivi e self-organizing map.

Self-organizing map.

Autocodificatori impilati

Esegui la trasformazione delle feature non supervisionate estraendo feature in dimensione bassa dai set di dati con gli autocodificatori. È anche possibile utilizzare autocodificatori impilati per l’apprendimento supervisionato mediante addestramento e stacking di più codificatori.

Autocodificatore impilato.

Funzionalità recenti

App Experiment Manager

gestire più esperimenti di deep learning, tenere traccia dei parametri di addestramento e analizzare e mettere a confronto il codice e i risultati

App Deep Network Designer

addestrare interattivamente una rete per la classificazione di immagini, generare codice MATLAB per l’addestramento e accedere ai modelli pre-addestrati

Loop di addestramento personalizzati

addestrare reti con più input, più output o layer CNN 3D

Esempi di deep learning

addestrare reti di didascalie di immagini mediante attenzione e addestrare GAN condizionali utilizzando attributi ed etichette di dati

Reti pre-addestrate

eseguire il transfer learning con DarkNet-19 e DarkNet-53

Supporto ONNX

importare reti con più input o output tramite il convertitore di modelli ONNX

Flessibilità di addestramento

specificare funzioni personalizzate di backward di layer per loop di addestramento personalizzati

Vedi le note di rilascio per ulteriori informazioni su queste caratteristiche e sulle funzioni corrispondenti.

MATLAB per il deep learning

Progettare, costruire e visualizzare reti di deep learning

Hai domande?

Contatta Shounak Mitra, esperto tecnico del Deep Learning Toolbox