Vai al contenuto principale
Oggetto:
Oggetto:

Machine Learning for Applied Physics and High Energy Physics

Oggetto:

Machine Learning per la fisica applicata e fisica delle alte energie

Oggetto:

Anno accademico 2023/2024

Codice attività didattica
FIS0204
Docenti
Simon David Badger (Titolare)
Emanuele Roberto Nocera (Titolare)
Corso di studio
008510-101 Laurea Magistrale in Fisica ind. Fisica Nucleare e Subnucleare e Biomedica
008510-102 Laurea Magistrale in Fisica ind. Astrofisica e Fisica Teorica
008510-105 Laurea Magistrale in Fisica ind. Fisica del Sistema Meteoclimatico, Generale e delle Tecnologie Avanzate
Anno
2° anno
Periodo
Primo semestre
Tipologia
D=A scelta dello studente
Crediti/Valenza
6
SSD attività didattica
FIS/02 - fisica teorica, modelli e metodi matematici
Erogazione
Tradizionale
Lingua
Inglese
Frequenza
Facoltativa
Tipologia esame
Orale
Prerequisiti
The course assumes knowledge of the python programming language (version 3.9 or higher), in particular of the numpy and scipy libraries. Familiarity with the concepts of functional and object programming is also required, as introduced in the course Tecniche Informatiche per la Fisica (MFN1309). It may be useful to check the “Beginner” section of this link.
L’insegnamento presuppone la conoscenza del linguaggio di programmazione python (versione 3.9 o superiore), in particolare delle librerie numpy e scipy. È inoltre richiesta familiarità con i concetti di programmazione funzionale e a oggetti, come introdotti nell’insegnamento Tecniche Informatiche per la Fisica (MFN1309). Può essere utile prendere visione della sezione “Beginner” a questo link.
Propedeutico a

At the end of the course, the student will become familiar with the techniques and software utilised in research, both in the academic and industrial fields.


Al termine dell’insegnamento, si conosceranno tecniche e software di Machine Learning utilizzati nella ricerca, in ambito sia accademico sia industriale.

Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

The course contributes to the achievement of the educational objectives of the Master's Degree in Physics. In particular, it aims to provide students with the specific knowledge necessary to understand modern numerical techniques used in scientific and technological innovation. The course will make students familiar with the language, the algorithms and the software used by Machine Learning in fundamental and applied research. The course will let students acquire skills in the design and development of numerical analysis methodologies, in view of either a further academic training or an occupation in industrial R&D.
L’insegnamento concorre alla realizzazione degli obiettivi formativi del Corso di Laurea Magistrale in Fisica. In particolare, esso si propone di fornire le conoscenze specifiche necessarie alla comprensione delle moderne tecniche numeriche di cui si avvale l’innovazione scientifica e tecnologica. Scopo dell’insegnamento è rendere studentesse e studenti familiari con il linguaggio, gli algoritmi e il software utilizzati dal Machine Learning, in modo che possano affrontare percorsi di ricerca scientifica di base e applicata, nonché di acquisire capacità di progettazione e sviluppo di metodologie di analisi numerica, in vista sia di una successiva formazione di terzo livello, sia di un successivo impiego nel settore ricerca e sviluppo.
Oggetto:

Risultati dell'apprendimento attesi

Knowledge and understanding
  • Describe the Machine Learning techniques used in solving complex physical problems.
  • Identify the characteristics of each technique and their appropriateness for solving different problems.
  • Apply specialised software (for example the TensorFlow and Keras libraries) to the solution of physical problem.
Autonomy of judgment
  • Relate a physical problem with Machine Learning techniques appropriate to its resolution.
  • Evaluate the effectiveness of different Machine Learning techniques for the efficient resolution of physical problems.
Communication skills
  • Use the language of Machine Learning.
  • Communicate the results of solving a physical problem accurately and clearly.
Conoscenza e capacità di comprensione
  • Descrivere le tecniche di Machine Learning utilizzate nella risoluzione di problemi fisici complessi.
  • Individuare le caratteristiche di ciascuna tecnica e la corrispondente appropriatezza per la risoluzione di
    un problema dato.
  • Applicare software specializzato (per esempio le librerie TensorFlow e Keras) alla soluzione di un
    problema dato.
Autonomia di giudizio
  • Mettere in relazione un problema fisico con tecniche di Machine Learning appropriate alla sua risoluzione.
  • Valutare l’efficacia di tecniche di Machine Learning differenti per la risoluzione efficiente di problemi fisici.
Abilità comunicative
  • Utilizzare con competenza il linguaggio proprio del Machine Learning.
  • Comunicare con precisione e chiarezza i risultati della risoluzione di un problema fisico.
Oggetto:

Programma

The teaching program is divided into three parts, outlined as follows. After a first part dedicated to the formal presentation of Bayesian statistics, various Machine Learning techniques will be presented, respectively in the context of supervised and unsupervised learning. Each of them will be introduced by a physics problem used as an example, indicated in parentheses. These problems will be provided to the student in the form of Jupyter notebooks, which they could expand, individually or collectively, to study the problem with different techniques. The program may undergo additions and/or variations according to the specific interests of the students.

Part I - Advanced concepts of Bayesian statistics

  • Review of probability and statistics; Bayes theorem.
  • Statistical optimization.
  • Linear models: regression and statistical classification.

Part II - Supervised Learning

  • Regression methods (example: amplitudes, MC events).
  • Classification methods (example: jet substructure; cosmological model selection).
  • Expansion and regularization methods (example: fast-interpolation/convolution).
  • Neural Networks (example: determination of parton distribution functions).

Part III - Unsupervised Learning

  • Dimensional reduction methods: principal component analysis (example: Ising model).
  • Clustering methods: the Kmeans++ algorithm (example: jet clustering).
  • Generative methods: generative adversarial neural networks (example: compression of a statistical ensemble).

Il programma dell’insegnamento si articola in tre parti, delineate come segue. Dopo una prima parte dedicata
alla presentazione formale di argomenti di statistica Bayesiana, varie tecniche di Machine Learning saranno
presentate, rispettivamente nell’ambito del supervised e dell’unsupervised learning. Ciascuna di esse sarà
introdotta da un problema fisico di esempio, indicato tra parentesi. Gli esempi saranno forniti
sotto forma di Jupyter notebooks, che le studentesse e gli studenti potranno espandere, in modo individuale o
collettivo, per studiare il problema con tecniche diverse. Il programma potrà subire integrazioni e/o variazioni
a seconda degli interessi specifici di chi frequenta le lezioni.


Parte I - Concetti avanzati di statistica Bayesiana

  • Richiami di probabilità e statistica; il teorema di Bayes.
  • Ottimizzazione statistica.
  • Modelli lineari: regressione e classificazione statistica.

Parte II - Supervised Learning

  • Metodi di regressione (esempio: amplitudes, MC events).
  • Metodi di classificazione (esempio: jet substructure; cosmological model selection).
  • Metodi di espansione e di regolarizzazione (esempio: fast-interpolation/convolution).
  • Reti Neurali (esempio: determinazione delle funzioni di distribuzione partoniche).

Parte III - Unsupervised Learning

  • Metodi di riduzione dimensionale: analisi delle componenti principali (esempio: modello di Ising).
  • Metodi di clustering: l’algoritmo Kmeans++ (esempio: jet clustering).
  • Metodi generativi: generative adversarial neural networks (esempio: compressione di un ensemble
    statistico).
Oggetto:

Modalità di insegnamento

The course is divided into 48 hours of teaching, carried out in three distinct blocks, respectively of 12, 24 and 12 hours. The three blocks roughly correspond to each of the three parts indicated in the program. The first and the third block are read by Prof. Nocera; the second by Prof. Badger. The lectures, of two hours each, will take place twice a week (for details, see the section Orario lezioni). The first block will be delivered in the form of frontal teaching and will end with an exercise session, not subject to evaluation, in which the lecturer will comment on the solution of a sheet of exercises previously assigned to students. Students are encouraged to carry out the exercises individually and to collaboratively discuss any difficulties with their classmates and/or the lecturers. The exercise will allow students to verify their understanding of the concepts discussed in the first didactic block, which are necessary to deal with the following two didactic blocks. The second and third blocks will be provided interactively. The lecturesrs will present a physical problem, as indicated in the program, and will discuss one or more numerical ways to deal with it. Students will be invited to discuss alternative solutions to the problem in class. For this purpose, students will be able to use a scientific article selected from a set of articles proposed by lecturers. During the discussion, lecturers will provide feedback on the correct understanding of the problem, on the appropriateness of the techniques identified and on the effectiveness of their application. At the end of the third didactic block, an activity is foreseen in which each student presents the essential lines within which they intend to develop the exam project. The lecturers will provide feedback on the appropriateness of the content and structure of the project.  
L’insegnamento si articola in 48 ore di didattica, svolte in tre blocchi distinti, rispettivamente di 12, 24 e 12 ore. I tre blocchi corrispondono grosso modo a ciascuna delle tre parti indicate nel programma. Il primo e il terzo blocco sono svolti dal Prof. Nocera; il secondo dal Prof. Badger. Le lezioni, di due ore ciascuna, si svolgeranno due volte alla settimana (per i dettagli si veda la sezione Orario lezioni). Il primo blocco sarà erogato sotto forma di didattica frontale e si concluderà con un’esercitazione, non soggetta a valutazione, in cui il docente commenterà la soluzione di un foglio di esercizi preventivamente assegnati. Studentesse e studenti sono incoraggiati a svolgere gli esercizi individualmente e a discutere collaborativamente eventuali difficoltà con le compagne e i compagni e/o con i docenti. L’esercitazione consentirà di verificare la comprensione dei concetti discussi nel primo blocco didattico, che sono necessari per affrontare i due successivi blocchi didattici. Questi verranno erogati in maniera interattiva. Il docente presenterà un problema fisico, come indicato nel programma, e discuterà una o più modalità numeriche per affrontarlo. Studentesse e studenti saranno invitati a discutere, in classe, soluzioni alternative al problema, anche avvalendosi di un articolo scientifico selezionato da un insieme di articoli proposti dai docenti. Durante la discussione il docente fornirà un riscontro sulla corretta comprensione del problema, sull’appropriatezza delle tecniche individuate e sull’efficacia della loro applicazione. Al termine del terzo blocco didattico, è prevista un’attività in cui chi intende sostenere l'esame finale presenti le linee essenziali del progetto computazionale presentato. Il docente fornirà un riscontro sull’appropriatezza del contenuto e della struttura del progetto.
Oggetto:

Modalità di verifica dell'apprendimento

The examination consists in the preparation of a computational project, in which one or more of the techniques discussed in class are applied to a physical problem chosen by the students and agreed with the lecturers. The problem can be an extension of a problem presented and discussed in class or it can be inspired by one of the scientific papers proposed by the lecturers. Students will present their project in the form of 15 minutes talk, in which they will have to illustrate the problem, as well as the algorithms and software used to solve it. The lecturers will then ask questions relating to the project presented by the student and/or to the topics discussed in class. Students will be able to choose the presentation method (slides, written report, blackboard discussion, etc.). The presentation must be prepared in English. The evaluation will take into account the relevance of the problem and of the Machine Learning techniques used, the accuracy of the results obtained, and the clarity of presentation.


La verifica dell’apprendimento consiste nella preparazione di un progetto computazionale, in cui si applichino una o più tra le tecniche discusse a lezione ad un problema fisico scelto dalle studentesse e dagli studenti e concordato con i docenti a lezione. Il problema può essere un’estensione di un problema presentato e discusso a lezione o può ispirarsi ad uno degli articoli scientifici proposti dai docenti. Il progetto sarà esposto in un colloquio, della durata di circa 15 minuti, in cui si dovranno illustrare il problema, nonché gli algoritmi ed il software utilizzati per la sua risoluzione. In seguito i docenti potranno formulare domande relative al progetto e/o agli argomenti discussi a lezione.  Le modalità di presentazione (diapositive, relazione scritta, discussione alla lavagna, etc.) sono libere. La presentazione dovrà essere preparata in lingua inglese. La valutazione terrà conto della rilevanza del problema e delle tecniche di Machine Learning utilizzate, dell’accuratezza dei risultati ottenuti e della chiarezza espositiva.

Oggetto:

Attività di supporto

The lecturers remain at the student's disposal to answer questions relating to the topics covered in class, the exercises, the scientific paper chosen, and the development of the computational project being evaluated. Students can contact the lecturers at any time, although it is preferable to make an appointment by e-mail.  

I docenti rimangono a disposizione per rispondere a domande relative agli argomenti trattati a lezione, agli esercizi, all'articolo scientifico scelto e allo svolgimento del progetto computazionale oggetto di valutazione. I docenti possono essere contattati in qualunque momento, sebbene sia preferibile fissare un appuntamento per e-mail.
 

Testi consigliati e bibliografia



Oggetto:
Altro
Titolo:  
A Living Review of Machine Learning for Particle Physics
URL:  
Obbligatorio:  
No


Oggetto:
Libro
Titolo:  
The Elements of Statistical Learning: Data Mining, Inference, and Prediction
Anno pubblicazione:  
2018
Editore:  
Springer
Autore:  
T. Hastie, R. Tibshirani, J. Friedman
ISBN  
Permalink:  
Obbligatorio:  
No


Oggetto:
Articolo
Titolo:  
A high-bias, low-variance introduction to Machine Learning for physicists
Titolo rivista:  
Physics Reports
Anno pubblicazione:  
2019
Autore:  
P. Mehta, C.-H. Wang, A. G. R. Day, C. Richardson
Volume:  
810
Pagina iniziale, finale:  
1,124
DOI:  
URL:  
Obbligatorio:  
No


Oggetto:
Libro
Titolo:  
Probabilistic Machine Learning: An Introduction
Anno pubblicazione:  
2022
Editore:  
MIT Press
Autore:  
K. P. Murphy
ISBN  
Permalink:  
Obbligatorio:  
No


Oggetto:
Altro
Titolo:  
Note e Diapositive
Descrizione:  
Repositorio github del corso
URL:  
Obbligatorio:  
No


Oggetto:
Altro
Titolo:  
Github repository of the Course
URL:  
Obbligatorio:  
No


Oggetto:

Orario lezioniV

GiorniOreAula
Lunedì9:00 - 11:00Aula D Dipartimento di Fisica
Martedì14:00 - 16:00Aula D Dipartimento di Fisica

Lezioni: dal 02/10/2023 al 12/01/2024

Registrazione
  • Aperta
    Apertura registrazione
    03/09/2022 alle ore 00:00
    Oggetto:
    Ultimo aggiornamento: 01/10/2023 22:45
    Location: https://www.fisicamagistrale.unito.it/robots.html
    Non cliccare qui!