## Course Description

A first level course on the engineering of machine learning software. The course will focus on learning through implementing various types of machine learning systems. By the end of the course, students will be able to implement neural networks to perform classification on image, text, and other types of data. Students will also have a high-level understandings of neural network models used to generate images, such as autoencoders and GAN. We will focus on implementations using Python, Numpy, and PyTorch. Course Information Sheet

All announcements will be made on Quercus.

## Course Staff

**Instructor:** Lisa Zhang**Office Hours:** Monday 4pm-5pm BA2197 (and by appointment)**Email:** lczhang [at] cs [dot] toronto [dot] edu

Please include "APS360" in your email subject.

**Teaching Assistants:** Andrew Jung, Huan Ling, Farzaneh Mahdisoltani, Jake Snell

## Tentative Schedule

The course schedule is tentative, and subject to change.

Date | Material | Reading | Deadline | |
---|---|---|---|---|

Week 1 | May 6 | Monday Lecture:- Introduction
- Biological and Artificial Neurons
- Slides
Thursday Lecture:Thursday Lab 1:- Python and PyTorch
| Resources: - Colab Instructions
- Software Installation Instructions (old)
- Python and Numpy Tutorial
- PyTorch Introduction [ipynb] [viewer]
Lecture Notes: Study Question: | Lab 1 (May 15) |

Week 2 | May 13 | Monday Lecture:(Lisa is away from May 14-25)Thursday Lecture (Jake):- Neural Network Training - Hyperparameters and Validation Set
- Slides
Thursday Lab 2:- Cats vs Dogs
| Lecture Notes: Study Question: | Lab 2 (May 22) |

Week 3 | May 20 | Monday: Victoria Day, No LectureThursday Lecture (Jake):- Multi-Class Classification
- Slides
Thursday Lab 3(a):- Data Collection
| Lecture Notes: Reading:Study Question: | Lab 3a (May 24) |

Week 4 | May 27 | Monday Lecture:Thursday Lecture:- Convolutional Architectures and Transfer Learning
- Slides
Thursday Lab 3(b):- Gesture Recognition
| Lecture Notes: Reading:- A Comprehensive Guide to Convolutional Neural Networks
- A guide to convolution arithmetic for deep learning, Ch 1-3 (pdf)
Just For Fun:Study Question: | Lab 3b ( |

Week 5 | June 3 | Monday Lecture:- Regularization
- Deconvolutions and Autoencoders
- Slides
Thursday Lecture- Word Embeddings: word2vec and GloVe
- Slides
Thursday Lab 4:- Autoencoders
| Lecture Notes: Reading:Recommended:Study Question: | Lab 4 ( |

Week 6 | June 10 | Monday Lecture:- GloVe for Sentiment Analysis
- Recurrent Neural Networks
- Slides
Thursday Lecture:- Recurrent Neural Networks (cont'd)
- Project
- Slides
| Lecture Notes: - Word2Vec and GloVe Embeddings [html] [ipynb]
- Sentiment Analysis with GloVe Embeddings [html] [ipynb]
- Recurrent Neural Networks [html] [ipynb]
Reading:- Representations (up to but excluding "Recursive Neural Networks")
- Understanding LSTMs (up to but excluding "Step-by-Step LSTM Walk Through")
- RNN Effectiveness
- Sentiment Analysis TorchText
Study Question: | Lab 5 ( |

Week 7 | Jun 17 | Monday Lecture:- Midterm Review
Thursday Lecture:- Midterm (6:10pm-8:00pm in room GB304)
| Project Approval (June | |

Reading week, no class | Project Proposal (June | |||

Week 8 | July 1 | Monday: Canada Day, No LectureThursday Lecture:- Text Generation using Recurrent Neural Networks
- Slides
| Lecture Notes: - Text Generation using Recurrent Neural Networks [html] [ipynb] [Colab]
- CSV Data Download
Study Question: | |

Week 9 | July 8 | Monday Lecture:- Generative Adversarial Networks
- Slides
Thursday Tutorial:- Google Cloud Computational Resources
Thursday Lab: Project | Lecture Notes: Study Question: | Progress Meetings (July 8-15) |

Week 10 | July 15 | Monday Lecture:Thursday Guest Lecture:Thursday Lab: Project | Study Question: | |

Week 11 | July 22 | Monday Lecture:- Ethics in AI; Fairness in ML
- Slides [wip]
Thursday Guest Lecture (TBD)Thursday Lab: Project | Study Question: | Progress Report (July 24) |

Week 12 | July 29 | Monday Lecture:- Final Term Test Review
Thursday:- Final Term Test (6pm-8:30pm)
| ||

Week 13 | Aug 5 | Monday: Civic Holiday, No LectureThursday:- Project
| Presentation Slides | |

Week 14 | Aug 12 | Monday: Project PresentationsThursday: Project Presentations | Project Repository (August 15) | |

Exams |