Git Product home page Git Product logo

deep_learning's Introduction

Deep Learning

Contents

Description

This Deep Learning module offers both fundamental understanding and practical skills necessary to develop, implement, test, and validate various deep learning models. The curriculum delves into the core concepts of Deep Learning, emphasizing its application across diverse domains. Students will explore the intricacies of neural networks, backpropagation, and the advanced architectures used in image processing, natural language processing, and more.

Learning Outcomes

By the end of this Deep Learning module, students will:

  1. Apply principles of neural networks, including architectures like CNNs and RNNs.
  2. Implement deep learning models for tasks in image processing, NLP, and recommendation systems.
  3. Utilize advanced techniques such as sequence-to-sequence models and attention mechanisms.
  4. Evaluate and address challenges in model training, imbalanced classification, and metric learning.
  5. Use Keras and TensorFlow to emphasize reproducible research.
  6. Explain the ethical implications of deep learning models effectively to diverse audiences.

Logistics

Module Contacts

Questions can be submitted to the #questions channel on Slack

  • Technical Facilitator: {Name} {Pronouns}. Emails to the Technical Facilitator can be sent to {first_name.last_name}@mail.utoronto.ca.
  • Learning Support Staff: {Name} {Pronouns}. Emails to the Technical Facilitator can be sent to {first_name.last_name}@mail.utoronto.ca.

Module Materials

This module's materials are adapted from the Deep Learning module taught at Master Year 2 Data Science IP-Paris. The module includes comprehensive lectures and lab notebooks covering fundamental and advanced topics in Deep Learning. While there is no designated textbook for this module, the adapted materials provide a thorough exploration of the subject, incorporating a blend of theoretical knowledge and practical applications.

<<<<<<< HEAD

Classes

<<<<<<< HEAD The course spans three weeks with a total of ten classes, each from 6 PM to 8:30 PM EST. Below is the class schedule formatted as a table:

Week Dates Days of the Week
1 Starting 29th Jan Monday, Tuesday, Wednesday, Thursday
2 Starting 5th Feb Monday, Tuesday, Wednesday
3 Starting 12th Feb Tuesday, Wednesday, Thursday
=======
Week Dates Days of the Week
1 Starting 11th Apr Thursday, Saturday
2 Starting 15th Apr Tuesday, Wednesday, Thursday, Saturday
3 Starting 22nd Apr Tuesday, Wednesday, Thursday, Saturday

Weekday evening classes run from 6:00 PM to 8:30 PM, while Saturday classes run from 9:00 AM to 11:30 AM.

c675b93d7db0e6cc3bb744b0af7c47812525013a

Classes will include lectures using prepared slides and live coding sessions. All slides will be accessible online prior to lectures. Students should actively participate in coding alongside the instructor in real-time and are encouraged to ask questions.

Delivery of Module

The module will run synchronously three times a week on Zoom. The first three days are used as "lectures" and will last a maximum of 3 hours. During this time, the Technical Facilitator will introduce the concepts for the week. The last day is used as an optional, asynchronous work period. The work periods will also last for up to 3 hours. During the last day, a Technical Facilitator or TA will be present on Zoom to assist learners reach the intended learning outcomes.

How the Technical Facilitator will deliver

The Technical Facilitators will introduce the concepts through a collaborative live coding session using the Python notebooks found under /01_slides. All Technical Facilitators will also upload any live coding files to this repository for any learners to revisit under ./05_cohort_three/live_code.  

Expectations

Learners are encouraged to be active participants while coding and are encouraged to ask questions throughout the module.  

Requirements

  • Learners are not expected to have any coding experience, we designed the learning content for beginners.
  • Learners are encouraged to ask questions and collaborate with others to enhance learning.
  • Learners must have a computer and an internet connection to participate in online activities.
  • Learners must have VSCode installed with the following extensions:
  • Learners must not use generative AI such as ChatGPT to generate code to complete assignments. It should be used as a supportive tool to seek out answers to questions you may have.
  • We expect learners to have completed the onboarding repo.
  • Webcam usage is optional although highly encouraged. We understand that not everyone may have the space at home to have the camera on.

b47f7380d278ec713328c9ef3f762b043c131636

Tutorial

Tutorial sessions are on the same date as each class. Tutorials will take place 30 minutes before and after each session. Tutorial attendance is optional, and organization is unstructured. The tutorial is the best place for questions/issues pertaining to software, labs, and assignments.

Class Schedule

The module spans two weeks with a total of 6 classes, each from 6 PM to 8:30 PM EST. Below is the class schedule formatted as a table:

Classes will include lectures using prepared slides and live coding sessions. All slides will be accessible online prior to lectures. Students should actively participate in coding alongside the Technical Facilitator in real time and are encouraged to ask questions.

Class Topics

<<<<<<< HEAD

Class Date Topic Slides Workbooks Suggested Additional Material
<<<<<<< HEAD
1 Monday, 29th Jan Introduction to Deep Learning Lecture 1 Slides Lab 1 Workbook
2 Tuesday, 30th Jan Neural Networks and Backpropagation Lecture 2 Slides Lab 2 Workbook 3Blue1Brown Neural Networks
3 Wednesday, 31st Jan Embeddings and Recommender Systems Lecture 3 Slides Lab 3 Workbook
4 Thursday, 1st Feb Convolutional Neural Networks for Image Classification Lecture 4 Slides Lab 4 Workbook
5 Monday, 5th Feb Deep Learning for Object Detection and Image Segmentation Lecture 5 Slides Lab 5 Workbook
6 Tuesday, 6th Feb Recurrent Neural Networks and NLP Lecture 6 Slides Lab 6 Workbook
7 Wednesday, 7th Feb Guest Lecture - Eddie Kim, Cohere AI
8 Tuesday, 13th Feb Attention and GPT Lecture 8 Slides Lab 8 Workbook The Sentence Computers Can't Understand, But Humans Can
9 Wednesday, 14th Feb Imbalanced classification and metric learning Lecture 9 Slides Lab 9 Workbook
10 Thursday, 15th Feb Unsupervised Deep Learning and Generative models Lecture 10 Slides Lab 10 Workbook
=======
1 Thursday, 11th Apr Introduction to Deep Learning Lecture 1 Slides Lab 1 Workbook
2 Saturday, 13th Apr Neural Networks and Backpropagation Lecture 2 Slides Lab 2 Workbook 3Blue1Brown Neural Networks
3 Tuesday, 15th Apr Embeddings and Recommender Systems Lecture 3 Slides Lab 3 Workbook
4 Wednesday, 16th Apr Convolutional Neural Networks for Image Classification Lecture 4 Slides Lab 4 Workbook
5 Thursday, 17th Apr Deep Learning for Object Detection and Image Segmentation Lecture 5 Slides Lab 5 Workbook
6 Saturday, 20th Apr Recurrent Neural Networks and NLP Lecture 6 Slides Lab 6 Workbook
7 Tuesday, 22nd Apr RNNs and NLP Part 2 Lecture 7 Slides Lab 7 Workbook
8 Wednesday, 23rd Apr GPT and RLHF Lecture 8 Slides Lab 8 Workbook The Sentence Computers Can't Understand, But Humans Can
9 Thursday, 24th Apr Imbalanced classification and metric learning Lecture 9 Slides Lab 9 Workbook
10 Saturday, 27th Apr Unsupervised Deep Learning and Generative models Lecture 10 Slides Lab 10 Workbook

c675b93d7db0e6cc3bb744b0af7c47812525013a ======= | Class | Date | Topic | Slides | Workbooks | Suggested Additional Material | | ----- | ---- | --------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------- | | 1 | TBD | Introduction to Deep Learning | Lecture 1 Slides | Lab 1 Workbook | | | 2 | TBD | Neural Networks and Backpropagation | Lecture 2 Slides | Lab 2 Workbook | 3Blue1Brown Neural Networks | | 3 | TBD | Embeddings and Recommender Systems | Lecture 3 Slides | Lab 3 Workbook | | | 4 | TBD | Convolutional Neural Networks for Image Classification | Lecture 4 Slides | Lab 4 Workbook | | | 5 | TBD | Deep Learning for Object Detection and Image Segmentation | Lecture 5 Slides | Lab 5 Workbook | | | 6 | TBD | Recurrent Neural Networks and NLP | Lecture 6 Slides | Lab 6 Workbook | | b47f7380d278ec713328c9ef3f762b043c131636

Grading Scheme

The grading for this module is based on two components: assignments and class participation, including the completion of Jupyter notebooks. The grading scheme is as follows:

Assessment Number Individual Weight Cumulative Weight
Assignments 2 35% 70%
Jupyter Notebooks 10 2% 20%
Participation NA NA 10%
  • Assignments consist of two major tasks completed at the end of the first two weeks.
  • Jupyter Notebooks are to be completed throughout the module. Completion of these notebooks is pass/fail.
  • Participation includes engagement in class discussions, activities, and overall contribution to the module environment.

Assignments

Assignments are a vital part of this module, focusing on the application of deep learning concepts. Two main assignments are scheduled, one at the end of each of the first two weeks. These assignments will be introduced in class and can be discussed with the Technical Facilitator or TA during office hours or via email. They should be completed independently and submitted through the designated Google Forms links, following the naming convention firstname_lastname_a#. Please request extensions well in advance.

<<<<<<< HEAD <<<<<<< HEAD

Assessment Link Due Date Submission Link
Assignment 1 Open in Colab Sunday, 4th February, by 11:59:59 PM EST Submission Closed
Assignment 2 Open in Colab Wednesday, 14th February, by 11:59:59 PM EST Submit Here
Workbooks Friday, 16 February, by 11:59:59 PM EST Submit Here
=======
Assessment Link Due Date Submission Link
-------------- --------------------------------------------------------------------------------------------------------------------------- ----------------------------- -----------------------------------------------------
Assignment 1 Open in Colab End of Sunday, 21st April
Assignment 2 Open in Colab End of Friday, 25th April
Workbooks End of Saturday, 27th April

c675b93d7db0e6cc3bb744b0af7c47812525013a ======= | Assessment | Link | Due Date | | ------------ | ----------------------------------------------- | -------- | | Assignment 1 | Notebook | TBD | | Assignment 2 | Notebook | TBD | | Workbooks | | TBD | b47f7380d278ec713328c9ef3f762b043c131636

You may submit assignments multiple times before the deadline. The last submission will be graded.

Notebook Completion

Students are expected to complete the Jupyter notebooks associated with each class. Completion includes actively coding along with the Technical Facilitator and answering any questions in the notebooks. These notebooks are due by the end of the module, but it is highly recommended to complete them as you progress through the material to stay on top of the content. Notebooks are to be submitted for pass/fail grading.

Submitting Notebooks

Notebooks are to be submitted together at the end of the module. To submit, please follow these steps:

  1. Create a folder named firstname_lastname_notebooks and place all completed notebooks inside.
  2. Compress the folder into a .zip file. <<<<<<< HEAD <<<<<<< HEAD
  3. Upload the .zip file to this form. =======
  4. Upload the .zip file to [link to be added].

c675b93d7db0e6cc3bb744b0af7c47812525013a =======

  1. Upload the .zip file to this form.

b47f7380d278ec713328c9ef3f762b043c131636

You may submit notebooks multiple times before the deadline. The last submission will be graded.

Note: If any content in the assignments or notebooks is related to topics not covered in class due to schedule changes, those parts will be excluded from grading. Such exclusions will be clearly communicated before the assignment due date.

Participation

We hope all members of the module regularly participate. We define participation broadly and include attendance, asking questions, answering others' questions, participating in discussions, etc.

Resources

Feel free to use the following as resources:

Documents

Videos

How to get help

image

Folder Structure

.
├── 01_slides
├── 02_labs
├── 03_assignments
├── 04_instructional_team
├── 05_additional_resources
├── LICENSE
├── README.md
└── steps_to_ask_for_help.png
  • slides: module slides as PDF files
  • labs: Interactive notebooks to be done after each lecture (.ipynb files)
  • live_coding: Notebooks from class live coding sessions
  • assignments: Graded assignments
  • data: Contains all data associated with the module
  • instructors: Instructions for the Technical Facilitator on what to teach
  • README: This file!
  • .gitignore: Files to exclude from this folder, specified by the Technical Facilitator

Acknowledgement

We wish to acknowledge this land on which the University of Toronto operates. For thousands of years, it has been the traditional land of the Huron-Wendat, the Seneca, and most recently, the Mississaugas of the Credit River. Today, this meeting place is still the home to many Indigenous people from across Turtle Island and we are grateful to have the opportunity to work on this land.

deep_learning's People

Contributors

danielrazavi avatar bkaddoura avatar rchung95 avatar bradfora avatar alexwolson avatar rohanalexander avatar curtissfnorman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.