Deep Learning

Fall Semester 2018

Deep learning is an area within machine learning that deals with algorithms and models that automatically induce multi-level data representations.

In recent years, deep learning and deep networks have significantly improved the state-of-the-art in many application domains such as computer vision, speech recognition, and natural language processing. This class will cover the fundamentals of deep learning and provide a rich set of hands-on tasks and practical projects to familiarize students with this emerging technology.

Course Catalogue Info


06.10.2018 Project description updated.
18.09.2018 Schedule Online.
17.09.2018 Happy Semester Start. No class today! Lectures start on 24th.
13.07.2018 The webpage for this year's course is online.

Course Overview

1 24.09.2018 Introduction & Compositional Models slides1 Meta-introduction to Tensorflow slides-ex1.pdf exercise-1.pdf code solution
2 01.10.2018 Approximation theory, Rectification & Sigmoid networks slides2 NO EXERCISE SESSION
3 08.10.2018 Feedforward Networks slides3 Approximation theory, Rectification & Sigmoid networks exercise-2.pdf solution-2.pdf
4 15.10.2018 Backpropagation slides4 Feedforward Networks exercise-3.pdf solution-3.pdf
5 22.10.2018 CNNs slides5 Backpropagation exercise-4.pdf solution-4.pdf
6 29.10.2018 Optimization slides6 CNNs exercise-5.pdf solution-5.pdf
7 05.11.2018 Optimization 2 slides7 Optimization exercise-6.pdf solution-6.pdf Optimization.ipynb Optimization-solution.ipynb
8 12.11.2018 NLP slides8 Optimization 2 exercise-7.pdf solution-7.pdf
9 19.11.2018 Memory & Attention slides9 NLP exercise-8.pdf solution-8.pdf word_embedding_solution.ipynb
10 26.11.2018 Autoencoders slides10 Memory & Attention exercise-9.pdf rnn_by_hand.ipynb recurrent_network.ipynb
11 10.12.2018 Density Estimation & Generative Adversarial Models slides10 Autoencoders exercise-10.pdf solution-10.pdf mnist-autoencoder-temp.ipynb mnist-autoencoder.ipynb
-- 17.12.2018 NO CLASS


30% of your final grade will be determined by a group project. Form groups of 3-4 students (use piazza if you can't find any teammates). The topic of the project can be freely chosen as long as it has a practical component (code) in the space of deep learning and is of scientific nature (i.e. answering a scientific question rather than pure engineering).

The project grade is composed by 10% of your project proposal grade and by 90% of your final hand-in grade.

Project Proposal

Send a project proposal until December 24th 2018 to using the subject line [Project Proposal] <your project title> and the following template as body:

Names: <comma separated list of author names>
Nethz: <comma separated list of nethz accounts>
Email: <comma separated list of email addresses>
IDs: <comma separated list of student ID numbers>

attach your proposal as a 1-page PDF (excluding references) to the email.
Proposal Grading. The proposal will be graded in equal weight by the following two criteria: 1.) Clarity of idea, clear description of methods, datasets, procedure, baselines, etc. 2.) Presentation of a literature overview over your chosen task.

Project Hand-In

Hand in your report as a PDF with a maximum of 5 pages (additional pages can be used for listing references) and hand in your source code and other supplementary material along with a README file explaining the material and explaining how to run your code to reproduce your experiments to until January 19th, 3PM Pacific Time.

Report Structure
The structure should be:
1) Introduction
Describe your problem and state your contributions.
2) Models and Methods
Describe your idea and how it was implemented to solve the problem. Survey the related work, giving credit where credit is due.
3) Results
Show evidence to support your claims made in the introduction. Compare to baselines / existing work.
4) Discussion
Discuss the strengths and weaknesses of your approach, based on the results. Point out the implications of your novel idea on the application concerned.
5) Summary
Summarize your contributions in light of the new results.

Report Grading
Your paper will be graded in equal weights according to the following three criteria:

1) Quality of paper

6.0: Good enough for submission to an international conference.
5.5: Background, method, and experiment are clear. May have minor
issues in one or two sections. Language is good. Scores and baselines are well documented.
5.0: Explanation of work is clear, and the reader is able to identify the novelty of the work. Minor issues in one or two sections. Minor problems with language. Has all the recommended sections in howto-paper.
4.5: Able to identify contribution. Major problems in presentation of results and or ideas and or reproducibility/baselines.
4.0: Hard to identify contribution, but still there. One or two good sections should get students a pass.
3.5: Unable to see novelty. No comparison with any baselines.

2) Execution of idea

6.0: Idea is executed well, everything in the proposal has either been followed or changed according to feedback or a reason is provided why it was altered. The project can go beyond the proposal, guided by results obtained as a consequence of executing it. The experiments done make sense in order to answer the proposed research questions. There are no obvious experiments not done that could greatly increase clarity. The submitted code and other supplementary material is understandable, commented, complete, clean and there is a README file that explains it and describes how to reproduce your results.

Subtractions from this grade will be made if:
- the submitted code is unclear, does not run or experiments cannot be reproduced or there is no description of it
- plans made in the proposal have been severely altered or ignored without provided reason
- experiments done are useless to gain understanding or of unclear nature or obviously useful experiments have been left undone
- comparison to baselines are not done

3) Creativity of solution

6.0: Elegant proposal, either making a useful assumption, studying a particular class of data, or using a novel mathematical fact.
5.5: A non-obvious combination of ideas presented in the course or published in a paper (Depending on the difficulty of that idea).
5.0: A novel idea or combination not explicitly presented in the course.
4.5: An idea mentioned in a published paper with small extensions / changes, but not so trivial to implement.
<=4.0: A trivial idea taken from a published paper.

Compute Resources

Once you get feedback on your proposal, you will have access to ETH's Leonhard cluster

Past exams

Exam 2016


To ask a questions, please do not send emails but ask on our forum at piazza. The lecture is 263-3210-00L, you can sign up here. Please post questions there, so others can see them and share in the discussion.

Lecturer Fernando Pérez-Cruz
Head TA Yannic Kilcher
TA Florian Schmidt
TA Hadi Daneshmand
TA Javier Montoya
TA Octavian Ganea
TA Paulina Grnarova
TA Jonas Kohler
TA Kevin Roth
TA Gary Bécigneul
TA Leonard Adolphs
TA Matthias Hüser
TA Xinrui Lyu


Deep Learning, An MIT Press book, Ian Goodfellow, Yoshua Bengio and Aaron Courville