Icon Course

Deep Learning for Beginners (Demo)

This is a demo of the course "Deep Learning for Beginners". The complete course is accessible via Virtuelle Hochschule Bayern (vhb).

Tabs

Welcome to Deep Learning for Beginners (Demo)

Deep Learning (DL) has attracted much interest in a wide range of applications such as image recognition, speech recognition, and artificial intelligence, both from academia and industry. In this course, you will learn the core elements of neural networks and deep learning, such as convolutional layers, activation and loss functions, and regularization techniques.

Course Information

1. Introduction
2. Signal Processing
3. Image Processing
4. Feedforward Networks
5. Loss and Optimization
6. Activations, Convolution and Pooling
7. Regularization
8. Common Practices
9. Architectures
10. Unsupervised Learning
11. Segmentation and Object Detection 
Neural networks have had an enormous impact on research in image and signal processing in recent years. In this course, you will learn all the basics about deep learning in order to understand how neural network systems are built. The course is addressed to students who are new to the field. In the beginning of the course, we introduce you to the topic with some applications of deep learning in the field of medical imaging, digital humanities and industry projects. Before we dive into the core elements of neural networks, there are two lecture units on the fundamentals of signal and image processing to teach you relevant parts of system theory such as convolutions, Fourier transform, and sampling theorem. In the next lecture units, you learn the basic blocks of neural networks, such as backpropagation, fully connected layers, convolutional layers, activation functions, loss functions, optimization, and regularization strategies. Then, we look into common practices for training and evaluating neural networks. The next lecture unit is focusing on common neural network architectures, such as LeNet, Alexnet, and VGG. It follows a lecture unit about unsupervised learning that contains the principles of autoencoders and generative adversarial networks. Lastly, we cover some applications of deep learning in segmentation and object detection.

The accompanying programming exercises will provide a deeper understanding of the workings and architecture of neural networks, in which you will develop a basic neural network from scratch in pure Python without using deep learning frameworks, such as PyTorch or TensorFlow.

At the end of the semester, there will be a written exam.
This course is organized in eleven chapters consisting of two to five units each.

For each chapter, we provide you with the following material:
  • the links to the lecture videos which are hosted on Videoportal der FAU,
  • a learning module that contains:
    1. the accompanying course slides viewable online and downloadable as pdf,
    2. the lecture notes corresponding to the lecture videos, which are full transcripts supplemented with images and animations of the lecture slides,
  • test questions to the theory,
Along with the course, there are six programming exercises:
  • for the programming exercises, there are unittests and
  • test questions to the programming exercises.
To succeed the programming exercises, you are required to install Python on your system, for a more detailed information see the programming section.

Since this is an online course and some information might get lost in transfer via the internet, we highly recommend to take notes of your exercise solutions frequently in order to be able to put them in again, in case something goes wrong.

In order to finish this course you have to pass a written exam which requires your physical attendance at the FAU. The date and place will be announced at a later point. Other than that the course is completely self-contained and all the learning material is available online.

If you have trouble understanding some content after watching the video and consulting the slides, or if you get stuck in one of the exercises, we provide a forum to contact us or your fellow students. Please be aware, that this method of communication is asymmetrical, so please give us some time to answer and plan ahead when starting this course.

Forums

Forum

Q&A Forum

To access this item you need to be logged in and to have appropriate permissions.  

Weblinks

Weblink

Course Material (Demo)

Introduction

Learning Module ILIAS

Exercises (Demo)

Requirements / Install Instructions

The exercises are implemented as python jupyter notebooks and were tested using Python 3.7 and 3.8.

For the exercises, you need to install the software python jupyter notebooks, which is included in the Anaconda distribution.

Create a conda environment and install the required packages:

conda install
  • jupyter
  • numpy
  • unittest
  • matplotlib
  • scipy==1.5.2
pip install
  • audioplayer
If you are new to conda, have a look at this cheatsheet.

Exercise Instructions

The base source code is inside the main folder of the base_exercises.zip, which you have to download in the 'Programming Exercises' section.

For each exercise, one jupyter notebook will be provided, which you have to download and store in the main folder.

To start it, open a terminal (anaconda prompt), change to the main folder and then type jupyter notebook to launch the Jupyter Notebook App. It will open in a new browser tab.
Click on exercise1.ipynb to start the first exercise.

More information about launching the jupyter notebook can be found here.

All further steps are described in the jupyter notebook of the exercise. For each exercise, there are unittests embedded into the jupyter notebook such that you can check your implementation.

After completing the exercise, answer the test questions in the 'Programming Exercises' section concerning the programming exercise.

If you have questions, while doing the exercises, use the forum to contact us or your fellow students.