Struttura del corso
Il corso è suddiviso in tre giorni separati, con il terzo giorno facoltativo.
Jour 1 - Machine Learning & Deep Learning: concetti teorici
1. Introduzione IA, Machine Learning e Deep Learning
- Storia, concetti fondamentali e applicazioni usuali dell'intelligenza artificiale lontani dalle fantasie portate da questo campo
- Intelligenza collettiva: aggregazione di conoscenze condivise da molti agenti virtuali
- Algoritmi genetici: evoluzione di una popolazione di agenti virtuali per selezione
- Machine Learning Usuel : Definizione.
- Types de tâches : apprendimento supervisionato, apprendimento non supervisionato, apprendimento per rinforzo
- Types d'actions : classification, régression, clustering, estimation de densité, réduction de dimensionalité
- Exemples d'algorithmes Machine Learning : Régression linéaire, Naive Bayes, Random Tree
- Machine learning VS Deep Learning: problemi su cui il Machine Learning rimane oggi lo stato dell'arte (Random Forests & XGBoosts)
2. Concetti fondamentali di una rete neurale (applicazione: percettrone multistrato)
- Richiami alle basi della matematica.
- Definizione di rete neurale: architettura classica, funzioni per l'attivazione e la ponderazione di attivazioni precedenti, profondità di una rete
- Definizione di apprendimento di reti neurali: funzioni di costo, retropropagazione, discesa stocastica del gradiente, massima verosimiglianza.
- Modellazione di una rete neurale: modellazione dei dati di input e output in base al tipo di problema (regressione, classificazione, ecc.). Maledizione della dimensionalità. Distinzione tra dati multi-feature e segnale. Scelta di una funzione di costo in base ai dati.
- Approssimazione di una funzione da parte di una rete neurale: presentazione ed esempi
- Approssimazione di una distribuzione da parte di una rete neurale: presentazione ed esempi
- Data Augmentation: come bilanciare un dataset
- Generalizzazione dei risultati di una rete neurale.
- Inizializzazioni e regolarizzazioni di una rete neurale: regolarizzazione L1/L2, normalizzazione batch, ecc.
- Ottimizzazioni e algoritmi di convergenza.
3. Strumenti ML/DL comuni
È prevista una semplice presentazione con vantaggi, svantaggi, posizione nell'ecosistema e utilizzo.
- Strumenti di gestione dei dati: Apache Spark, Apache Hadoop
- Strumenti comuni Machine Learning: Numpy, Scipy, Sci-kit
- Framework DL di alto livello: PyTorch, Keras, Lasagna
- Quadri DL bas niveau : Theano, Torch, Caffè, Tensorflow
Giorno 2 - Reti convoluzionali e ricorrenti
4. Convoluzionale Neural Networks (CNN).
- Introduzione alle CNN: fondamenti e applicazioni
- Funzionamento fondamentale di una CNN: livello convoluzionale, uso di un kernel, padding & stride, generazione di mappe di funzionalità, livelli di pooling. Estensioni 1D, 2D e 3D.
- Presentazione delle diverse architetture CNN che hanno portato lo stato dell'arte nella classificazione delle immagini: LeNet, VGG Networks, Network in Network, Inception, Resnet. Presentazione delle innovazioni apportate da ciascuna architettura e delle loro applicazioni più globali (convoluzione 1x1 o connessioni residue)
- Utilizzo di un modello di attenzione.
- Applicazione a uno scenario di classificazione comune (testo o immagine)
- CNN per la generazione: super-risoluzione, segmentazione pixel-to-pixel. Presentazione delle principali strategie per aumentare le feature map per la generazione di immagini.
5. Ricorrente Neural Networks (RNN).
- Presentazione delle RNN: principi fondamentali e applicazioni.
- Fonctionnement fondamental du RNN : attivazione nascosta, retropropagazione nel tempo, versione spiegata.
- Evoluzioni verso GRU (Gated Recurrent Units) e LSTM (Long Short Term Memory). Presentazione dei diversi stati ed evoluzioni apportati da queste architetture
- Problemi di convergenza e gradient vanising
- Tipi di architetture classiche: previsione di una serie temporale, classificazione, ecc.
- Architettura RNN Encoder Decoder. Utilizzo di un modello di attenzione.
- Applicazioni NLP: codifica di parole/caratteri, traduzione.
- App video: prevede il prossimo fotogramma generato di una sequenza video.
Giorno 3 - Modelli generazionali e Reinforcement Learning
6. Modèles générationnels : Variational AutoEncoder (VAE) et Generative Adversarial Networks (GAN).
- Presentazione dei modelli generazionali, collegamento con le CNN viste nel giorno 2
- Auto-encoding: riduzione della dimensionalità e generazione limitata
- Auto-encoder variazionale: modello generazionale e approssimazione della distribuzione di un dato. Definizione e uso dello spazio latente. Trucco di riparametrizzazione. Applicazioni e limitazioni osservate
- Reti generative antagoniste: fondamenti. Architettura a due reti (generatore e discriminatore) con apprendimento alternato, funzioni di costo disponibili.
- Convergenza di un GAN e difficoltà incontrate.
- Convergence améliorée : Wasserstein GAN, BeGAN. Distanza di movimento della terra.
- Applicazioni per la generazione di immagini o fotografie, generazione di testo, risoluzione.
7. Profondo Reinforcement Learning.
- Introduzione al reinforcement learning: controllo di un agente in un ambiente definito da uno stato e possibili azioni
- Utilizzo di una rete neurale per approssimare la funzione di stato
- Deep Q Learning : experience replay, et application au contrôle d'un jeu vidéo.
- Optimisations de la politique d'apprentissage. Politica in linea e fuori politica. Attore critico architettura. A3C.
- Applicazioni: controlla un semplice videogioco o un sistema digitale.
Requisiti
Livello tecnico