This course is an elementary introduction to a machine learning technique called deep learning, as well as its applications to a variety of domains. Along the way, the course also provides an intuitive introduction to machine learning such as simple models, learning paradigms, optimization, overfitting, importance of data, training caveats, etc. The assignments explore key concepts and simple applications, and the final project allows an in-depth exploration of a particular application area. By the end of the course, you will have an overview on the deep learning landscape and its applications. You will also have a working knowledge of several types of neural networks, be able to implement and train them, and have a basic understanding of their inner workings.
Online
Tuesday, Thursday 2:00pm - 3:15pm
Abhinav Shrivastava
abhinav@cs.umd.edu
Office hours: Tuesdays 4:00-5:00pm (or by email) (see Piazza for details).
Vinoj Jayasundara
vinoj@umd.edu
Office hours: Wednesday, 4:30-5:00pm
Matthew Gwilliam
mgwillia@umd.edu
Office hours: Monday, 1:30-2:00pm
Soumik Mukhopadhyay
smukhopa@umd.edu
Office hours: Friday, 10:00-11:00am (every other week)
Date | Topic | Slides | Notes & Assignments |
---|---|---|---|
January 26 |
Course Introduction
Motivation Goals, Syllabus, Assignments Policies |
slides |
|
Machine Learning Basics - I
|
|||
January 28 |
Introduction to Statistical Learning
Simple models
Paradigms of learning |
slides | |
Neural Networks Basics - I
|
|||
February 2 library_books |
Introduction to Neural Networks
Terminology Simple Neural Networks Non-linearities |
slides |
Assignment 1 out (Gradescope) |
February 4 |
Problem setup: labels and losses
Types of problems and labels Loss functions |
slides | |
Machine Learning Basics - II
|
|||
February 9
library_books
February 11 |
Optimization basics
Loss function derivatives, minimasGradient descent, Stochastic gradient descent |
slides | Assignment 1 due |
Computation Resources Overview
|
|||
February 16 |
Computational Infrastructure (TA Lecture)
Quick walk-through: Colaboratory, Google Cloud Platform Implementation: Neural Network Basics and Run-through (TA Lecture) Introduction to PyTorch Handling data (images, text) Structuring a neural network and machine learning codebase |
slides colab (1) colab (2) |
|
Neural Network Basics - II
|
|||
Febuary 18 |
No class
Inclement Weather Guidance
|
Snow day | |
Febuary 23
library_books
Febuary 25 |
Training Neural Networks
InitializationBackpropagation Optimization & hyperparameters |
slides
(backprop) slides (opt) |
Assignment 2 out |
March 2 library_books March 4 |
Training Caveats (Neural Networks and ML models)
OverfittingBias/Variance trade-off Optimization & hyperparameters
Improving Performance of Neural Networks
Optimization tips and tricksBest principles |
(see above) | Assignment 2 due |
Convolutional Neural Networks (ConvNets)
|
|||
March 9 |
Introduction to ConvNets
ConvolutionsPooling |
slides | |
Exam:
|
|||
March 11library_books |
Midterm Exam
In class
|
Assignmnt 3 out | |
March 16 March 18 |
Spring Break | ||
March 23 March 25 library_books |
ConvNet Architectures
Popular architectures (primarily images, brief overview of videos)Intuitions and key-insights Design principles |
(see above) | Assignment 3 due |
Applications of ConvNets
|
|||
March 30library_books April 1 April 6 |
Application I: Object Detection | slides | Project proposals due |
April 6 April 8 |
Application II: Dense Prediction | slides | |
Recurrent Neural Networks (RNNs)
|
|||
April 13 April 15library_books |
Introduction to Recurrent Networks
RNNs, GRUs, LSTMsText/Language Applications Language Modeling |
slides | Assignment 4 due |
April 15 April 20 library_books |
Introduction to Self-attention or Transformers
Self-attenton or Transformers |
slides | Assignment 5 out |
Advanced Topics
|
|||
April 15 April 20 |
Vision + Language (models, tasks, training) | (see above) | |
April 20 April 23 April 27library_books April 29library_books |
Image Generative Models
Auto regressive modelsGANs, pix2pix, CycleGAN, etc. VAEs Teasers: Text Generation, Self-supervised Learning |
slides | Assignment 5 due Bonus Assignment 6 out |
May 4 May 6library_books |
(A brief) Introduction to (Deep) Reinforcement Learning | slides | Bonus Assignment 6 due |
May 11 | Ethics and Bias; Epilogue | slides | |
Exam:
|
|||
May 17library_books |
Final Exam
10:30am - 12:30pm (class link, live, virtual)(schedule) |
Minimum grade of C- in CMSC330 and CMSC351; and 1 course with a minimum grade of C- from (MATH240, MATH461); and permission of CMNS-Computer Science department.
We will work extensively with probability, statistics, mathematical functions such as logarithms and differentiation, and linear algebra concepts such as vectors and matrices. You should be comfortable manipulating these concepts.
We will use of the Python programming language. It is assumed that you know or will quickly learn how to program in Python. The programming assignments will be oriented toward Unix-like operating systems. While it is possible to complete the course using other operating systems, you will be solely responsible for troubleshooting any issues you encounter.
If you are unsure that you have the required prerequisites, consult with the instructor.
Here's how you will be graded:
Collaboration: Students are expected to finish the homeworks by himself/herself, but discussion on the assignments is allowed (and encouraged). The people you discussed with on assignments should be clearly detailed: before the solution to each question, list all people that you discussed with on that particular question. In addition, each student should submit his/her own code and mention anyone he/she collaborated with.
Details will be announced in class.
Syllabus subject to change.
The course should be self contained, but if you need additional reading material, you can consult the following:
Helpful review and reference material:
If you need reference/additional readings for statistical learning, you can consult the following:
Note that academic dishonesty includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. In short, all submitted work must be your own. Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct. It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit http://www.shc.umd.edu.
Any student who needs to be excused for an absence from a single lecture, recitation, or lab due to a medically necessitated absence shall:
Any student who needs to be excused for a Major Scheduled Grading Event, must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the time frame that the student was unable to meet academic responsibilities. No diagnostic information shall be given. The Major Scheduled Grading Events for this course include midterm and final exam. For class presentations, the instructor will help the student swap their presentation slot with other students.
It is also the student's responsibility to inform the instructor of any intended absences from exams and class presentations for religious observances in advance. Notice should be provided as soon as possible, but no later than the Monday prior to the the midterm exam, the class presentation date, and the final exam.
Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide a letter of accommodation from the Office of Disability Support Services within the first three weeks of the semester.
You can find the university’s course policies here.