Spring 2020 / DM873
Deep Learning
General Information
Machine learning has become a part in our everydays life, from simple product recommendations to personal electronic assistant to self-driving cars. More recently, through the advent of potent hardware and cheap computational power, “Deep Learning” has become a popular and powerful tool for learning from complex, large-scale data.
In this course, we will discuss the fundamentals of deep learning and its application to various different fields. We will learn about the power but also the limitations of these deep neural networks. At the end of the course, the students will have significant familiarity with the subject and will be able to apply the learned techniques to a broad range of different fields.
Mainly, the following topics will be covered:
- feedforward neural networks
- recurrent neural networks
- convolutional neural networks
- backpropagation algorithm
- regularization
- factor analysis
Lectures
# |
Date |
Content |
Slides |
Comments |
1 |
Mon, 10.02.2020 |
Introduction |
here |
|
2 |
Tue, 11.02.2020 |
Feed Forward Networks & Linear Algebra |
FF
LinAlg
|
DLB, Chap. 2 |
3 |
Mon, 17.02.2020 |
Feed Forward Networks Part 2 |
here |
DLB, Chap. 6 |
4 |
Tue, 18.02.2020 |
Feed Forward Networks Part 2 |
continuation |
|
5 |
Mon, 24.02.2020 |
Statistics |
here |
DLB, Chap. 3 |
6 |
Tue, 25.02.2020 |
Machine Learning Basics |
here |
DLB, Chap. 5 |
7 |
Mon, 02.03.2020 |
Linear Regression |
here |
ISL, Chap. 2 & 3 |
8 |
Tue, 03.03.2020 |
Logistic Regression |
here |
ISL, Chap. 4.1-4.3 |
9 |
Mon, 09.03.2020 |
Regularization |
here |
|
10 |
Mon, 16.03.2020 |
Convolution |
here
Video 0: Recap
Video 1: Motivation
Video 2: Convolution
Video 3: Pooling
Video 4: Varaints
Video 5: Efficient Convolution
Video 6: Keras
|
|
11 |
Tue, 17.03.2020 |
Gradient-Based Learning |
here
Video 1: Loss Functions Part 1
Video 2: Loss Functions Part 2
Video 3: Gradient Descent
Video 4: SGD
Video 5: Problems in Deep Learning
Video 6: Optimizers
|
|
12 |
Mon, 23.03.2020 |
Backpropagation |
here
Video 1: Backpropagation
Video 2: Extension to Vectors
|
|
13 |
Tue, 24.03.2020 |
Recurrent Networks |
here
Video 1: Introduction
Video 2: Network unfolding
Video 3: RNNs
Video 4: Leaky Units
Video 5: LSTM
Video 6: RNN in Keras
|
|
14 |
Mon, 30.03.2020 |
Auto Encoders |
here
Video 1: Introduction
Video 2: Undercomplete AE
Video 3: Regularized AE
|
|
15 |
Mon, 27.04.2020 |
Generative Networks |
slides
Video 1: Introduction
Video 2: VAE
Video 3: GAN
|
|
16 |
Mon, 04.05.2020 |
Advanced Networks |
slides
Video 1: Introduction
Video 2: Batch Normalization
Video 3: Style Transfer
Video 4: Style Networks
Video 5: Modern Networks
|
|
17 |
Mon, 18.05.2020 |
|
|
|
Exercises
# |
Date |
Questions |
Download |
Solutions |
1 |
Wed, 26.02.2020 |
Introduction to Keras |
Intro
Exercises
|
Solution |
2 |
Wed, 04.03.2020 |
Regression |
Exercises
Dataset
|
Solution |
3 |
Tue, 10.03.2020 |
Classification |
Exercises
Keras 2
|
Solution |
|
4 |
Wed, 18.03.2020 |
Additional Info Convolution |
Exercises |
Solution
Screeenshot
|
5 |
Wed, 25.03.2020 |
Advanced Keras |
Exercises
Advanced Keras |
|
6 |
Wed, 15.04.2020 |
Q & A Session |
Video Data Generators |
|
7 |
Wed, 29.04.2020 |
|
|
|
6 |
Tue, 28.04.2020 |
Moved to 15.04.2020 |
|
|
8 |
Tue, 05.05.2020 |
|
|
|
8 |
Tue, 19.05.2020 |
Moved to 29.04.2020 |
|
|
Project
Aim of the Project
In light of the recent COVID-19 pandemic, we will take a look at one of the severe symptoms of the disease, pneumonia. The dataset we have consists of x-ray images of patients who either have pneumonia or are healthy. You must make your own model to detect whether a patient has developed pneumonia, or is healthy.
To spice things up and to also give you deeper insights in KERAS, you are also supposed to implement your own layers and mix them with existing other layers. Make use of the upcoming Q&A sessions in case you are stuck and require help from Mathias.
You are supposed to work in groups of 4-5 people. In light of the ongoing lock-down, this might be a bit more challenging than usual. Nevertheless, it will help you since you can spread the tasks amongst the team members. In the case you have trouble finding members, please write Mathias to work out a solution.
Further Information
You will find all necessary information in the project description. It is fundamentally important that you start early on, since the models might take some time to train.
Deadline
- Project Hand-In:
Tuesday the 24th of May 2020 at 23:59.
This includes:
- Project report via Blackboard
- Your code as nextcloud-link via email
- Your model (as .h5 file) as nextcloud-link via email
Downloads
Procedure of the oral exam
Due to the ongoing Corona crisis, the exam will be conducted online via Zoom
The exam will last about 15-20 minutes. At the beginning, one topic from the list below will be drawn randomly using a random number generator. For each topic the examinee should be prepared to make a short presentation of 5 minutes (sharp). The examinee will have 2 minutes to briefly study the notes for the drawn topic before the presentation. The notes may be consulted during the presentation if needed but it will negatively influence the evaluation of the examinee's performance. The student can either use a presentation or a shared whiteboard for quick sketches, etc. (see technical details below).
After the short presentation, additional questions about the presentation's topic but also about other topics in the curriculum will be asked.
Technical Details and precise procedure:
- We will have aZoom meeting. Please join well ahead of time (since there might be no-shows). You will be placed in the waiting room.
- In the waiting room, please monitor the chat to see when it will be your turn.
- Please log-in with your full name such that we can identify you
- Once connected, please enable your webcam and microphone. Have your student-ID (or any other photo-ID) ready
- We will use a random generator and assign your topic
- While you prepare for your talk (1-2 mins), we will send you a link to a shared whiteboard
- We have decided to use Jamboard (https://jamboard.google.com/). Give it a try and feel comfortable with it. Also note that there is a virtual laser pointer where you can highlight things in your drawing.
- While giving your presentation, you can either choose to use this whiteboard or share your screen and use prepared power-point slides
- Either way, please be prepared and maybe organize a test run with your friends see whether you presentation is suitable for an online meeting
- After the exam you will receive your grade and put back in the waiting room. You are then free to leave
- Also, please read through the official guidelines published from SDU and in particular make sure that your computer works, in particular your microphone and webcam.
Below is the list of possible topics and some suggested content. The listed content are only suggestions and are not necessarily complete nor must everything be covered in the short presentation. It is the responsibility of the examinee to gather and select among all relevant information for each topic from the course material. On the course website you can find suggested readings for each of these topics.
Topics for the Oral Exam:
- Feed-Forward Networks
- Function Principle
- Output Units
- Hidden Units
- ...
- Backpropagation
- Function Principle
- Computational Graphs
- Backpropagation through time
- ...
- Regularization
- Over/Underfitting & Model Capacity
- Parameter Penalties
- Bagging
- Dropout
- ...
- Convolutional Neural Networks
- Function Principle
- Pooling
- Initialization of the kernels
- ...
- Recurrent Neural Networks
- Function Principle
- Problems with long term memory
- Long Short Term Memory
- ...
- Autoencoders and GANs
- Autoencoders
- Variational Autoencoders
- GANs
- ...
- Normalization & Style Transfer
- Batch Normalization
- Instance Normalization
- Style Trannsfer Methods
- ...
Materials