IACV IV: Probabilistic Methods and Deep Learning
Note: this semester (WS 2017), we switch to the new lecture cycle. As probabilistic methods have been covered last semester, the content will only cover deep learning.
In the past few years, methods from deep learning have revolutionized computer vision: traditional feature engineering has become largely obsolete, and they achieve state-of-the-art results in many important applications from image classification and segmentation to inverse problems like optical flow and stereo. With the right architectures, one can even do things like camera pose estimation and obtain 3D reconstructions of objects from a few sketches.
This lecture will give a thorough introduction into architecture, implementation and training of deep networks, with strong emphasis on computer vision applications. Most of the material is cutting edge, taken from research presented at conferences in the past 3-5 years.
Prerequisites for the course are thorough foundations in linear algebra and multi-variable calculus, and basic probability theory and statistics. It is not necessary to have attended other computer vision lectures, all background will be introduced. Our language of choice for the exercises and examples in the lecture is Python with TensorFlow. A certain familiarity with Python is thus useful, but can be acquired throughout the lecture. TensorFlow is the Deep Learning API developed and used in-house by Google, and will be introduced from scratch.
If you are interested in the topic, you can also register for our seminar this semester, where we cover more recent research and expose you to further training of your implementation skills via a classification challenge.
- Machine learning basics: loss functions and linear classifiers
- Introduction to neural networks with TensorFlow
- Convolutional neural networks, training deep networks
- Image classification: deep learning architectures vs. traditional methods
- Visualizing and understanding ("debugging") ConvNets
- Recurrent neural networks, language modeling and image captioning
- Architectures for object detection and segmentation
- Generative models for inverse problems (autoencoders, adversarial networks)
- Deep reinforcement learning (how to win at Go)
As I give this lecture for the first time, I am not 100% sure yet how much content I can cover in the end, maybe some of it will be transferred to the seminar.