APS360 Artificial Intelligence Fundamentals

Summer 2019

Home
Quercus
Piazza
Labs
Midterm

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: Thursday 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 [wip]

Thursday Lab 2:
  • Cats vs Dogs
Lecture Notes:
Study Question:
Lab 2 (May 22)
Week 3May 20Monday: Victoria Day, No Lecture

Thursday Lecture (Jake):
Thursday Lab 3(a):
  • Data Collection
Lecture Notes:
Reading:
Study Question:
Lab 3a (May 24)
Week 4May 27Monday Lecture:
  • Convolutional Neural Networks

Thursday Lecture:
  • Convolutional Architectures and Transfer Learning

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


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

Thursday Lecture
  • Word Embeddings
  • Project Outline

Thursday Lab 4:
  • Autoencoders
Lecture Notes:
  • Autoencoder

Reading:
Lab 4 (June 12)
Week 6June 10Monday Lecture:
  • GloVe and Sentiment Analysis
  • Recurrent Neural Networks

Thursday Lecture:
  • Recurrent Neural Networks (cont'd)

Thursday Lab 5:
  • Spam Detection with RNNs
Lecture Notes:
  • GloVe and Sentiment Analysis
  • Recurrent Neural Networks

Reading:
Lab 5 (Jun 19)
Week 7Jun 17Monday Lecture:
  • Midterm Review

Thursday Lecture:
  • Midterm (6pm-8pm)
Project Approval (June 21)

Reading week, no class

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

Thursday Lecture:
  • Text Generation using Recurrent Neural Networks
Lecture Notes:
  • Text Generation using Recurrent Neural Networks

Reading:
Week 9July 8Monday Lecture:
  • Generative Adversarial Networks

Thursday Guest Lecture (TBD)

Thursday Lab: Project
Lecture Notes:
  • Generative Adversarial Networks
Progress Meetings (July 8-15)
Week 10July 15Monday Lecture:
  • Reinforcement Learning

Thursday Guest Lecture (TBD)

Thursday Lab: Project
Lecture Notes:
  • Reinforcement Learning
Week 11July 22Monday Lecture:
  • Ethics in AI

Thursday Guest Lecture (TBD)

Thursday Lab: Project
Reading: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