Struttura del corso

Il corso è suddiviso in tre giorni separati, il terzo dei quali facoltativo.

Giorno 1 - Machine Learning e 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 Usuale: definizione.

- Tipi di compiti: apprendimento supervisionato, apprendimento non supervisionato, apprendimento per rinforzo

- Tipi di azioni: classificazione, regressione, clustering, stima della densità, riduzione della dimensionalità

- Esempi di algoritmi Machine Learning: regressione lineare, 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 di attivazione e ponderazione di attivazioni precedenti, profondità di una rete

- Definizione di addestramento 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 mediante 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. Soliti strumenti ML/DL

È 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

- Framework DL di basso livello: Theano, Torch, Caffe, Tensorflow

Giorno 2 - Reti convoluzionali e ricorrenti

4. Convoluzionale Neural Networks (CNN).

- Presentazione delle CNN: principi fondamentali 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. Una panoramica delle principali strategie per aumentare le mappe delle caratteristiche per la generazione di immagini.

5. Ricorrente Neural Networks (RNN).

- Presentazione delle RNN: principi fondamentali e applicazioni.

- Come funziona la RNN: attivazione nascosta, retropropagazione nel tempo, versione spiegata.

- Evoluzione verso GRU (Gated Recurrent Units) e LSTM (Long Short Term Memory). Presentazione dei diversi stati e delle evoluzioni portate da queste architetture

- Problemi di convergenza e gradient vanising

- Tipi di architetture classiche: previsione di una serie temporale, classificazione, ecc.

- Architettura RNN Encoder Decoder. Uso di un modello di attenzione.

- Applicazioni di PNL: codifica di parole/caratteri, traduzione.

- App video: prevedi il prossimo fotogramma generato di una sequenza video.

Giorno 3 - Modelli generazionali e Reinforcement Learning

6. Modelli generazionali: Variational AutoEncoder (VAE) e Generative Adversarial Networks (GAN).

- Presentazione dei modelli generazionali, collegamento con le CNN viste nel giorno 2

- Auto-encoder: 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 reticoli (generatore e discriminatore) con apprendimento alternato, funzioni di costo disponibili.

- Convergenza di un GAN e difficoltà incontrate.

- Convergenza migliorata: Wasserstein GAN, BeGAN. Distanza di movimento della terra.

- Applicazioni per la generazione di immagini o foto, la generazione di testo,
risoluzione.

7. Profondo Reinforcement Learning.

- Panoramica dell'apprendimento per rinforzo: controllo di un agente in un ambiente definito dallo stato e possibili azioni

- Utilizzo di una rete neurale per approssimare la funzione di stato

- Deep Q Learning: replay dell'esperienza, applicazione al controllo di un videogioco.

- Ottimizzazioni della politica di apprendimento. Politica in linea e fuori politica. Attore critico architettura. A3C.

- Applicazioni: controllo di un semplice videogioco o di un sistema digitale.

Requisiti

Level ingénieur

 21 ore

Numero di Partecipanti


Prezzo per Partecipante

Corsi in Arrivo

Categorie relative