APS360 Artificial Intelligence Fundamentals

Summer 2019

Home
Quercus
Piazza
Labs
Midterm
Project

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.

DateMaterialReadingDeadline
Week 1May 6Monday Lecture:
  • Introduction
  • Biological and Artificial Neurons
  • Slides

Thursday Lecture:
Thursday Lab 1:
  • Python and PyTorch
Resources:
Lecture Notes:
  • From Pigeons to Neural Networks [html] [ipynb]

Study Question:
Lab 1 (May 15)
Week 2May 13Monday 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 3May 20Monday: Victoria Day, No Lecture

Thursday Lecture (Jake):
  • Multi-Class Classification
  • Slides

Thursday Lab 3(a):
  • Data Collection
Lecture Notes:
Reading:
Study Question:
Lab 3a (May 24)
Week 4May 27Monday Lecture:
Thursday Lecture:
  • Convolutional Architectures and Transfer Learning
  • Slides

Thursday Lab 3(b):
  • Gesture Recognition
Lecture Notes:

Reading:
Just For Fun:
Study Question:
Lab 3b (Jun 5 Jun 9)
Week 5June 3Monday Lecture:
  • Regularization
  • Deconvolutions and Autoencoders
  • Slides

Thursday Lecture
  • Word Embeddings: word2vec and GloVe
  • Slides

Thursday Lab 4:
  • Autoencoders
Lecture Notes:
  • Preventing Overfitting [html] [ipynb]
  • Convolution Transpose and Autoencoder [html] [ipynb]

Reading:
Recommended:
Study Question:
Lab 4 (Jun 12 Jun 16)
Week 6June 10Monday 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:
Study Question:
Lab 5 (Jun 19 July 2)
Week 7Jun 17Monday Lecture:
  • Midterm Review

Thursday Lecture:
  • Midterm (6:10pm-8:00pm in room GB304)
Project Approval (June 21 23)

Reading week, no class

Project Proposal (June 27 30)
Week 8July 1Monday: Canada Day, No Lecture

Thursday Lecture:
  • Text Generation using Recurrent Neural Networks
  • Slides
Lecture Notes:
Study Question:
Week 9July 8Monday Lecture:
  • Generative Adversarial Networks
  • Slides

Thursday Tutorial:
  • Google Cloud Computational Resources


Thursday Lab: Project
Lecture Notes:
Study Question:
Progress Meetings (July 8-15)
Week 10July 15Monday Lecture:
Thursday Guest Lecture:

Thursday Lab: Project
Study Question:
Week 11July 22Monday Lecture:
Thursday Guest Lecture (TBD)

Thursday Lab: Project
Study Question: Progress Report (July 24)
Week 12July 29Monday Lecture:
  • Final Term Test Review

Thursday:
  • Final Term Test (6pm-8:30pm)
Week 13Aug 5Monday: Civic Holiday, No Lecture

Thursday:
  • Project
Presentation Slides
Week 14Aug 12Monday: Project Presentations

Thursday: Project Presentations
Project Repository (August 15)

Exams