Contattataci

Struttura del corso

Parte 1 – Concetti di Deep Learning e DNN

Introduzione all'IA, al Machine Learning e al Deep Learning

  • Storia, concetti di base e applicazioni comuni dell'intelligenza artificiale, andando oltre le fantasie portate da questo campo
  • Intelligenza collettiva: aggregazione della conoscenza condivisa da molti agenti virtuali
  • Algoritmi genetici: evoluzione di una popolazione di agenti virtuali tramite selezione
  • Macchina di apprendimento standard: definizione.
  • Tipi di task: apprendimento supervisionato, apprendimento non supervisionato, apprendimento per rinforzo
  • Tipi di azioni: classificazione, regressione, clustering, stima della densità, riduzione della dimensionalità
  • Esempi di algoritmi di Machine Learning: regressione lineare, Naive Bayes, Random Tree
  • Machine Learning vs Deep Learning: problemi in cui il Machine Learning rimane oggi lo stato dell'arte (Random Forests & XGBoost)

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

  • Richiamo delle 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, back-propagation, discesa di gradiente stocastica, 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 multifeature e segnale. Scelta di una funzione di costo in base ai dati.
  • Approssimazione di una funzione tramite una rete di neuroni: presentazione ed esempi
  • Approssimazione di una distribuzione tramite 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, Batch Normalization
  • Algoritmi di ottimizzazione e convergenza

Strumenti standard ML / DL

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

  • Strumenti per la gestione dei dati: Apache Spark, Strumenti Apache Hadoop
  • Machine Learning: Numpy, Scipy, Sci-kit
  • Framework DL di alto livello: PyTorch, Keras, Lasagne
  • Framework DL di basso livello: Theano, Torch, Caffe, Tensorflow

Reti Neurali Convolutionali (CNN).

  • Presentazione delle CNN: principi fondamentali e applicazioni
  • Funzionamento di base di una CNN: layer convoluzionale, utilizzo di un kernel,
  • Padding & stride, generazione di mappe delle feature, layer di pooling. Estensioni 1D, 2D e 3D.
  • Presentazione delle diverse architetture CNN che hanno portato allo stato dell'arte nella classificazione
  • Immagini: LeNet, Reti VGG, Network in Network, Inception, Resnet. Presentazione delle innovazioni introdotte 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
  • Strategie principali per aumentare le mappe delle feature per la generazione di immagini.

Reti Neurali Ricorrenti (RNN).

  • Presentazione delle RNN: principi fondamentali e applicazioni.
  • Funzionamento di base della RNN: attivazione nascosta, backpropagation through time, versione sviluppata.
  • Evoluzioni verso le Gated Recurrent Units (GRU) e le LSTM (Long Short Term Memory).
  • Presentazione dei diversi stati e delle evoluzioni apportate da queste architetture
  • Problemi di convergenza e gradiente sparito
  • Architetture classiche: Predizione di una serie temporale, classificazione ...
  • Architettura del tipo RNN Encoder Decoder. Utilizzo di un modello di attenzione.
  • Applicazioni NLP: codifica di parole / caratteri, traduzione.
  • Applicazioni video: previsione dell'immagine successiva generata in una sequenza video.

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

  • Presentazione dei modelli generativi, collegamento con le CNN
  • Auto-encoder: riduzione della dimensionalità e generazione limitata
  • Variational Auto-encoder: modello generativo e approssimazione della distribuzione di un dato. Definizione e utilizzo dello spazio latente. Trucco di ricalibrazione. Applicazioni e limiti osservati
  • Generative Adversarial Networks: Fondamenti.
  • Architettura della rete duale (Generatore e discriminatore) con apprendimento alternativo, funzioni di costo disponibili.
  • Convergenza di una GAN e difficoltà incontrate.
  • Convergenza migliorata: Wasserstein GAN, Began. Distanza di movimento terra.
  • Applicazioni per la generazione di immagini o fotografie, generazione di testo, super-risoluzione.

Deep Reinforcement Learning.

  • Presentazione del 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, e applicazione al controllo di un videogioco.
  • Ottimizzazione della politica di apprendimento. On-policy && off-policy. Architettura Actor critic. A3C.
  • Applicazioni: controllo di un singolo videogioco o di un sistema digitale.

Parte 2 – Theano per il Deep Learning

Fondamenti di Theano

  • Introduzione
  • Installazione e Configurazione

Funzioni Theano

  • input, output, aggiornamenti, dati forniti

Addestramento e ottimizzazione di una rete neurale utilizzando Theano

  • Modellazione della rete neurale
  • Regressione Logistica
  • Layer Nascosti
  • Addestramento di una rete
  • Calcolo e Classificazione
  • Ottimizzazione
  • Log Loss

Test del modello

Parte 3 – DNN utilizzando Tensorflow

Fondamenti di TensorFlow

  • Creazione, inizializzazione, salvataggio e ripristino delle variabili TensorFlow
  • Alimentazione, lettura e precaricamento dei dati TensorFlow
  • Come utilizzare l'infrastruttura TensorFlow per addestrare modelli su larga scala
  • Visualizzazione e valutazione dei modelli con TensorBoard

Mechanics di TensorFlow

  • Preparazione dei Dati
  • Download
  • Input e Placeholders
  • Costruzione dei GrafiS
    • Inferenza
    • Perdita
    • Addestramento
  • Addestramento del Modello
    • Il Grafo
    • La Sessione
    • Ciclo di Addestramento
  • Valutazione del Modello
    • Costruzione del Grafo di Valutazione
    • Output di Valutazione

Il Perceptron

  • Funzioni di attivazione
  • Algoritmo di apprendimento del perceptron
  • Classificazione binaria con il perceptron
  • Classificazione di documenti con il perceptron
  • Limiti del perceptron

Dal Perceptron alle Support Vector Machines

  • Kernel e il trucco del kernel
  • Classificazione a margine massimo e supporti vettori

Reti Neurali Artificiali

  • Confini di decisione non lineari
  • Reti neurali artificiali feedforward e feedback
  • Perceptron multilayer
  • Minimizzazione della funzione di costo
  • Propagazione in avanti
  • Back propagation
  • Migliorare il modo in cui le reti neurali apprendono

Reti Neurali Convolutionali

  • Obiettivi
  • Architettura del Modello
  • Principi
  • Organizzazione del Codice
  • Avvio e Addestramento del Modello
  • Valutazione di un Modello

Introduzioni di base da fornire per i seguenti moduli (Breve Introduzione da fornire in base alla disponibilità di tempo):

Tensorflow - Uso Avanzato

  • Threading e Code
  • TensorFlow Distribuito
  • Scrittura della Documentazione e Condivisione del Modello
  • Personalizzazione dei Lettori di Dati
  • Manipolazione dei File di Modello TensorFlow

TensorFlow Serving

  • Introduzione
  • Tutorial Base di Serving
  • Tutorial Avanzato di Serving
  • Tutorial di Serving del Modello Inception

Requisiti

Conoscenze di base in fisica, matematica e programmazione. Esperienza in attività di elaborazione delle immagini.

I partecipanti dovrebbero avere una conoscenza pregressa dei concetti di machine learning e aver lavorato con la programmazione in Python e le relative librerie.

 35 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative