Introduzione all'apprendimento profondo
L'apprendimento profondo è un sottobanco dell'apprendimento automatico che si concentra sullo studio di rappresentazioni gerarchiche e complesse delle caratteristiche da dati grezzi utilizzando reti neurali artificiali. Il corso copre i principi fondamentali, la matematica alla base, i concetti di ottimizzazione (discesa del gradiente, retropropagazione), i moduli di rete (strati lineari, convoluzionali, di pooling) e le architetture comuni (CNN, RNN). Vengono mostrate applicazioni in ambito visione artificiale, elaborazione del linguaggio naturale e apprendimento per rinforzo. Gli studenti utilizzeranno la libreria di deep learning PyTorch per l'implementazione e concluderanno il corso con un progetto finale su uno scenario del mondo reale.
Panoramica del corso
Riepilogo del contenuto
L'apprendimento profondo è un sottodominio dell'apprendimento automatico che si concentra sullo studio di rappresentazioni di caratteristiche complesse e gerarchiche da dati grezzi utilizzando reti neurali artificiali. Il corso copre i principi fondamentali, la matematica alla base, concetti di ottimizzazione (discesa del gradiente, retropropagazione), moduli di rete (strati lineari, convoluzionali, di pooling) e architetture comuni (CNN, RNN). Vengono illustrati applicazioni in ambito visione artificiale, elaborazione del linguaggio naturale e apprendimento per rinforzo. Gli studenti utilizzeranno la libreria deep learning PyTorch per l'implementazione e completeranno un progetto finale su uno scenario del mondo reale.
Breve riepilogo degli obiettivi fondamentali: padroneggiare la teoria dell'apprendimento profondo, implementare modelli con PyTorch, comprendere architetture specializzate (CNN, RNN, Transformer) e applicare questi concetti a visione artificiale, NLP e decisioni sequenziali.
Obiettivi di apprendimento
- Spiegare le basi matematiche e le tecniche di ottimizzazione fondamentali (Discesa del Gradiente, Retropropagazione) necessarie per addestrare reti neurali profonde.
- Utilizzare il framework deep learning PyTorch per implementare, addestrare e debuggare in modo efficiente architetture moderne di rete, sfruttando l'accelerazione CUDA e tecniche efficaci di gestione dei dati.
- Progettare e analizzare architetture specializzate, inclusi Reti Neurali Convolutionali (CNN) per dati immagine e il modello Transformer per dipendenze sequenziali.
- Applicare tecniche di apprendimento profondo per risolvere problemi pratici nei domini applicativi principali: Visione Artificiale, Elaborazione del Linguaggio Naturale e Apprendimento per Rinforzo.
- Valutare modelli in termini di robustezza, interpretabilità e equità etica, confrontando i punti di forza di vari paradigmi avanzati (es. Modelli Generativi, Apprendimento Semi-Supervisionato).