# Deep Learning from Scratch

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.&#x20;

### 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.&#x20;

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.

{% hint style="info" %}
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.
{% endhint %}

{% content-ref url="/pages/-MI30lKvt48Zk2xkyaE\_" %}
[Learning Linear Algebra](/opencampus-machine-learning-program/additional-resourses/linear-algebra.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MIT\_krHBbk-fDZ5DCgy" %}
[Learning Python](/opencampus-machine-learning-program/additional-resourses/python.md)
{% endcontent-ref %}

### **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.

{% hint style="info" %}
For the complete requirements about the project, check out the Requirement page.
{% endhint %}

{% content-ref url="/pages/-MIOIx\_PyIww00jN-kJN" %}
[How to Start, Complete, and Submit Your Project](/opencampus-machine-learning-program/course-projects/requirements.md)
{% endcontent-ref %}

{% hint style="info" %}
For some example of projects from last years, check out the Past Projects page.
{% endhint %}

{% content-ref url="/pages/-MIOJ5IiU6Dv1z9OFncu" %}
[Broken mention](broken://pages/-MIOJ5IiU6Dv1z9OFncu)
{% endcontent-ref %}

### 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:

{% content-ref url="/pages/-MTjDdTOWDFy\_sZUyaj4" %}
[Requirements for a Certificate of Achievement or ECTS](/opencampus-machine-learning-program/courses/archive/deep-learning/requirements-for-a-certificate-of-achievement-or-ects.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://opencampus.gitbook.io/opencampus-machine-learning-program/courses/archive/deep-learning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
