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.
Recensioni (2)
Il corso di formazione era organizzato e ben pianificato, ed è stato un'occasione per acquisire conoscenze sistematiche e una panoramica approfondita dei temi trattati.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Corso - Deep Learning with TensorFlow 2
Traduzione automatica
Mi è davvero piaciuta la parte finale in cui abbiamo avuto il tempo di esplorare CHAT GPT. La sala non era impostata nel modo migliore per questo - sarebbe stato utile avere alcune piccole tavole invece di una grande, così da poter formare gruppi più piccoli e fare brainstorming.
Nola - Laramie County Community College
Corso - Artificial Intelligence (AI) Overview
Traduzione automatica