Artificial intelligence

A.A. 2020/2021
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Inglese
Obiettivi formativi
L'insegnamento si propone di fornire i fondamenti teorici, le metodologie e le tecniche dell'intelligenza artificiale per l'elaborazione di informazioni e conoscenza, con specifico riferimento alle reti neurali, ai sistemi fuzzy e alla computazione evolutiva.
Risultati apprendimento attesi
Comprensione dei fondamenti teorici, delle metodologie e delle tecniche dell'intelligenza artificiale, con specifico riferimento alle reti neurali, ai sistemi fuzzy e alla computazione evolutiva.
Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Primo semestre
Il materiale didattico da utilizzare per lo studio e la preparazione all'esame e' quello del corso erogato in presenza.
I lucidi e le lezioni registrate saranno messe a disposizione sulla piattaforma Ariel, nel sito dell'insegnamento.
Se le condizioni sanitarie lo consentiranno, le lezioni saranno erogate in presenza e registrate per fruizione asincrona. Se le infrastrutture tecnologiche delle aule utilizzate lo permetteranno, le attivita' didattiche erogate in presenza verranno rese fruibili anche in remoto in modo sincrono.
Altrimenti se le condizioni sanitarie non consentissero l'erogazione in presenza, l'insegnamento sara' erogato a distanza in modalita' sincrona utilizzando la piattaforma zoom: le attivita' verranno registrate per fruizione asincrona. Gli studenti interessati ad anticipare lo studio rispetto all'erogazione sincrona potranno utilizzare le registrazioni dell'anno precedente, che verranno mantenute disponibili sulla piattaforma Ariel dell'insegnamento.
Se le condizioni sanitarie non consentissero erogazione dell'esame in presenza, l'esame si svolgera' in remoto utilizzando la piattaforma exam.net per rispondere alle domande e la piattaforma zoom per la videosorveglianza, secondo le modalita' specificate nella guida pubblicata sul sito Ariel dell'insegnamento. I criteri di valutazione saranno quelli della prova in presenza.
Programma
1. Introduzione all'Intelligenza Artificiale: tecnologie, metodologie basate sulla natura, sistemi intelligenti

2. Reti Neurali:
Fondamenti biologici. Unita' logiche a soglia, definizione, interpretazione geometrica, reti di unita' logiche a soglia, apprendimento.
Reti neurali generalizzate, struttura delle reti neurali, operativita' delle reti neurali, apprendimento delle reti neurali.
Percettroni a molti-livelli, definizione, approssimazione di funzioni, regression, gradient discendente, retropropagazione dell'errore, variant del gradient discendente, apprendimento Manhattan, lifting, termine momento, retropropagazione auto-adattativa dell'errore, retropropagazione resiliente dell'errore, retropropagazione veloce, decdimento dei pesi, numero di neuroni nascosti, deep learning, analisi di sensitivita'.
Reti Radial Basis Function, definizioni, approssimazione di funzioni, inizializzazione dei paramtri, apprendimento, forma generalizzata.
Mappe auto-organizzanti, definizione, Learning Vector Quantization, vicini del neuroni di uscita.
Reti di Hopfield, definijzioni, convergenza della computazione, memoria associative, problemi di ottimizzazione, Simulated Annealing, macchine di Boltzmann.
Reti ricorrenti, rappresentazione di equazioni differenziali, reti neurali vettoriali, retropropagazione dell'errore nel tempo.

3. Sistemi Fuzzy:
Introduzione agli insiemi fuzzy e alla logica fuzzy, linguaggio natural e modelli formali, insiemi fuzzy ,interpretazione degli insiemi fuzzy, insiemi fuzzy per modellare la similarita', insiemi fuzzy per modellare la preferenza, insiemi fuzzy per modellare la possibilita'.
Rappresentazione degli insiemi fuzzy, definizioni basate sulle funzioni.
Logica fuzzy, proposizioni e valori di verita', t-Norme e t-Conorme, funzioni di aggregazione, assunzioni di base, operazioni sugli insiemi fuzzy, intersezione, unione, complememento, modificatori linguistici.
Principio di estensione, mappaggio degli insiemi fuzzy, prodotto cartesiano ed estensione cilindrica.
Relazioni fuzzy, relazioni booleane, relazioni e deduzione, catene di deduzioni, relazioni fuzzy semplici, compuosizione di relazioni fuzzy, equazioni relazionali fuzzy.
Relazioni di similarita', similarita', insiemi fuzzy e corpi estensionali, concetti di scalamento, insiemi fuzzy e relazioni di similarita'.
Controllo fuzzy, controllori di Mamdani, controllori di Takagi-Sugeno-Kangprogetto di controllori fuzzy, metodi di defuzzificazione, contruzione di un controllore, controllori basati sulla logica, controllori basati sulle equazioni relazionali fuzzy, controllori neuro-fuzzy.
Analisi fuzzy dei dati e analisi dei dati fuzzy, modelli fuzzy per analisi dati, clusterizzazione fuzzy, clusterizzazione c-means, fuzzificazione mnediante trasformazione della membership, fuzzificazione mediante regolarizzazione della membrship, analisi di dati imprecisi usando insiemi random, teoria della possibilita' e misure generalizzate, variabili random fuzzy.

4. Algoritmi Evolutivi:
Motivazioni, Metaeuristiche, evoluzione biologica, evoluzione simulate, problem di ottimizzazione.
Nozioni e concetti di base, blocchi elementari degli algoritmi evolutivi, tecniche di ottimizzazione, gradiente ascendente o discendente, Hill Climbing, Simulated Annealing, accettazione a soglia, algoritmo del grande diluvio.
Elementi degli algoritmi evolutivi, codifica dei candidati soluzione, epistasi, fitness e selezione, selezione proporzionale alla fitness, il probelma della dominanza, diminuzione della pressione selettiva, adattamento della funzione di fitness, problema della varianza, selezione basata sul grado, selezione basata sul torneo, elitismo, tecniche di nicchia, operatori genetici, operatori di mutazione, operatori di cross-over, operatori con genitori multipli, operatori di ricombinazione, ricombinazione interpolante ed extrapolante.
Fondamenti degli algoritmi evolutivi, algoritmi genetici, theorem dello schema.
Strategie evolutive, selezione, adattamento globale della varianza, adattamento locale della varianza, covarianze, operatori di ricombinazione.
Programmazione genetica, inizializzazione, operatori genetici, introni.
Ottimizzazione a molti criteri, combinazione peseta dei criteri, soluzioni Pareto ottimali, trovare le frontier di Pareto con algoritmi evolutivi, parallelizzazione.
Particle Swarm Optimization, influenza dei parametri, Particle Swarm Optimization a molti obiettivi.
Ant Colony Optimization.
Prerequisiti
Sono richieste conoscenze relative a concetti di base di informatica, programmazione, e matematica del continuo e discreta.
Metodi didattici
Lezioni frontali in aula.
Materiale di riferimento
R. Kruse, C. Borgelt, C. Braune, S. Mostaghim, M. Steinbrecher, Computational Intelligence: A Methodological Introduction, Springer, 2016
Slide e registrazioni delle lezioni sono disponibili sul sito web del corso: http://vpiuriai.ariel.ctu.unimi.it/
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste in una prova scritta volta ad accertare la preparazione e la comprensione della materia. La prova consiste in domande di teoria. La durata della prova è 2:00h. La valutazione espressa in trentesimi terrà conto della correttezza, completezza e chiarezza espositiva delle risposte alle domande. L'esame non è sufficiente se una o più risposte non sono sufficienti. Durante la prova scritta non è consentito l'utilizzo di alcun materiale.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Docente: Piuri Vincenzo
Siti didattici
Docente/i
Ricevimento:
9.30-13 e 14-19 di qualunque giorno feriale, quando presente in Sede e non impagnato con lezioni o riunioni dipartimentali (prendere appuntamento per email); se in missione per servizio, fissare per email un appuntamento telefonico o in skype
ufficio principale - sede di Milano - via Celoria 18 (ufficio secondario - sede di Crema)