This site allows you to watch the videos and download the lecture note pdfs for the course “Machine Learning for Physicists”. That course was taught in the summer term 2017 by Florian Marquardt.

Please see the original course website for instructions of how to install python, theano, and keras, and for example python files!


About these Lectures: Machine Learning for Physicists


Description: This is a course introducing modern techniques of machine learning, especially deep neural networks, to an audience of physicists. Neural networks can be trained to perform many challenging tasks, including image recognition and natural language processing, just by showing them many examples. While neural networks have been introduced already in the 50s, they really have taken off in the past decade, with spectacular successes in many areas. Often, their performance now surpasses humans, as proven by the recent achievements in handwriting recognition and in winning the game of ‘Go’ against expert human players. They are now also being considered more and more for applications in physics, ranging from predictions of material properties to analyzing phase transitions.

Contents: We cover the basics of neural networks (backpropagation), convolutional networks, autoencoders, restricted Boltzmann machines, and recurrent neural networks, as well as the recently emerging applications in physics. We also cover reinforcement learning, which permits to discover solutions to challenges based on rewards (instead of seeing examples with known correct answers). In the end, we describe some general thoughts on future artificial scientific discovery. We present examples using the ‘python’ programming language, which is a modern interpreted language with powerful linear algebra and plotting functions. In particular, we use the “keras” python package that allows to very conveniently implement neural networks with only a few lines of code (using the library “theano”, or, alternatively, “TensorFlow”).

Prerequisites: As a prerequisite you will only need matrix multiplication and the chain rule, i.e. the course will be understandable to bachelor students, master students and graduate students. However, knowledge of any computer programming language will make it much more fun.

Lectures Video: Machine Learning for Physicists

Watch the videos on Apple iTunes or on the Lecture Videos Site of the University Erlangen-Nuremberg, or jump to the direct links below!


Direct Links

Lecture 1: Introduction

Lecture 2: Training a Neural Network

Lecture 3: Training (Backpropagation Algorithm)

Lecture 4: Analyzing a network. Using the python framework “keras”

Lecture 5: Image classification

Lecture 6: Convolutional networks, Autoencoder

Lecture 7: Visualization of neuron activations (t-SNE method), Adaptive Gradient Descent Techniques

Lecture 8: Recurrent networks (LSTM)

Lecture 9: Word Vectors, Reinforcement Learning, REINFORCE (Policy Gradient)

Lecture 10: Policy Gradient (continued), Baseline, alphaGo, Q learning

Lecture 11: Q learning (finished), Restricted Boltzmann Machine

Lecture 12: Neural Network Applications in Science, Artificial Intelligence and Artificial Scientific Discovery

Download the lectures as PDF

These are lectures about neural networks, for physicists. These lectures were delivered in the summer term 2017 by Florian Marquardt at the university of Erlangen-Nuremberg, Germany. Download the PDF here (split into three parts). See the other posts for further information and for the video recordings!

Machine Learning for Physicists (Lectures by Florian Marquardt, Part One) [25 MB]

Machine Learning for Physicists (Part Two) [13 MB]

Machine Learning for Physicists (Part Three) [4 MB]