Neurobayesian models 2020
Lector: Dmitry Vetrov
Tutors: Kirill Struminsky, Dmitry Molchanov, Kirill Neklyudov, Artem Sobolev, Arsenii Ashukha, Oleg Ivanov, Artyom Gadetsky, Aibek Alanov.
Manager: Alexander Grishin
Contacts: All the questions should be addressed to bayesml@gmail.com. Subject line of any letter must contain the following tag: [HSE NBM20]. Letters without the tag will be most probably lost in the inbox.
We also have a chat in Telegram. Its main language is English. All important news will be announced in the chat.
Содержание
Course description
This course is devoted to Bayesian reasoning in application to deep learning models. Attendees would learn how to use probabilistic modeling to construct neural generative and discriminative models, how to use the paradigm of generative adversarial networks to perform approximate Bayesian inference and how to model the uncertainty about the weights of neural networks. Selected open problems in the field of deep learning would also be discussed. The practical assignments will cover implementation of several modern Bayesian deep learning models.
News
The first assignment has been uploaded to anytask. Deadline: 15 February, 21:00.
Grading System
The assessment consists of 4 practical assignments and a final oral exam. Practical assignments consist of programming some models/methods from the course in Python and analysing their behavior: Sparse Variational Dropout, Normalizing flows, VAE, and Discrete Latent Variables. At the final exam students have to demonstrate knowledge of the material covered during the entire course.
Final course grade is obtained (*) from the following formula:
О_final = 0,7 * О_cumulative + 0,3 * О_exam,
where О_cumulative is a weighted average grade for the practical assignments:
О_cumulative = 1/6 * O(SVDO) + 1/3 * O(NF) + 1/3 * O(VAE) + 1/6 * O(DLV)
All grades are in ten-point grading scale. If О_cumulative or О_final has a fractional part greater or equal than 0.5 then it is rounded up.
Assignment is considered completed if the grade is equal or greater than 5 out of 10. Necessary condition for O_final to be greater or equal to 4/6/8 is to complete one/two/three assignment and pass the exam.
Assignments
- The course contains four practical assignments. Solutions should be submitted to anytask. To get the invite, please write to the course e-mail. The site has an interface only in Russian, so non-Russian speaking students may submit their solutions to the course e-mail. In this case, the subject line of the letter in addition to the tag should contain your name, surname and assignment number.
- All assignments should be coded in Python 3 using PyTorch.
- Students have to complete all assignments by themselves. Using code of your colleagues or code from open implementations is prohibited and will be considered as plagiarism. All involved students (including those who shared their solutions) will be severely punished.
- Assignments are scored up to 10 points. Each assignment has a deadline, a penalty is charged in the amount of 0.3 points for each day of delay, but in total not more than 6 points. You will have 1 to 2 weeks to solve an assignment. Some assignments may contain bonus parts.
Approximate dates of assignments' upload: 8 February, 15 February, 1 March, 15 March
Exam
Exam questions will be published here.
At the beginning of the exam, we will give you a random question from the main part of the exam questions list. You will have one hour to prepare your answer. During this hour you may use any materials (including the ones on your laptop).
Then you discuss your answer with an examiner, answer questions from the theoretical minimum, answer additional questions on the course and solve problems. At this part of the exam, you CAN NOT use any materials. Please pay attention to the theoretical minimum - inability to answer any questions from it automatically entails an unsatisfactory mark for the exam.
Course Plan
№ | Date | Theme |
---|---|---|
1 | 30 January | Lecture: Stochastic Variational Inference |
30 January | Seminar: Application of SVI to Latent Dirichlet Allocation model | |
2 | 30 January | Lecture: Doubly Stochastic Variational Inference |
31 January | Seminar: Reparametrization Trick and Variance Reduction | |
3 | 6 February | Lecture: Bayesian Neural Networks |
6 February | Seminar: Local Reparametrization Trick | |
4 | 13 February | Lecture: Variational autoencoders (VAE) and normalizing flows (NF) |
13 February | Seminar: Importance Weighted Autoencoders + more complex NF | |
5 | 20 February | Lecture: Discrete Latent Variables and Variance Reduction |
20 February | Seminar: Discrete Latent Variables and Variance Reduction | |
6 | 27 February | Lecture: Implicit Variational Inference using Adversarial Training |
27 February | Seminar: f-GAN | |
7 | 5 March | Lecture: TBA |
5 March | Seminar: TBA | |
8 | 12 March | Lecture: Deep Markov chain Monte Carlo (MCMC) |
12 March | Seminar: Deep Markov chain Monte Carlo (MCMC) |
Course Materials
List of materials from previous year (relevant papers, blogposts, etc.)
Natural gradient, Fisher Information matrix, VI by Artem Sobolev
Discrete Latent Variables and Variance Reduction by Artem Sobolev
SIVI lecture papers by Dmitry Molchanov
Reading List
- Murphy K.P. Machine Learning: A Probabilistic Perspective. The MIT Press, 2012.
- Bishop C.M. Pattern Recognition and Machine Learning. Springer, 2006.
- Mackay D.J.C. Information Theory, Inference, and Learning Algorithms. Cambridge University Press, 2003.
- Ian Goodfellow, Yoshua Bengio & Aaron Courville. Deep Learning. MIT Press, 2016.