Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
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 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.
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.
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.
For some example of projects from last years, check out the Past Projects page.
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.
For further details about Certificates and ECTS please refer to the following page:
A general introduction about the course structure and the participants
Receive an introduction about the course and the people in it. A short overview of the course, contents and how it will work.
Information about accounts, forum and contacts are provided.
Do the Programming Assignment on Logistic Regression
Do the Programming Assignment on Python Numpy
The conditions to be met in order to receive a Certificate of Achievement and the ECTS are:
Attendance to at least 80% of the classes (it is allowed to miss maximum 2 times)
Delivery of the project with the needed documentation.
Since the weekly session will be on Zoom, please use your full name when you join the Zoom Meeting. The full name should be the same that you used to register at edu.opencampus.sh, because we have an automatic check.
We register automatically the attendance.
When you join the Zoom Session, please use the same name you have in the edu.opencampus.sh platform. You can change your name in the edu.opencampus.sh platform (click at the top-right on your profile photo) and in Zoom (click at the top-right of your video stream), so you should be able to use the same name during the weekly session.
If for any reason (no need to explain) you do not want to use the same name, but still need to be registered, please contact me at the beginning of the course.
Check the Projects section to learn more about the projects.
Each weekly session is complemented with the videos and homework from the Coursera courses. Going through the video and doing the assignment allows you to learn and understand each session, so it is required for the course.
However, Coursera is indipendent from us and the completion of the Coursera assignment is NOT needed for the Opencampus Certificate. Completing all assignment will give you the Coursera Certificates (which is different)
Get practical hints about initialization and regularization techniques to avoid overfitting and improving the training of a neural network.
Form the groups, decide the project and communicate it to the teacher.
Do the Programming Assignment
Register in the
Register on Coursera and start the course,
Finish the first two weeks of the
Finish the second week of the
Register yourself in the Opencampus Mattermost Chat
Register yourself in Coursera and for the Deep Learning Specialization, and enroll at least in the first course Neural Neworks and Deep Learning.
Quick overview of the projects, report from Hackathon, discussion about batch normalization and hyperparameters search, first assignment using Tensorflow to create a small neural network. Small discussion about Tensorflow ideas and modalities and difference between 1.0 and 2.0 versions.
Check if everything worked with the tools we started using
Have the first session with a small quiz and round of discussion.
Discuss about python environment, dot product against element wise multiplication,
Do you first exercise session training a small neural network recognizing cats!
This session is entirely dedicated to the presentation of the final project from the students. Schedule and timing will be decided and published during the course.
Guidelines for the projects presentations, suggestions on what to put on them, baseline and human performances.
Talk about how to structure the training, test and validation set, and more general on how to structure the whole project.
What about using transfer learning, end-to-end approaches, divide the problem into smaller subproblems, or using multi-tasking? Sometimes the problem can be seen from another perspective.
Since there were no programming assignment for this week, walkthrough an LSTM tutorial on time series.
check weights initialization in the training and notebook example of planar data classification changing the number of hidden unit in a shallow network - only 1 hidden layer.
Finish the fourth week of the course
Finish both assignments
Think about your project: prepare an idea and find other people willing to collaborate (there is time also next week, but please start)
Explore deep neural network.
First example of generalizing a neural network with L layers.
Discussion and choice about the projects.
Create a group for your project!
Do the Programming Assignments: Initialization, Regularization and Gradient Checking
Finish the first week of the