Neurobayesian models 2019

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Lector: Dmitry Vetrov

Tutors: Alexander Grishin, Kirill Struminsky, Dmitry Molchanov, Kirill Neklyudov, Artem Sobolev, Arsenii Ashukha, Oleg Ivanov, Ekaterina Lobacheva.

Contacts: All the questions should be addressed to Subject line of any letter must contain the following tag: [HSE NBM19]. 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.

Course syllabus


  • The first assignment has been uploaded to anytask. Deadline: 22 February, 23:00.
  • The second assignment has been uploaded to anytask. Deadline: 8 March, 23:00.
  • The third assignment has been uploaded to anytask. Deadline: 15 March, 23:00.
  • A hard deadline for all assignments: 20 March, 23:00.

Grading System

The assessment consists of 3 practical assignments and a final oral exam. Practical assignments consist of programming some models/methods from the course in Python and analysing their behavior: VAE, Normalizing flows, Sparse Variational Dropout. 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 an average grade for the practical assignments.

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.


  • The course contains three 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. Usually you will have 2 weeks to solve an assignment. Some assignments may contain bonus parts.

Approximate dates of assignments' upload: 7 February, 14 February, 28 February

A hard deadline for all assignments: 20 March, 23:00.


Exam questions are 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 24 January Lecture: Stochastic Variational Inference
31 January Seminar: Application of SVI to Latent Dirichlet Allocation model
2 31 January Lecture: Doubly Stochastic Variational Inference
7 February Seminar: Doubly Stochastic Variational Inference
3 7 February Lecture: Variational autoencoders (VAE) and normalizing flows (NF)
14 February Seminar: Importance Weighted Autoencoders + more complex NF
4 14 February Lecture: Implicit Variational Inference using Adversarial Training
21 February Seminar: f-GAN
5 21 February Lecture: Bayesian neural networks
28 February Seminar: Local reparametrization trick
6 28 February Lecture: Bayesian compression of neural networks
7 7 March Lecture: Discrete Latent Variables and Variance Reduction
7 March Seminar: Discrete Latent Variables and Variance Reduction
8 14 March Seminar: Deep Markov chain Monte Carlo (MCMC)
9 14 March Lecture: Semi-implicit variational inference
21 March Seminar: VampPrior

Course Materials

List of all materials (relevant papers, blogposts, etc.)

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.

Useful links

[The same course at CS MSU] (contains more materials in Russian)
BayesGroup page