# Status: Draft

# Convolutional Neural Networks

This course is all about convolutional neural networks. CNNs are the state-of-art technique for image classification since 2012, when a CNN won the ImageNet Large Scale Visual Recognition Challenge (ILSVRC), reducing the top-5 error from 26% to 15% [IMA12][ZIT17].

## Prerequisites

- Introduction to Machine Learning(highly recommended)
- Introduction to Neural Networks(recommended)

## Notebooks

Before we start with neural networks for image classification, let us first try to solve the problem with tools we are already familar with. In this exercise you will classify images of handwritten digits with logistic regression, or better said, as we have more than two classes, softmax regression. Further you will learn about *stochastic gradient descent* (opposed to *gradient descent*) and for evaluation of your model, the accuracy and f1-score.

In Introduction to Machine Learning(highly recommended), you calulated the gradient by hand and just used the final formula. In this exercise you will learn how to just derive the single individual functions and chain them programatically. This allows to programmatically build computational graphs and derive them w.r.t. certain variables, only knowing the derivatives of the most basic functions.

Here you will learn to visualize a neural network given matrices of weights and compute the forward pass using matrix and vector operations.

So far you have classified images using Softmax-Regression and learnt the basics about the forward and backwards pass. Now move on by understanding an implementation of a simple fully connected neural network for image classification.

For a better understanding of neural networks, you will start to implement a framework on your own. The given notebook explains some core functions and concepts of the framework, so all of you have the same starting point. Our previous exercises were self-contained and not very modular. You are going to change that. Let us begin with a fully connected network on the now well-known MNIST dataset.

TODO text.

**TODO:**exercise-convolution

TODO text.

**TODO:**exercise-conv-net-pen-and-paper

TODO text.

**TODO:**exercise-cnn-framework

One can never have enough training. Additionally in real worl problems, labeling the data by experts can become very expensive. The following exercise will teach you the most basic concepts for data augmentation with images.

## Reference (ISO 690)

[IMA12] | Official Website of the ImageNet Large Scale Visual Recognition Challenge as of 2019-01-10, http://image-net.org/challenges/LSVRC/2012/results.html |

[Zit17] | Evon Zitzewitz, Gustav. Survey of neural networks in autonomous driving, 2017. |