Deep Probabilistic Programming Course @ DIKU

Overview

Syllabus

Part I - Introduction to Deep Probabilistic Programming

Week Topic Exercise Links
1 Introduction to Bayesian Inference Read Pattern Recognition and Machine Learning (PRML), Sections 1.1-1.3, 1.5-1.6 & 2-2.3.4 (inclusive ranges), Intro to Bayesian updating paper, and Pyro paper.

Form up groups and ask a question for each chapter/paper you have read.
Pattern Recognition and Machine Learning

Bayesian Updating Paper

Pyro Paper
2 Variational Inference Read the Variational Inference paper and Pyro tutorials on Stochastic Variational Inference (SVI). Ask three questions about them.

Use Pyro’s Variational Inference support to implement the kidney cancer model. See worksheet and Bayesian Data Analysis 3rd Edition (BDA3) Section 2.7.
Variational Inference Paper

Worksheet

Bayesian Data Analysis

Pyro SVI tutorial: Part I and Part II

Pyro Website
3 Hamiltonian Monte Carlo Read paper on Hamiltonian Monte Carlo and blog post on gradient-based Markov Chain Monte Carlo (MCMC). Look at the source code for Mini-MC.

Ask a question each for HMC, the Mini-MC implementation and discrete variable marginalization.

Implement Bayesian Change-point model in Pyro using NUTS.
Hamiltonian Monte Carlo Paper

Gradient-based MCMC

Mini-MC implementation

Change-point model

Pyro NUTS Example
4 Hidden Markov Models and Discrete Variables. Read Paper on Hidden Markov Models and ask three questions about it.

Read Pyro tutorials on Discrete Variables and Gaussian Mixture Models.

Read Pyro Hidden Markov Model code example and describe in your own words what the different models do.

Add amino acid prediction output to the TorusDBN HMM and show that the posterior predictive distribution of the amino acids matches the one found in data.
Hidden Markov Models

Pyro Discrete Variables Tutorial

Pyro Gaussian Mixture Model Tutorial

Pyro Hidden Markov Model Example

TorusDBN

Optional: Epidemological Inference via HMC
5 Bayesian Regression Models Read PRML Chapter 3 on Linear Models.

Ask 3 questions about the chapter.

Read the Pyro tutorials on Bayesian Regression.

Solve the weather check exercise in the worksheet.
Pyro Bayesian Regression: Part I, Part II

Worksheet
6 Variational Auto-Encoders Read Variational Auto Encoders (VAE) foundations Chapters 1 & 2, and Pyro tutorial on VAE. Ask three questions about the paper and tutorial.

Implement Frey Faces model from VAE paper in Pyro. Rely on the existing VAE implementation (see tutorial link).
Variational Auto Encoders Foundations

Pyro Tutorial on VAE
7 Deep Generative Models Read one of these papers: Interpretable Representation VAE, Causal Effect VAE, Deep Markov Model or DRAW (one paper per group).

Try out the relevant Pyro or PyTorch implementation on your choice of relevant dataset which was not used in the paper.

Make a small (10 minute) presentation about the paper and your experiences with the implementation.
Deep Markov Model

Interpretable Representation VAE

Causal Effect VAE

DRAW

Part II - Deep Probabilistic Programming Project

The second part of the course concerns applying the techniques learned in the first part, as a project solving a practical problem. We have several types of projects depending on the interests of the student.

For those interested in boosting their CV and potentially getting a student job, we warmly recommend working with one of our industrial partners on a suitable probabilistic programming project. For those interested in working with a more academic-oriented project, we have different interesting problems in Computer Science and Biology.

Industrial Projects

Company Area Ideas
 Relion Shift-planning AI Shift planning based on worker availability, historical sales data, weather and holidays.

Employee satisfaction quantification based on previously assigned shifts.

Employee shift assignment based on wishes and need
Paperflow Invoice Recognition AI Talk to us
Hypefactors Media and Reputation Tracking AI Talk to us
‹Your Company› ‹Your Area› Interested in collaboration with our group? contact Ahmad Salim to hear more!

Academic Projects

Type Description Notes/Links
Computer Science Implement a predictive scoring model for your favourite sports game, inspired by FiveThirtyEight. FiveThirtyEight Methodology and Models
Computer Science  Implement a ranking system for your favourite video or board game, inspired by Microsoft TrueSkill. Microsoft TrueSkill Model

Can be implemented in Infer.NET using Expectation Propagation
Computer Science Use Inference Compilation in PyProb to implement a CAPTCHA breaker or a Spaceship Generator Inference Compilation and PyProb. You can use the experimental PyProb bindings for Java.

CAPTCHA breaking with Oxford CAPTCHA Generator.

Spaceship Generator
Computer Science Implement asterisk corrector suggested by XKCD XKCD #2337: Asterisk Correction
Computer Science Implement an inference compilation based program-testing tool like QuickCheck or SmallCheck Inference Compilation

QuickCheck

SmallCheck
Computer Science Magic: The Gathering, Automated Deck Construction. Design a model that finds a good deck automatically based on correlations in existing deck design. Ideas like card substitution models could be integrated too. Magic: The Gathering - Meta Site
Computer Science Use probabilistic programming to explore ideas for solving Eternity II (No $2 million prize anymore, but still interesting from a math point of view) Eternity II
Biology Auto-Encoders or Deep Markov Models for Protein Folding Deep Markov Model

Pyro Deep Markov Model
Biology Inference Compilation for Ancestral Reconstruction Inference Compilation and PyProb. Talk to us for details.
Biology Recurrent Causal Effect VAE for modelling mutations in proteins Talk to us for details.

Recommendations

  • Sometimes sampling can be slow on the CPU for complex models, so try using Google Colab and GPUs and see if that provides an improvement.

Acknowledgements

This course has been developed by Thomas Hamelryck and Ahmad Salim Al-Sibahi. Thanks to Ola Rønning for suggesting the Variational Auto Encoders Foundations paper instead of Auto-Encoding Variational Bayes which we originally proposed to read on week 3. Thanks to Richard Michael for testing out the course and provide us with valuable feedback on the content!

The 1st Place Solution of the Facebook AI Image Similarity Challenge (ISC21) : Descriptor Track.

ISC21-Descriptor-Track-1st The 1st Place Solution of the Facebook AI Image Similarity Challenge (ISC21) : Descriptor Track. You can check our solution

lyakaap 73 Dec 24, 2022
This repo provides the base code for pytorch-lightning and weight and biases simultaneous integration.

Write your model faster with pytorch-lightning-wadb-code-backbone This repository provides the base code for pytorch-lightning and weight and biases s

9 Mar 29, 2022
Vision-Language Pre-training for Image Captioning and Question Answering

VLP This repo hosts the source code for our AAAI2020 work Vision-Language Pre-training (VLP). We have released the pre-trained model on Conceptual Cap

Luowei Zhou 373 Jan 03, 2023
TensorFlow for Raspberry Pi

TensorFlow on Raspberry Pi It's officially supported! As of TensorFlow 1.9, Python wheels for TensorFlow are being officially supported. As such, this

Sam Abrahams 2.2k Dec 16, 2022
Repo for Photon-Starved Scene Inference using Single Photon Cameras, ICCV 2021

Photon-Starved Scene Inference using Single Photon Cameras ICCV 2021 Arxiv Project Video Bhavya Goyal, Mohit Gupta University of Wisconsin-Madison Abs

Bhavya Goyal 5 Nov 15, 2022
PyTorch code for the paper "Curriculum Graph Co-Teaching for Multi-target Domain Adaptation" (CVPR2021)

PyTorch code for the paper "Curriculum Graph Co-Teaching for Multi-target Domain Adaptation" (CVPR2021) This repo presents PyTorch implementation of M

Evgeny 79 Dec 19, 2022
This is the code for our paper "Iconary: A Pictionary-Based Game for Testing Multimodal Communication with Drawings and Text"

Iconary This is the code for our paper "Iconary: A Pictionary-Based Game for Testing Multimodal Communication with Drawings and Text". It includes the

AI2 6 May 24, 2022
Simulate genealogical trees and genomic sequence data using population genetic models

msprime msprime is a population genetics simulator based on tskit. Msprime can simulate random ancestral histories for a sample of individuals (consis

Tskit developers 150 Dec 14, 2022
A High-Quality Real Time Upscaler for Anime Video

Anime4K Anime4K is a set of open-source, high-quality real-time anime upscaling/denoising algorithms that can be implemented in any programming langua

15.7k Jan 06, 2023
This package contains deep learning models and related scripts for RoseTTAFold

RoseTTAFold This package contains deep learning models and related scripts to run RoseTTAFold This repository is the official implementation of RoseTT

1.6k Jan 03, 2023
Yoga - Yoga asana classifier for python

Yoga Asana Classifier Description Hi welcome to my new deep learning project "Yo

Programminghut 35 Dec 12, 2022
Segment axon and myelin from microscopy data using deep learning

Segment axon and myelin from microscopy data using deep learning. Written in Python. Using the TensorFlow framework. Based on a convolutional neural network architecture. Pixels are classified as eit

NeuroPoly 103 Nov 29, 2022
Pytorch implementation of "Neural Wireframe Renderer: Learning Wireframe to Image Translations"

Neural Wireframe Renderer: Learning Wireframe to Image Translations Pytorch implementation of ideas from the paper Neural Wireframe Renderer: Learning

Yuan Xue 7 Nov 14, 2022
🚗 INGI Dakar 2K21 - Be the first one on the finish line ! 🚗

🚗 INGI Dakar 2K21 - Be the first one on the finish line ! 🚗 This year's first semester Club Info challenge will put you at the head of a car racing

ClubINFO INGI (UCLouvain) 6 Dec 10, 2021
Predicting a person's gender based on their weight and height

Logistic Regression Advanced Case Study Gender Classification: Predicting a person's gender based on their weight and height 1. Introduction We turn o

1 Feb 01, 2022
Implementation of GGB color space

GGB Color Space This package is implementation of GGB color space from Development of a Robust Algorithm for Detection of Nuclei and Classification of

Resha Dwika Hefni Al-Fahsi 2 Oct 06, 2021
Reproducing-BowNet: Learning Representations by Predicting Bags of Visual Words

Reproducing-BowNet Our reproducibility effort based on the 2020 ML Reproducibility Challenge. We are reproducing the results of this CVPR 2020 paper:

6 Mar 16, 2022
Implementation supporting the ICCV 2017 paper "GANs for Biological Image Synthesis"

GANs for Biological Image Synthesis This codes implements the ICCV-2017 paper "GANs for Biological Image Synthesis". The paper and its supplementary m

Anton Osokin 95 Nov 25, 2022
Customer Segmentation using RFM

Customer-Segmentation-using-RFM İş Problemi Bir e-ticaret şirketi müşterilerini segmentlere ayırıp bu segmentlere göre pazarlama stratejileri belirlem

Nazli Sener 7 Dec 26, 2021
Demonstrational Session git repo for H SAF User Workshop (28/1)

5th H SAF User Workshop The 5th H SAF User Workshop supported by EUMeTrain will be held in online in January 24-28 2022. This repository contains inst

H SAF 4 Aug 04, 2022