Struttura del corso

Parte 1 – Deep Learning e concetti DNN


Introduzione AI, Machine Learning e Deep Learning

  • Storia, concetti di base e applicazioni abituali dell'intelligenza artificiale lontano dalle fantasie portate da questo dominio

  • Intelligenza Collettiva: aggregare la conoscenza condivisa da molti agenti virtuali

  • Algoritmi genetici: per far evolvere una popolazione di agenti virtuali attraverso la selezione

  • Usual Learning Machine: 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 Machine Learning algoritmi: regressione lineare, Naive Bayes, albero casuale

  • Machine learning VS Deep Learning: problemi su cui Machine Learning rimane oggi lo stato dell'arte (Random Forests & XGBoosts)

Concetti di base di una rete neurale (Applicazione: percettrone multistrato)

  • Richiamo alle basi matematiche.

  • Definizione di una rete di neuroni: architettura classica, attivazione e

  • Ponderazione delle attivazioni precedenti, profondità di una rete

  • Definizione dell'apprendimento di una rete di neuroni: 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...). 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 di neuroni: presentazione ed esempi

  • Approssimazione di una distribuzione da parte di una rete di neuroni: presentazione ed esempi

  • Data Augmentation: come bilanciare un dataset

  • Generalizzazione dei risultati di una rete di neuroni.

  • Inizializzazione e regolarizzazione di una rete neurale: regolarizzazione L1/L2, Normalizzazione Batch

  • Algoritmi di ottimizzazione e convergenza

Strumenti ML / DL standard

È prevista una semplice presentazione con vantaggi, svantaggi, posizione nell'ecosistema e utilizzo.

  • Strumenti di gestione dei dati: Apache Spark, Apache Hadoop Strumenti

  • Machine Learning: Numpy, Scipy, Sci-kit

  • Framework di alto livello DL: PyTorch, Keras, Lasagne

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

Convoluzionale Neural Networks (CNN).

  • Presentazione delle CNN: principi fondamentali e applicazioni

  • Funzionamento di base di una CNN: livello convoluzionale, uso di un kernel,

  • Padding & stride, generazione di mappe di funzionalità, raggruppamento dei livelli. Estensioni 1D, 2D e 3D.

  • Presentazione delle diverse architetture CNN che hanno portato lo stato dell'arte nella classificazione

  • 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 un caso di classificazione comune (testo o immagine)

  • CNN per la generazione: super-risoluzione, segmentazione pixel-to-pixel. Presentazione di

  • Principali strategie per aumentare le feature map per la generazione di immagini.

Ricorrente Neural Networks (RNN).

  • Presentazione delle RNN: principi fondamentali e applicazioni.

  • Funzionamento di base della RNN: attivazione nascosta, propagazione posteriore nel tempo, versione Unfolded.

  • Evoluzioni verso le Gated Recurrent Unit (GRU) e la LSTM (Long Short Term Memory).

  • Presentazione dei diversi stati e delle evoluzioni apportate da queste architetture

  • Problemi di convergenza e vanizzazione del gradiente

  • Architetture classiche: Previsione di una serie temporale, classificazione ...

  • Architettura di tipo RNN Encoder Decoder. Utilizzo di un modello di attenzione.

  • Applicazioni NLP: codifica parola/caratteri, traduzione.

  • Applicazioni Video: previsione della successiva immagine generata di una sequenza video.


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

  • Presentazione dei modelli generazionali, collegamento con le CNN

  • 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 per la riparametrizzazione. Applicazioni e Limiti osservati

  • Reti generative avversarie: fondamenti.

  • Doppia architettura di rete (generatore e discriminatore) con apprendimento alternativo, funzioni di costo disponibili.

  • Convergenza di una GAN e difficoltà incontrate.

  • Convergenza migliorata: Wasserstein GAN, Iniziato. Distanza di movimento della Terra.

  • Applicazioni per la generazione di immagini o fotografie, generazione di testo, super-risoluzione.

Profondo Reinforcement Learning.

  • Presentazione dell'apprendimento per rinforzo: 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: replay dell'esperienza, e applicazione al controllo di un videogioco.

  • Ottimizzazione della politica di apprendimento. On-policy e off-policy. Attore critico di architettura. A3C.

  • Applicazioni: controllo di un singolo videogioco o di un sistema digitale.

Parte 2 – Theano per Deep Learning

Nozioni di base su Theano

  • Introduzione

  • Installazione e configurazione

Funzioni Theano

  • Input, Output, Aggiornamenti, Dati

Addestramento e ottimizzazione di una rete neurale utilizzando Theano

  • Modellazione di reti neurali

  • Regressione logistica

  • Livelli nascosti

  • Formare una rete

  • Informatica e classificazione

  • Ottimizzazione

  • Perdita di log

Test del modello


Parte 3 – DNN con Tensorflow

TensorFlow Nozioni di base

  • Creazione, inizializzazione, salvataggio e ripristino di variabili TensorFlow

  • Alimentazione, lettura e precaricamento dei dati TensorFlow

  • Come utilizzare l'infrastruttura TensorFlow per addestrare i modelli su larga scala

  • Visualizzazione e valutazione di modelli con TensorBoard

TensorFlow Meccanica

  • Preparare i dati

  • Scaricare

  • Input e segnaposto

  • Costruisci il grafico

    • Inferenza

    • Perdita

    • Formazione

  • Addestrare il modello

    • Il grafico

    • La sessione

    • Anello del treno

  • Valutazione del modello

    • Costruisci il grafico di valutazione

    • Uscita di valutazione

Il percettrone

  • Funzioni di attivazione

  • L'algoritmo di apprendimento del percettrone

  • Classificazione binaria con il percettrone

  • Classificazione dei documenti con il percettrone

  • Limitazioni del percettrone

Dal percettrone alle macchine vettoriali di supporto

  • I kernel e il trucco del kernel

  • Classificazione del margine massimo e vettori di supporto

Artificiale Neural Networks

  • Limiti decisionali non lineari

  • Reti neurali artificiali feedforward e feedback

  • Percettroni multistrato

  • Minimizzazione della funzione di costo

  • Propagazione diretta

  • Propagazione posteriore

  • Migliorare il modo in cui le reti neurali apprendono

Convoluzionale Neural Networks

  • Goals

  • Architettura del modello

  • Principi

  • Organizzazione del codice

  • Avvio e addestramento del modello

  • Valutazione di un modello

Introduzioni di base da fornire ai moduli seguenti (Breve introduzione da fornire in base alla disponibilità di tempo):

Tensorflow - Utilizzo avanzato

  • Threading e code

  • Distribuito TensorFlow

  • Scrittura Documentation e condivisione del modello

  • Personalizzazione dei lettori di dati

  • Manipolazione dei file del modello TensorFlow


TensorFlow Servire

  • Introduzione

  • Tutorial di base per la somministrazione

  • Tutorial avanzato per la somministrazione

  • Tutorial sul modello Inception per la pubblicazione

Requisiti

Background in fisica, matematica e programmazione. Coinvolgimento in attività di elaborazione delle immagini.

I delegati devono avere una conoscenza preliminare dei concetti di apprendimento automatico e devono aver lavorato su Python programmazione e librerie.

 35 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (5)

Corsi in Arrivo

Categorie relative