FONDAMENTI DELL'INTELLIGENZA ARTIFICIALE
cod. 1009065

Anno accademico 2022/23
1° anno di corso - Secondo semestre
Docente
- Eleonora IOTTI
Settore scientifico disciplinare
Informatica (INF/01)
Field
Discipline informatiche
Tipologia attività formativa
Caratterizzante
48 ore
di attività frontali
6 crediti
sede:
insegnamento
in ITALIANO

Obiettivi formativi

L'obiettivo principale del corso è quello di dare alla studentessa e allo studente gli strumenti matematici ed algoritmici di base per lo studio proficuo di argomenti, anche di ricerca, legati all'Intelligenza Artificiale (IA). In seconda battuta, il corso si propone di porre le basi per i corsi successivi relativi all'IA.
Con riferimento ai Descrittori di Dublino, la studentessa e lo studente alla fine del corso arrivano a:
1. conoscere e comprendere le basi teoriche dell'IA; conoscere e ricordare la notazione in lingua inglese utilizzata in letteratura scientifica per quanto riguarda l'IA
2. saper applicare le conoscenze teoriche per sviluppare semplici algoritmi; utilizzare le principali librerie software per sviluppo di sistemi di IA; riusare il codice degli algoritmi presenti in letteratura e personalizzarlo
3. saper valutare e confontare approcci diversi a uno stesso problema; riconoscere le tecniche utilizzate all'interno di un algoritmo di IA
4. saper comunicare le motivazioni dietro all'approccio scelto per affrontare un problema di IA; discutere delle tecniche utilizzate per affrontare o risolvere un problema di IA
5. essere in grado di apprendere altri approcci e tecniche di IA anche non di base; essere in grado di leggere e comprendere un articolo scientifico sugli argomenti del corso

Prerequisiti

Analisi matematica, algebra lineare e programmazione

Contenuti dell'insegnamento

Il corso propone di discutere e approfondire i fondamenti matematici legati a vari settori dell'Intelligenza Artificiale, presentando argomenti ed esempi mirati

Programma esteso

Funzioni in più variabili:
- R^N come spazio metrico
- definizione di funzione in più variabili reali, continuità e differenziabilità di funzioni in più variabili reali
- metodo iterativo di discesa del gradiente
- integrale di funzioni in più variabili reali

Reti neurali artificiali:
- Single layer perceptron (SLP) e multi layer perceptron (MLP)
- algoritmo di discesa del gradiente su SLP e MLP
- algoritmo di backpropagation
- teorema di approssimazione universale
- implementazione di un MLP

Visione artificiale:
- definizione di immagine digitale
- multi-linearità e tensori
- visione di basso livello: operatori puntuali, locali e globali
- polinomi di Taylor per ottenere filtri di sharpening
- filtri di smoothing lineari e non lineari

Convoluzione e trasformata di Fourier:
- convoluzione in una variabile e in più variabili, nel continuo e nel discreto
- discretizzazione di filtri di smoothing con convoluzione
- richiami ai numeri complessi, trasformata di Fourier e antitrasformata
- trasformata di Fourier discreta (DFT)
- algoritmo veloce per implementazione della trasformata (FFT)
- trasformata di Fourier e convoluzione

Deep Learning:
- MLP con più strati nascosti, vanishing gradient problem e exploding gradient problem
- convolutional neural networks (CNN), layer convoluzionale, ReLU e layer di pooling
- implementazione di una CNN
- storia e diverse tipologie di CNN in letteratura

Equazioni differenziali:
- ODE di ordine k, sistemi di ODE
- matrice esponenziale
- tecniche di risoluzione per sistemi lineari di ODE
- trasformata di Laplace e tecniche risolutive per sistemi lineari di ODE con trasformata
- delta di Dirac e funzione della risposta impulsiva

Altro:
- richiami su autovalori e autovettori, metodo delle potenze, algoritmo PageRank
- cenni a natural language processing (NLP)
- cenni a reti neurali avversarie generative (GAN)

Bibliografia

Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT press (url: https://www.deeplearningbook.org/)
Corso CS231n: Convolutional Neural Networks for Visual Recognition. Stanford (url: https://cs231n.github.io/convolutional-networks/)
Nielsen, M. A. (2015). Neural networks and deep learning. Determination press (url: http://neuralnetworksanddeeplearning.com/)
Altro materiale didattico fornito dalla docente

Metodi didattici

Lezioni frontali. Gli appunti redatti durante le lezioni sono caricati settimanalmente sulla piattaforma Elly e vengono considerati parte integrante del materiale didattico

Modalità verifica apprendimento

Discussione critica dello svolgimento di un assegnamento dato alla studentessa o allo studente, seguita da una prova orale su tutto il programma del corso. L'assegnamento è concordato con la docente al momento dell'iscrizione all'esame e si intende da svolgersi individualmente

Altre informazioni

- - -