Struttura del corso
Parte 1 – Concetti di Apprendimento Profondo e DNN
Introduzione all'IA, Machine Learning & Deep Learning
- Storia, concetti di base e applicazioni comuni dell'intelligenza artificiale lontano dalle fantasie associate a questo campo
- Intelligenza Collettiva: aggregazione della conoscenza condivisa da molti agenti virtuali
- Algoritmi Genetici: evoluzione di una popolazione di agenti virtuali attraverso la selezione
- Apprendimento Macchina Usuale: definizione.
- Tipi di compiti: apprendimento supervisionato, non supervisionato, per rinforzo
- Tipi di azioni: classificazione, regressione, clustering, stima della densità, riduzione dimensionalità
- Esempi di algoritmi di 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)
Concetti di Base di una Rete Neurale (Applicazione: perceptrone multistrato)
- Ricapitolazione delle basi matematiche.
- Definizione di una rete neurale: architettura classica, attivazione e
- Pesatura delle attivazioni precedenti, profondità della rete
- Definizione dell'apprendimento di una rete neurale: funzioni di costo, back-propagation, discesa del gradiente stocastica, massima verosimiglianza.
- Modellazione di una rete neurale: modellazione dei dati di ingresso e uscita in base al tipo di problema (regressione, classificazione ...). Maledizione dimensionalità.
- Differenza tra dati multifeature e segnale. Scelta di una funzione di costo in base ai dati.
- Approssimazione di una funzione tramite una rete neurale: presentazione ed esempi
- Approssimazione di una distribuzione tramite una rete neurale: presentazione ed esempi
- Data Augmentation: come bilanciare un dataset
- Generalizzazione dei risultati di una rete neurale.
- Inizializzazione e regolarizzazione di una rete neurale: regolarizzazione L1 / L2, Normalizzazione Batch
- Algoritmi di ottimizzazione e convergenza
Strumenti ML / DL Standard
Una semplice presentazione con vantaggi, svantaggi, posizione nell'ecosistema e utilizzo è prevista.
- Strumenti di gestione dei dati: Apache Spark, Apache Hadoop Tools
- Apprendimento Automatico: Numpy, Scipy, Sci-kit
- Framework a livello elevato per l'apprendimento profondo: PyTorch, Keras, Lasagne
- Framework a basso livello per l'apprendimento profondo: Theano, Torch, Caffe, Tensorflow
Reti Neurali Convoluzionali (CNN).
- Presentazione delle CNN: principi fondamentali e applicazioni
- Operazione di base di una CNN: livello convoluzionale, utilizzo di un kernel,
- Padding & stride, generazione della mappa delle caratteristiche, livelli di pooling. 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 ogni architettura e delle loro applicazioni più ampie (convoluzione 1x1 o connessioni residue)
- Utilizzo di un modello di attenzione.
- Applicazione a un caso comune di classificazione (testo o immagine)
- CNN per la generazione: super-risoluzione, segmentazione pixel-to-pixel. Presentazione delle
- principali strategie per aumentare le mappe delle caratteristiche per la generazione di immagini.
Reti Neurali Ricorrenti (RNN).
- Presentazione delle RNN: principi fondamentali e applicazioni.
- Operazione di base della RNN: attivazione nascosta, back propagation through time, versione srotolata.
- Evoluzioni verso le Gated Recurrent Units (GRUs) e LSTM (Long Short Term Memory).
- Presentazione degli stati diversi e delle evoluzioni apportate da queste architetture
- Problemi di convergenza e gradienti che tendono a zero
- Architetture classiche: previsione di una serie temporale, classificazione ...
- Architettura Encoder-Decoder RNN. Utilizzo di un modello di attenzione.
- Applicazioni NLP: codifica parola / carattere, traduzione.
- Applicazioni Video: previsione dell'immagine successiva di una sequenza video.
Modelli Generativi: Variational AutoEncoder (VAE) e Generative Adversarial Networks (GAN).
- Presentazione dei modelli generativi, legame con le CNN
- Auto-encoder: riduzione dimensionalità e generazione limitata
- Variational Auto-encoder: modello generativo e approssimazione della distribuzione di un dato. Definizione e utilizzo dello spazio latente. Trucco di rimpiazzamento. Applicazioni e limiti osservati
- Generative Adversarial Networks: Fondamenti.
- Architettura a doppia rete (Generator e discriminator) con apprendimento alternato, funzioni di costo disponibili.
- Convergenza di un GAN e difficoltà incontrate.
- Miglioramento della convergenza: Wasserstein GAN, Began. Earth Moving Distance.
- Applicazioni per la generazione di immagini o fotografie, generazione di testo, super-risoluzione.
Apprendimento Profondo Rinforzato.
- Presentazione dell'apprendimento rinforzato: controllo di un agente in un ambiente definito
- Da uno stato e azioni possibili
- Utilizzo di una rete neurale per approssimare la funzione di stato
- Deep Q Learning: replay esperienza, 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 sistema digitale.
Parte 2 – Theano per l'Apprendimento Profondo
Nozioni di Base su Theano
- Introduzione
- Installazione e Configurazione
TheanoFunctions
- inputs, outputs, updates, givens
Addestramento e Ottimizzazione di una Rete Neurale utilizzando Theano
- Modellazione della Rete Neurale
- Regressione Logistica
- Livelli Nascosti
- Addestramento di una rete
- Calcolo e Classificazione
- Ottimizzazione
- Log Loss
Test del Modello
Parte 3 – DNN utilizzando Tensorflow
Nozioni di Base su TensorFlow
- Creazione, inizializzazione, salvataggio e ripristino delle variabili TensorFlow
- Alimentazione, lettura e pre-caricamento dei dati TensorFlow
- Come utilizzare l'infrastruttura di TensorFlow per addestrare modelli su larga scala
- Visualizzazione ed Evaluazione dei modelli con TensorBoard
Mecanica di TensorFlow
- Preparazione dei Dati
- Download
- Inputs e Placeholders
-
Costruzione dei Grafi
- Inferenza
- Perdita
- Addestramento
-
Addestramento del Modello
- Il Grafo
- La Sessione
- Ciclo di Addestramento
-
Valutazione del Modello
- Costruzione del Grafo di Valutazione
- Output della Valutazione
Il Perceptrone
- Funzioni di Attivazione
- Algoritmo di apprendimento del perceptrone
- Classificazione binaria con il perceptrone
- Classificazione di documenti con il perceptrone
- Limitazioni del perceptrone
Dal Perceptrone alle Macchine a Vettori di Supporto
- Kernel e trucco del kernel
- Classificazione a margine massimo e vettori di supporto
Reti Neurali Artificiali
- Confini decisionali non lineari
- Reti neurali artificiali feedforward e feedback
- Perceptroni multistrato
- Minimizzazione della funzione di costo
- Propagazione in avanti
- Retropropagazione
- Miglioramento dell'apprendimento delle reti neurali
Reti Neurali Convoluzionali
- Obiettivi
- Architettura del Modello
- Principi
- Organizzazione del Codice
- Avvio e Addestramento del Modello
- Valutazione di un Modello
Introduzioni Base da Fornire ai Moduli Sottostanti (Breve Introduzione in base alla disponibilità di tempo):
Tensorflow - Utilizzo Avanzato
- Threading e Code
- TensorFlow Distribuito
- Scrittura di Documentazione e Condivisione del Modello
- Personalizzazione dei Lettori di Dati
- Manipolazione dei File del Modello TensorFlow
Servizio TensorFlow
- Introduzione
- Tutorial di Base per il Servizio
- Tutorial Avanzato per il Servizio
- Tutorial sul Servizio del Modello Inception
Requisiti
Conoscenze in fisica, matematica e programmazione. Esperienza nell'elaborazione di immagini.
I partecipanti dovrebbero avere una conoscenza preventiva dei concetti di apprendimento automatico e aver lavorato con la programmazione Python e le sue librerie.
Recensioni (5)
Hunter è fantastico, molto coinvolgente, estremamente competente e affabile. Ben fatto.
Rick Johnson - Laramie County Community College
Corso - Artificial Intelligence (AI) Overview
Traduzione automatica
L'istruttore ha spiegato bene il contenuto e è stato coinvolgente per tutto il tempo. Si è fermato per fare domande e ci ha lasciato trovare le nostre soluzioni in alcune sessioni pratiche. Ha anche adattato bene il corso alle nostre esigenze.
Robert Baker
Corso - Deep Learning with TensorFlow 2.0
Traduzione automatica
Tomasz conosce davvero bene le informazioni e il corso era ben strutturato.
Raju Krishnamurthy - Google
Corso - TensorFlow Extended (TFX)
Traduzione automatica
Organizzazione, in linea con l'ordine del giorno proposto, la vasta conoscenza del formatore su questo argomento
Ali Kattan - TWPI
Corso - Natural Language Processing with TensorFlow
Traduzione automatica
Very updated approach or CPI (tensor flow, era, learn) to do machine learning.
Paul Lee
Corso - TensorFlow for Image Recognition
Traduzione automatica