Programma
Il corso inizia con l'introduzione di semplici modelli di neuroni e reti neurali, la cui indagine può essere affrontata con tecniche analitiche.
Successivamente, si passerà a modelli più sofisticati che saranno studiati da una prospettiva meccanico-statistica. A questo scopo, verranno richiamati i concetti di base della meccanica statistica e della teoria dell'informazione. Ci concentreremo in particolare su modelli (ad esempio, la rete di Hopfield e le macchine di Boltzmann) in grado di imitare la memoria associativa e i processi di apprendimento (semplici), e le loro capacità informative saranno trattate come proprietà collettive emergenti. Verranno proposti alcuni esercizi pratici su questi casi.
Infine, verranno presentati brevemente i modelli più avanzati, sia da un punto di vista teorico che algoritmico.
- Introduzione
Modelli biologici e artificiali
Neurone di McCulloch-Pitts
Reti neurali attrattive
Dinamica neuronale deterministica e stocastica
Memorizzazione hebbiana
- Introduzione alla meccanica statistica di equilibrio
Modello di Curie-Weiss
Transizioni di fase, rottura dell'ergodicità, rottura spontanea della simmetria
Modello di Mattis
Introduzione ai sistemi disordinati: frustrazione, mezzi "quenched" e "annealed", auto-media
Modello Hopfield
Soluzione del modello Hopfield nel regime di basso carico con il metodo dei punti di sella e tecniche di interpolazione
Stati puri e spuri
Tecnica segnale-rumore
Introduzione al modello Sherrington-Kirkpatrick
Soluzione del modello Hopfield nel regime di alto carico con tecniche di interpolazione
Accoppiamento non locale con matrice di interazione pseudo-inversa
- Revisione dell'inferenza statistica
Elementi di teoria dell'informazione
Approccio bayesiano (e rasoio di Occam)
Massima verosimiglianza
Massima entropia
- Introduzione all'apprendimento automatico
Il percettrone di Rosenblatt
Apprendimento bayesiano
Definizioni di apprendimento supervisionato e non supervisionato
Note su autoencoder, reti feed-forward, reti neuronali convoluzionali
Macchine di Boltzmann
Contrastive divergence
Diagrammi di fase per le macchine di Boltzmann
Note sull'apprendimento profondo
- Modelli avanzati ispirati alla neurofisiologia
Prerequisiti
Fondamenti di meccanica statistica (e.g., ensemble canonico, modello di Curie-Weiss) e di processi stocastici (e.g., catene di Markov).
Testi di riferimento
Dispense del docente, disponibili su classroom
Modalità insegnamento
Lezioni in classe con diapositive, dimostrazioni ed esempi alla lavagna con discussioni, esercizi numerici in laboratorio. Sono anche proposti e incoraggiati metodi di apprendimento attivo come progetti di gruppo, classi capovolte, insegnamento just-in-time.
Le lezioni in aula hanno lo scopo di introdurre i concetti principali della meccanica statistica dei sistemi complessi, di definire modelli di reti neurali e strumenti quantitativi per la loro analisi. Le dimostrazioni e altre parti (ad esempio, impostazioni di dimostrazioni per diversi modelli, collegamenti ad altri contesti, semplici esercizi) alla lavagna sono destinati a fornire una conoscenza profonda e rigorosa della materia e a sollecitare il ragionamento critico e una mente flessibile. Gli esercizi in laboratorio hanno lo scopo di migliorare le capacità computazionali degli studenti e renderli consapevoli dei problemi che possono sorgere nell'implementazione pratica delle reti neurali, nonché pronti a trovare soluzioni adeguate. Infine, l'apprendimento attivo ha lo scopo di migliorare le soft-skills come la capacità di lavorare in gruppo e di fare presentazioni efficaci.
Frequenza
Frequenza non obbligatoria
Modalità di esame
Sono possibili due opzioni:
- Esame orale su tutto il programma del corso (come dettagliato in aula) dove lo studente deve dimostrare di essere in grado di presentare argomenti correttamente, con capacità di ragionamento logico, di fornire dettagli e dare esempi, di fare collegamenti con altri argomenti del corso.
- Progetto da svolgere in piccoli gruppi (2-4 persone): l'argomento deve essere concordato con il docente e sviluppato autonomamente; la composizione del gruppo è scelta dagli studenti; ogni progetto deve essere accompagnato da una relazione (10-20 pagine) che deve essere inviata al docente almeno una settimana prima della data dell'esame e che sarà valutata fino a 13/30; nella data dell'esame gli studenti presentano il loro progetto (alla lavagna o tramite slide) in 20 minuti, seguiti da 10 minuti dedicati a domande e discussione sull'argomento specifico del progetto e da 5 minuti dedicati a domande su argomenti correlati che fanno parte del programma del corso, che saranno valutati rispettivamente 13/30 e 5/30. La lode corrisponde a 31/30.
Bibliografia
A.C.C. Coolen, R. Kühn, P. Sollich, Theory of Neural Information Processing Systems, Oxford Press (2005).
C.M. Bishop, Neural Networks for Pattern Recognition, Oxford (1995).
C.M. Bishop, Pattern Recognition and Machine Learning, Springer (2009).
S.O. Haykin, Neural Networks and Learning Machines, Pearson (2009).
D. J. Amit, Modeling Brain Function: The World of Attractor Neural Networks, Cambridge University Press (1989).
B. Tirozzi, Modelli matematici di reti neurali, CEDAM (1995).
Lecturer’s notes, available on classroom
Lecturer’s slides, available on classroom
Modalità di erogazione
Lezioni in classe con diapositive, prove ed esempi alla lavagna con discussioni, esercizi numerici in laboratorio (se disponibile). Sono anche proposti e incoraggiati metodi di apprendimento attivo come progetti di gruppo, flipped classroom, insegnamento just-in-time.
Le lezioni in aula hanno lo scopo di introdurre i concetti principali della meccanica statistica dei sistemi complessi, di definire modelli di reti neurali e strumenti quantitativi per la loro analisi. Le dimostrazioni e altre parti (ad esempio, cenni di dimostrazioni per diversi modelli, collegamenti ad altri contesti, semplici esercizi) alla lavagna sono finalizzati a fornire una conoscenza profonda e rigorosa della materia e a sollecitare il ragionamento critico e una mente flessibile. Gli esercizi al calcolatore hanno lo scopo di migliorare le capacità computazionali degli studenti e renderli consapevoli dei problemi che possono sorgere nell'implementazione pratica delle reti neurali, nonché pronti a trovare soluzioni adeguate. Infine, l'apprendimento attivo ha lo scopo di migliorare le soft-skills come la capacità di lavorare in gruppo e di fare presentazioni efficaci.