COMPSCI 682 Neural Networks: A Modern Introduction

This 3-credit course will focus on modern, practical methods for deep learning. We will begin with an overview of simple classifiers, such as perceptrons and logistic regression, and move on to standard neural networks, convolutional neural networks, recurrent neural networks, and transformers, as well as their applications, such as object detection, image segmentation, image generation, and captioning. The emphasis will be on the fundamentals and practical application rather than an in-depth theoretical approach. While the majority of the applications discussed will focus on computer vision, we will also cover some natural language processing applications. The programming components will be based on Python and its associated packages, such as NumPy and PyTorch. Students should have a strong background in linear algebra, probability and statistics, and multivariate calculus, as well as the ability to program in Python.

Instructors

Subhransu Maji
Office Hour: 2-3pm, Thursdays, CSB W274

Teaching Assistants

Rangel Daroya
TA Hours: 2-4pm, Wednesdays, CSL E211

Max Hamilton
TA Hours: 2-4pm, Tuesdays, CSL E211

Lectures

Tue & Th 4:00PM - 5:15PM
Computer Science Labs, E110

Optional Discussions

Grading Policy

Assignment #1: 15%
Assignment #2: 15%
Assignment #3: 15%
Midterm #1: 15%
Midterm #2: 15%
Project: 25%

Course Discussions

Discussions on Piazza.

Assignments

There will be 3 homework assignments through the semester.

View details »

Acknowlegements

Many thanks to Erik Learner-Miller, Jiajun Wu, Fei-Fei Li and Andrej Karpathy for graciously letting us use materials from the Stanford CS231n.