CONCETTI BASE DEL DEEP LEARNING
- Cos'è il deep learning?
- Perché utilizzare tecniche di deep learning? Perché ora?
- I blocchi matematici delle reti neurali: scalari, vettori, matrici, tensori, operazioni tensoriali.
RETI PROFONDE FEEDFORWARD
- Apprendimento basato sul gradiente;
- Unità nascoste;
- Progetto di architettura;
- Back-Propagation e altri algoritmi differenziali.
REGOLARIZZAZIONE PER L'APPRENDIMENTO PROFONDO
- Parametro Normale di Penalità;
- Regolarizzazione e problemi sotto-vincolati;
- Aumento del set di dati;
- Robustezza al rumore;
- Apprendimento multi-task;
- Arresto anticipato;
- Bagging e altri metodi di ensemble;
- Dropout.
OTTIMIZZAZIONE PER LA FORMAZIONE DI MODELLI PROFONDI
- Sfide nell'ottimizzazione della rete neurale;
- Strategie di inizializzazione dei parametri;
- Algoritmi con i tassi di apprendimento adattivi;
- Metodi approssimativi del secondo ordine;
- Strategie di ottimizzazione e meta-algoritmi.
CONVOLUTIONAL NETWORKS
- L'operazione di convoluzione;
- Pooling;
- Funzioni casuali o senza supervisione.
MODELLI SEQUENZIALI: RETI RICORRENTI E RICORRENTI
- Grafici computazionali;
- Reti neurali ricorrenti;
- RNN bidirezionali;
- Reti neurali ricorsive;
- La memoria a lungo termine e altre RNN.
METODOLOGIA PRATICA CON PYTHON E KERAS
- Keras, TensorFlow, MxNet Theano e CNTK;
- Metriche delle prestazioni;
- Modelli di base predefiniti;
- Selezione degli Iperparametri;
- Strategie di debugging;
- Ispezione e monitoraggio dei modelli di deep learning mediante callback di Keras, MxNet e TensorBoard.