- Description
- Learning Outcomes
- Assignments
- Contacts
- Delivery of the Learning Module
- Schedule
- Requirements
- Resources
- Folder Structure
This 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. Participants will explore the intricacies of neural networks, backpropagation, and the advanced architectures used in image processing, natural language processing, and more.
By the end of this learning module, participants will be able to:
- Apply principles of neural networks, including architectures like CNNs and RNNs.
- Implement deep learning models for tasks in image processing, NLP, and recommendation systems.
- Utilize advanced techniques such as sequence-to-sequence models and attention mechanisms.
- Evaluate and address challenges in model training, imbalanced classification, and metric learning.
- Use Keras and TensorFlow to emphasize reproducible research.
- Explain the ethical implications of deep learning models effectively to diverse audiences.
The assessment for this module is based on two components: assignments and class participation, including the completion of Jupyter notebooks.
Assessment | Number | Individual Weight | Cumulative Weight |
---|---|---|---|
Assignments | 2 | 35% | 70% |
Jupyter Notebooks | 10 | 2% | 20% |
Participation | 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 two weeks. These assignments will be introduced in live session and can be discussed with the Technical Facilitator or Learning Support during office hours, work periods or via Slack. They should be completed independently.
Assessment | Link | Due Date |
---|---|---|
Assignment 1 | Notebook | Sunday, March 2nd |
Week 1 Workbooks | Sunday, March 2nd | |
Assignment 2 | Notebook | Sunday, March 9th |
Week 2 Workbooks | Sunday, March 9th |
You may submit assignments multiple times before the deadline. The last submission will be graded.
Notebook Completion
Participants are expected to complete the Jupyter notebooks associated with each session. Completion includes actively coding along with the Technical Facilitator and answering any questions in the notebooks. These notebooks are due by the end of each week, 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 assessment.
Submitting Notebooks
Notebooks are to be submitted together at the end of each week. You may submit notebooks multiple times before the deadline. The last submission will be graded.
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.
Questions can be submitted to the #cohort-5-help channel on Slack
- Technical Facilitator: Alex Olson he/him. Emails to the Technical Facilitator can be sent to alex.olson@utoronto.ca.
- Learning Support Staff:
- Nestor Rojas nestor.rojas@live.com
- Tianyi Liu tianyi@psi.toronto.edu
- Vishnou Vinayagame vishnou.vina@hotmail.fr
This module will include live learning sessions and optional, asynchronous work periods. During live learning sessions, the Technical Facilitator will introduce and explain key concepts and demonstrate core skills. Learning is facilitated during this time. Before and after each live learning session, the instructional team will be available for questions related to the core concepts of the module. The Technical Facilitator will introduce concepts through a collaborative live coding session using the Python notebooks found under /01_materials/slides
. The Technical Facilitator will also upload live coding files to this repository for participants to revisit under ./04_cohort_five/live_code
.
Optional work periods are to be used to seek help from peers, the Learning Support team, and to work through the homework and assignments in the learning module, with access to live help. Content is not facilitated, but rather this time should be driven by participants. We encourage participants to come to these work periods with questions and problems to work through. Participants are encouraged to engage actively during the learning module. They key to developing the core skills in each learning module is through practice. The more participants engage in coding along with the instructional team, and applying the skills in each module, the more likely it is that these skills will solidify.
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.
Live Learning Session | Date | Topic | Slides | Workbooks | Suggested Additional Material |
---|---|---|---|---|---|
1 | Tuesday, February 25th | Introduction to Deep Learning | Slides | Lab 1 Workbook | |
2 | Wednesday, February 26th | Neural Networks and Backpropagation | Slides | Lab 2 Workbook | 3Blue1Brown Neural Networks |
3 | Thursday, February 27th | Embeddings and Recommender Systems | Slides | Lab 3 Workbook | |
4 | Tuesday, March 4th | Convolutional Neural Networks for Image Classification | Slides | Lab 4 Workbook | |
5 | Wednesday, March 5th | Deep Learning for Object Detection and Image Segmentation | Slides | Lab 5 Workbook | |
6 | Thursday, March 6th | Recurrent Neural Networks and NLP | Slides | Lab 6 Workbook | |
- Participants are expected to have completed Shell, Git, Python, Linear Regression, Classification, and Resampling, Production, and Algorithms & Data Structures learning modules.
- Participants are encouraged to ask questions, and collaborate with others to enhance their learning experience.
- Participants must have a computer and an internet connection to participate in online activities.
- Participants must not use generative AI such as ChatGPT to generate code in order to complete assignments. It should be used as a supportive tool to seek out answers to questions you may have.
- We expect participants to have completed the instructions mentioned in the onboarding repo.
- We encourage participants to default to having their camera on at all times, and turning the camera off only as needed. This will greatly enhance the learning experience for all participants and provides real-time feedback for the instructional team.
- Participants must have VSCode installed with the following extensions:
Feel free to use the following as resources:
- What is Deep Learning?
- Neural Network in 5 minutes
- What is NLP?
- Classification and Regression in Machine Learning
- Supervised vs Unsupervised vs Reinforcement Learning
- 3Blue1Brown Neural Networks Playlist
- Copy and paste your error message
- Copy and paste the code that caused the error, and the last few commands leading up to the error
- Write down what you are trying to accomplish with your code. Include both the specific action, and the bigger picture and context
- (optional) Take a screenshot of your entire workspace
- Sometimes, the error has common solutions that can be easy to find!
- This will be faster than waiting for an answer
- If none of the solutions apply, consider asking a Generative AI tool
- Paste your code, the error message, and a description of your overall goals
- Since we're all working through the same material, there's a good chance one of your peers has encountered the same error, or has already solved it
- Try searching in the DSI Certificates Slack help channel for whether a similar query has been posted
- If the question has not yet been answered, post your question!
- Describe your the overall goals, the context, and the specific details of what you were trying to accomplish
- Make sure to copy and paste your code, your error message
- Copying and pasting helps:
- Your peers and teaching team quickly try out your code
- Others to find your question in the future
- Asking for Help - The Odin Project
- How do I ask a good question? - Stack Overflow
- The XY problem: A question pitfall that won't get useful answers
- How to create a minimal reproducible example
.
├── .github
├── 01_materials
├── 02_activities
├── 03_instructional_team
├── 04_cohort_five
├── .gitignore
├── LICENSE
└── README.md
- .github: Contains issue templates and pull request templates for the repository.
- materials: Module slides and interactive notebooks (.ipynb files) used during learning sessions.
- activities: Contains graded assignments, exercises, and homework to practice concepts covered in the learning module.
- instructional_team: Resources for the instructional team.
- cohort_five: Additional materials and resources for cohort five.
- .gitignore: Files to exclude from this folder, specified by the Technical Facilitator
- LICENSE: The license for this repository.
- README.md: This file.