Deep Learning from Scratch

Opencampus Course about Deep Learning based on various Coursera Courses

The Deep Learning course will guide you through the mathematics background of machine learning approaches. We will start from a simple neural network and go through the different components of a network to understand and be able to create your own project.

The Objective of the Course

The aim of this course is to develop a deeper understanding of how and why neural network work. The first part will be devoted to understanding and implementing the basic behind most of the neural network approaches, the forward- and back-propagation, loss function, optimization, training, hyper-parameters tuning and analysis.

To gain a better understanding, we will implement those part in python (mostly using the numpy library). These methods already exists in popular frameworks (like Tensorflow or Pytorch, to cite a few), but using them without knowledge may be confusing.

During the course, we will have weekly discussion to deeper our understanding of the subject and also you will work on your own project.

Requirements and Motivation

In order to get the best out of this course, some previous knowledge is required. We expect the participant to have an understanding about the fundaments of mathematics (not being afraid of derivatives), linear algebra (mostly matrix multiplication) and python programming.

Based on the past semester, the estimated time is around 5 hours a week, ranging usually from 3 to 8 depending on the week's material. The project will start after 4 weeks of the course and will take some additional hours. However, assignment will decrease in the end of the course to leave you space for the project. Be sure to allocate enough time to manage to get through the whole course. If in doubt, ask us for advice.

You do not have to be an expert, and sometimes enthusiasm and motivation may be enough. If you are unsure about some of the requirements, check out the Additional Resources or write us to discuss about it.

pageLearning Linear AlgebrapageLearning Python

The Project

Groups of students should be formed to work on a project. The project idea can come from the student, from a template or proposed from us. The project is needed in order to finish the course, and a final presentation will be given in the last week of the course.

For the complete requirements about the project, check out the Requirement page.

pageHow to Start, Complete, and Submit Your Project

For some example of projects from last years, check out the Past Projects page.

pagePast Projects

The Course Material

The course will be held weekly and will constitute of an online session of 1 hour and a half. The material and slides for each session are found in each week's page.

ECTS

For further details about Certificates and ECTS please refer to the following page:

pageRequirements for a Certificate of Achievement or ECTS

Last updated