NUMPHYsandML: Difference between revisions

From Wiki Cours
Jump to navigation Jump to search
 
(102 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
= Numerical Physics and Machine Learning =
[[File:CFP_2018_sinai.jpg|600px|thumb|Sinaï's billard]]
= Oral exams December 9-11 AND FRIDAY 13=


'''New slots have been added on Friday morning 13th'''. Fill them up.
Each interview lasts 20' and will take place at the ENS.
'''Fix your exam slot''' starting by now [https://docs.google.com/spreadsheets/d/1g-T2k-NdcPdvruAdOMfU9MPBqmD7AUXph1XkSng0wVo/edit?usp=sharing on this page]


First arrived, first served. In case of any issue, please take contact with us by e-mail. Good luck!


= Course description =  
== Course description ==  


<div>
We will cover many algothims used in many-body problems and complex systems: Monte Carlo methods, molecular dynamics and  optmization in complex landscapes. We shall also discuss the use of some machine learning algorithms (Boltzmann machines, Auto-encoder, Deep Learning) for physics problems.
NumPhys is a general course in Computational Physics, with applications in Statistical Physics and Condensed Matter.
We focus on algorithms and physics, not on programming and heavy numerics. The theoretical lecture is followed by a tutorial introducing concrete numerical exercises. You will have to hand in 3 homeworks.
We cover the many algorithms used in modern many-body problems: molecular dynamics, Monte Carlo (classical and quantum), exact diagonalization and optmization in complex landscapes. Implications to computer science are also discussed. We focus on algorithms and physics, not on programming and heavy numerics. The theoretical lecture is followed by a tutorial introducing many concrete numerical exercises. You will have to hand in 3 homeworks.
</div>


= Team =
'''Lectures on machine learning will be done remotely. You will be able to access them on https://epfl.zoom.us/my/krzakalaflorent Tutorials will take place as usual on the gotomeeting.'''


* [http://lptms.u-psud.fr/alberto_rosso/ Alberto ROSSO] ([http://lptms.u-psud.fr/ LPTMS, CNRS et Université Paris-Sud, Orsay])
* [http://lptms.u-psud.fr/membres/groux/ Guillaume ROUX] ([http://lptms.u-psud.fr/ LPTMS, CNRS et Université Paris-Sud, Orsay])
* [https://www.lps.u-psud.fr/index.php?page=pageperso&nom=CIVELLI&prenom=Marcello&lang=fr Marcello CIVELLI] ([https://www.lps.u-psud.fr/?lang=en LPS, Université Paris-Sud, Orsay])


= Schedule =
== The Team ==


* Lectures on Fridays: 14.0-16.00
* [http://lptms.u-psud.fr/alberto_rosso/ Alberto Rosso] (Numerical Physics)
* Tutorials on Fridays: 16h00-18.00
* [https://florentkrzakala.com/ Florent Krzakala] (Machine Learning)
* ENS, 24 rue Lhomond, room Conf IV (2nd floor)
* Marko Medenjak (Tutorials)


Here you find the scheduling of
== Where and When ==
[https://docs.google.com/spreadsheets/d/1NlHTj7ypYoVyy6c9jpq-93NxDryAfbvy1vnOgA3ucPE/edit#gid=245193379/pubhtml Lectures, Tutorials and Homeworks]


<!--
* Lectures on Fridays: 14:00-16:00
[https://docs.google.com/spreadsheets/d/e/2PACX-1vS0bnp7cPVTnbxd77_y-QRiuMzLGKq7DOIKsI-LpoXZvOk43ykDL_glD6RlPd9ubz-9RL12Xh_a9igE/pubhtml Notes and Tutorials]-->
* Tutorials on Fridays: 16:00-18:00
<!--
* ENS, 24 rue Lhomond, room L367 (third floor)
<iframe src="https://docs.google.com/spreadsheets/d/e/2PACX-1vS0bnp7cPVTnbxd77_y-QRiuMzLGKq7DOIKsI-LpoXZvOk43ykDL_glD6RlPd9ubz-9RL12Xh_a9igE/pubhtml?gid=245193379&amp;single=true&amp;widget=true&amp;headers=false"></iframe>
-->


= Language =


The working language for this course is English.<br>
== Computer Requirements ==
Programming Language: Python 3. See [[Memento Python]]<br>
 
'''No previous experience in programming is required.''' <br>
'''No previous experience in programming is required.''' <br>
You need first of all to have [[Installing_Python |Python installed]] with at least modules NumPy, SciPy and matplotlib.


= Grading =
'''Programming Language: Python'''
 
For practical installation, we recommand either to use  Anaconda (See [[Memento Python]]) or use google colab. <br>
The Colaboratory platform from Google is quite good way to use powerful computer without buying one: It requires no specific hardware or software, and even allows you to use GPU computing for free,  all by writting a jupyter notebook that you can then share.
 
== Grading ==
 
Homeworks (50% of the mark) + 1 MCQ (50% of the final mark)
 
== Schedule ==
 
 
 
 
 
'''Friday, September 4, 2020 '''
 
* [https://drive.google.com/file/d/1X9h3lKD0OZLTKtxb7DWPfynY42rRuE7j/view?usp=sharing Lecture 1]  Introduction to Monte Carlo
 
* [https://drive.google.com/file/d/1sIv3qOdyE-XYkjYC-dkNsR72f4BgaQ_y/view?usp=sharing Tutorial 1] Markov Matrix
 
'''Friday, September 11, 2020'''
 
 
 
* [https://drive.google.com/file/d/15wrgivn6FSnuBUnMwjjhadmD-g1fkS7T/view?usp=sharing Lecture 2] Basic Sampling
 
* [https://colab.research.google.com/drive/1aMo4Ur-0_b4dGhdIfxAmCC2ci1rOda_v?usp=sharing Tutorial 2] Markov matrix [https://colab.research.google.com/drive/1Q5ajzxRGXBBorA9cQ9o8V5VUVJhUXpPS?usp=sharing problems]
 
 
'''Friday, September 18, 2020'''
 
*  [https://drive.google.com/file/d/1ALR_QKLXdHby54xNux39NUOk4L-Ne1EW/view?usp=sharing  Lecture 3]: Errors and Precision
 
* [https://colab.research.google.com/drive/1k60-ChM3aUWjGsiRsf2Idx9jxHHtwyAb?usp=sharing Tutorial 3] Thumb rule [https://colab.research.google.com/drive/1fdKJlp0lD4k530oRuu50_Hm_T8t3jixa?usp=sharing problems]
 
Homework: [https://drive.google.com/file/d/1g7HXFUBQUBF0fhy5h2jYbfIAVBTqvb7-/view?usp=sharing  Download]
 
 
'''Friday, September 25, 2020'''
 
 
* [https://drive.google.com/file/d/1DijhG_856OAuj42WqY1UM47APmMy3A8B/view?usp=sharing Lecture 4]: Ising model and phase transitions
 
* [https://colab.research.google.com/drive/1nU4E_pFWjSFPNigzy8-LcJpef26IKY6x?usp=sharing Tutorial 4]: Ising model and phase transitions [https://colab.research.google.com/drive/1AEUX3U7hxDR_YYy8ld3knTEVR1KYa9SP?usp=sharing problems]
 
 
 
'''Friday, October 2, 2020'''
 
 
[https://drive.google.com/file/d/1JY7PlB00hGpw1814lUyVor37E-um3xQj/view?usp=sharing Lecture 5]: Quantum particle
 
[https://colab.research.google.com/drive/1mYLzPTV79kpesX2ZR8LlQfdyGva45o9p?usp=sharing Tutorial 5]: Time evolution (quantum) [https://colab.research.google.com/drive/142acFqwTI91RZT_9gSb1-JHs9rd2PO_E?usp=sharing problems]
 
Homework 2: [https://drive.google.com/file/d/1lTgHlAvWAKhkZK13_yihmPxGzD3qo7ko/view?usp=sharing Download]
 
 
 
'''Friday, October 9, 2020'''
 
[https://drive.google.com/file/d/1eY5cuNcJqYw7df0PBkxq03tEnqzTOC-5/view?usp=sharing Lecture 6]: Importance sampling
 
[https://colab.research.google.com/drive/1KyT442vB4EuGKBy_Xj3j8cLtMMl4gbac?usp=sharing Tutorial 6]: Faster than the clock algorithms [https://colab.research.google.com/drive/1C-ieAwaAKwkX5MFm8aX2kNO2GNeO9CdY?usp=sharing problems]
 
 
 
''' Friday, October 16, 2020'''
 
'''GoToMeeting link''' [https://global.gotomeeting.com/join/854835733] (Room 1 M2 ICFP)
 
 
[https://drive.google.com/file/d/1qAG8ARVuuXjMzQkU8I92KUEEPZxK5ynr/view?usp=sharing  Lecture 7]: Optimization & Dijkstra algorithm
 
[https://colab.research.google.com/drive/1p0ooWAXF9KNh-FztMHmVoA9yBzYOM8PC?usp=sharing Tutorial 7]: Simulated annealing [https://colab.research.google.com/drive/1txJGpzreHurWux7ev6sDsX8TjzpeQhZZ?usp=sharing problems]
 
 
 
 
'''Friday, October 23, 2020'''
 
Lecture 8: Maximum Likelyhood estimation:
 
[https://colab.research.google.com/drive/1m2YBrQLfhVSMBpTEsfvOf4hXVZplp1D7?usp=sharing#scrollTo=-cLvGNzqh2Ah Tutorial 8]: Maximum Likelyhood estimation [https://colab.research.google.com/drive/1p2ZcgOUPcUS3LGP3k7-N8ZBbA2FM4qrs?usp=sharing problems]
 
''' Due: Homework 2  (send it to Marko)'''
 
 
 
'''Friday, November 06, 2020'''
 
Lecture 9: Restricted Boltzmann machines
 
[https://colab.research.google.com/drive/1pUeAtNXo-eLyTs9Kl6_fchsqsBxeEiKg?usp=sharing Tutorial 9]: Restricted Boltzmann machines [https://colab.research.google.com/drive/1rctxia3v3y_AMOXYIHh3hL6NuxmbL2CB?usp=sharing problems]
 
 
 
'''Friday, November 13, 2020'''
 
[https://colab.research.google.com/drive/1gpDaNKhg3vZqbsYPJqPSZCgboHfgki3F?usp=sharing Tutorial 10]: k-NN and regression [https://colab.research.google.com/drive/1d66oT7a5JuIHgHJjAbEsUQ9IccCrASsk?usp=sharing problems]
 
'''Homework 3''' Due by December 4, 2020
[https://colab.research.google.com/drive/1NkJPKqkut-7Vbr-0jtiyi1tXarvxLUsU?usp=sharing Homework]
[https://drive.google.com/file/d/1Nts8Dc06QjZ7E2uFPj4D6YHVZTTgJeih/view?usp=sharing Data]
 
 
 
'''Friday, November 27, 2020'''
 
Tomorrow Florent cannot really give the talk in direct live ... but never fear:
* he can make a short Q/A tomorrow at, say, 15h or 15H30
 
* he registered the whole lecture in video, and put it here:
 
[https://www.dropbox.com/s/1yvmqbb5bb67w8n/video_lec4.mov?dl=0 Lecture 11]
 
[https://www.dropbox.com/s/dl31z2306y9salr/ML-lec4.pdf?dl=0 The notes]                   
 
 
 
[https://colab.research.google.com/drive/1OfxV5oL-9CVOxuhKgUF8AsboB89fm2xQ?usp=sharing Tutorial 11] Deep neural networks
[https://colab.research.google.com/drive/1Zblg4v9RE-zcIgIHI3It9Kw8EmzcvwjR?usp=sharing problems]
 
 
 
'''Friday, December 4, 2020'''
 
[https://colab.research.google.com/drive/1yxct9k6f2BioBQ6OywN22yfeDtGH_SlJ?usp=sharing Tutorial 12] Convolutional neural networks and auto-encoders
 
'''Due: Homework 3''' (send it to me (Marko))
 
 
 
'''Friday, December 11, 2020'''
 
'''Multiple Choice Questions: '''
 
-------------
'''The Solution''' [https://drive.google.com/file/d/1lMwtaAHerJ4uffZoE9egy7Pa_V2-cwOe/view?usp=sharing]
 
 
 
 
'''The test'''
 
The MCQ is composed of 20 questions.  For each question you have 4 choices: 3 wrong and 1 correct.
 
* If you check the correct one you get a point.
 
* If you are wrong you loose 1/4 of a point.
 
* No answer given: zero points.
 
''' The Zoom link'''
 
Follow the link [https://zoom.us/j/4583355667?pwd=bUExNDJ1OU9IZEF6VUV5cmZKWDJ1dz09]. I will be there starting from 13h30, we will discuss the rules and I will be there to help you if you face a problem.
 
 
'''Time schedule'''
 
* The exam starts at 14h00: you download your file of questions from that dropbox directory that brings your name.
 
* Name the file with your answers as familyname_name.txt.
 
* The answers shuld be presented in the following way:


3 homeworks (10 points each) + 1 MCQ (20 points) + 1 oral exam (50 points)
1 A


= WIFI =
2 B


The WIFI network is: '''PHYS-GUEST'''
4 C


The WIFI password for this networks is: '''PhysiqueENS'''
(if some question is missing - as question 3 here - it  is not a problem)


Then you can run a navigator (Firefox, Chrome, IE, Safari...)
* Send the file with your answers at numphys.icfp@gmail.com before  4 pm.


Accept the certificat and enter the password: '''numerical.physics@phys.ens.fr'''
'''Rules'''


* You are allowed to use all material you think useful.


= Forum =
* You are not allowed to communicate with other people. Questions will be randomised to make hard life of cheaters, but please do not be one of them!


[http://numphys.forumactif.com/ here it is] please register


'''GOOD LUCK!'''


== References ==
== References ==
* [http://www.lps.ens.fr/~krauth/index.php/SMAC SMAC W. Krauth Statistical Mechanics: Algorithms and Computations (Oxford: Oxford University Press) (2006)]
* [http://www.lps.ens.fr/~krauth/index.php/SMAC SMAC W. Krauth Statistical Mechanics: Algorithms and Computations (Oxford: Oxford University Press) (2006)]
* Other references are specified in each lectures
* Other references are specified in each lectures

Latest revision as of 12:33, 4 November 2021

Numerical Physics and Machine Learning

Course description

We will cover many algothims used in many-body problems and complex systems: Monte Carlo methods, molecular dynamics and optmization in complex landscapes. We shall also discuss the use of some machine learning algorithms (Boltzmann machines, Auto-encoder, Deep Learning) for physics problems. We focus on algorithms and physics, not on programming and heavy numerics. The theoretical lecture is followed by a tutorial introducing concrete numerical exercises. You will have to hand in 3 homeworks.

Lectures on machine learning will be done remotely. You will be able to access them on https://epfl.zoom.us/my/krzakalaflorent Tutorials will take place as usual on the gotomeeting.


The Team

Where and When

  • Lectures on Fridays: 14:00-16:00
  • Tutorials on Fridays: 16:00-18:00
  • ENS, 24 rue Lhomond, room L367 (third floor)


Computer Requirements

No previous experience in programming is required.

Programming Language: Python

For practical installation, we recommand either to use Anaconda (See Memento Python) or use google colab.
The Colaboratory platform from Google is quite good way to use powerful computer without buying one: It requires no specific hardware or software, and even allows you to use GPU computing for free, all by writting a jupyter notebook that you can then share.

Grading

Homeworks (50% of the mark) + 1 MCQ (50% of the final mark)

Schedule

Friday, September 4, 2020


Friday, September 11, 2020



Friday, September 18, 2020

Homework: Download


Friday, September 25, 2020



Friday, October 2, 2020


Lecture 5: Quantum particle

Tutorial 5: Time evolution (quantum) problems

Homework 2: Download


Friday, October 9, 2020

Lecture 6: Importance sampling

Tutorial 6: Faster than the clock algorithms problems


Friday, October 16, 2020

GoToMeeting link [1] (Room 1 M2 ICFP)


Lecture 7: Optimization & Dijkstra algorithm

Tutorial 7: Simulated annealing problems



Friday, October 23, 2020

Lecture 8: Maximum Likelyhood estimation:

Tutorial 8: Maximum Likelyhood estimation problems

Due: Homework 2 (send it to Marko)


Friday, November 06, 2020

Lecture 9: Restricted Boltzmann machines

Tutorial 9: Restricted Boltzmann machines problems


Friday, November 13, 2020

Tutorial 10: k-NN and regression problems

Homework 3 Due by December 4, 2020 Homework Data


Friday, November 27, 2020

Tomorrow Florent cannot really give the talk in direct live ... but never fear:

  • he can make a short Q/A tomorrow at, say, 15h or 15H30
  • he registered the whole lecture in video, and put it here:

Lecture 11

The notes


Tutorial 11 Deep neural networks problems


Friday, December 4, 2020

Tutorial 12 Convolutional neural networks and auto-encoders

Due: Homework 3 (send it to me (Marko))


Friday, December 11, 2020

Multiple Choice Questions:


The Solution [2]



The test

The MCQ is composed of 20 questions. For each question you have 4 choices: 3 wrong and 1 correct.

  • If you check the correct one you get a point.
  • If you are wrong you loose 1/4 of a point.
  • No answer given: zero points.

The Zoom link

Follow the link [3]. I will be there starting from 13h30, we will discuss the rules and I will be there to help you if you face a problem.


Time schedule

  • The exam starts at 14h00: you download your file of questions from that dropbox directory that brings your name.
  • Name the file with your answers as familyname_name.txt.
  • The answers shuld be presented in the following way:

1 A

2 B

4 C

(if some question is missing - as question 3 here - it is not a problem)

  • Send the file with your answers at numphys.icfp@gmail.com before 4 pm.

Rules

  • You are allowed to use all material you think useful.
  • You are not allowed to communicate with other people. Questions will be randomised to make hard life of cheaters, but please do not be one of them!


GOOD LUCK!

References