Deep Learning per la Computer Vision
Senza una comprensione profonda si rimane in superficie. Tuttavia in superficie prima o poi si affonda. Per tale motivo, in questo corso capiremo e costruiremo da zero una convoluzione, un layer convoluzionale e infine un intero modello e il suo addestramento. Inizieremo con un approccio minimalista, usando solo librerie standard di Python come NumPy, attraverso cui scriveremo backpropagation e discesa del gradiente in maniera chiara e cristallina. Solo successivamente impareremo e faremo uso di PyTorch, una delle librerie più utilizzate per il Deep Learning. Dopo una breve introduzione alla Teoria dell’Informazione Classica, costruiremo dunque una rete più sofisticata per la classificazione di immagini. Un problema semplice di cui però comprenderemo ogni singolo dettaglio. Addestreremo poi questa rete neurale, imparando a controllare l’overfitting con diverse tecniche, ognuna delle quali sarà analizzata lasciando fuori ogni dubbio. Passeremo poi ad ottimizzare gli iperparametri e a cross-validare il nostro modello come un progetto completo richiede di fare. Il corso è rivolto a chi vuole capire in dettaglio i meccanismi che stanno alla base dei moderni algoritmi di deep learning per la Computer Vision, per chi vuole imparare a costruirsi la propria rete o modificarne una già esistente. Il corso è un primo passo verso corsi più avanzati e reti neurali più sofisticate che sono utilizzate per la risoluzione di problemi concreti.