Instructor: Tejas Gokhale (OH: WED 1430--1530 or by appointment; ITE 214);
Teaching Assistant: TDB TBD;
Time: MON and WED 1600--1715
Location:
This class will offer a comprehensive overview of neural networks and deep learning algorithms. Deep Learning has been a highly successful research field over the last 20 years across a range of domains (vision, language, audio, robotics; ``AI'' in general). Deep learning has lead to significant commercial success and exciting new directions that may previously have seemed out of reach. The class will focus on the core principles of extracting meaningful representations from high-dimensional data, a fundamental aspect for several applications in autonomous decision making. Class lectures will cover fundamental topics such as network design, training and optimization, and evaluation. Homeworks will give students the opportunity to implement algorithms learnt in class for applications in visual recognition, language understanding and other domains. In the term project, students will construct a research hypothesis, propose new techniques and solutions, interpret results, and communicate key findings.
Prerequisites: We will assume that you have a basic (but solid) expertise in linear algebra, geometry, probability, and Python programming. Recommended classes at UMBC are: MATH 221 (Linear Algebra), STAT 355 or CMPE 320 (Probability and Statistics), MATH 151 (Calculus and Analytical Geometry). If you are unfamiliar with linear algebra or calculus, you should consider taking both: without these tools, you are likely to struggle with the course. Although we will provide brief math refreshers of these necessary topics, CMSC 475/675 should not be your first introduction to these topics.
Schedule is tentative and subject to change.
Topic | Resources | Optional Reading | |
1 | Introduction | [slides] | |
2 | Machine Learning Review | [slides] | |
3 | Multi Layer Perceptron | [slides] | |
4 | NN Training | [slides] | |
5 | Convolutional Neural Networks | [slides] | |
6 | Autoencoders | [slides] | |
7 | Self-Supervised Learning | [slides] | |
8 | Language Models | [slides] | |
9 | Vision Transformers | [slides] | |
10 | Autoencoders | [slides] | |
11 | Multimodal Deep Learning | [slides] | |
12 | Generative Adversarial Networks | [slides] | |
13 | Diffusion Models | [slides] | |
14 | Implicit Neural Representations | [slides] | |
15 | Neural Radiance Fields | [slides] | |
16 | Neural Operators | [slides] | |
17 | Distributional Robustness | [slides] | |
18 | Adversarial Robustness | [slides] |
Resources