T81 558: Applications of Deep Neural Networks

May 5, 2026 ยท View on GitHub

Washington University in St. Louis

Instructor: Jeff Heaton

  • Section 1. Summer 2026, Monday, 6:00 PM
    Location: online

Course Description

Deep learning is a group of exciting new technologies for neural networks. Through a combination of advanced training techniques and neural network architectural components, it is now possible to create neural networks that can handle tabular data, images, text, and audio as both input and output. Deep learning enables a neural network to learn hierarchies of information in a manner similar to the way the human brain functions. This course will introduce the student to classic neural network structures, Convolutional Neural Networks (CNNs), Long Short-Term Memory (LSTMs), Gated Recurrent Units (GRUs), Generative Adversarial Networks (GANs), and reinforcement learning. Application of these architectures to computer vision, time series, security, natural language processing (NLP), and data generation will be covered. High-Performance Computing (HPC) aspects will demonstrate how deep learning can be leveraged on both graphical processing units (GPUs) and grids. The focus is primarily on the application of deep learning to problems, with some introduction to the mathematical foundations. Students will use Python and PyTorch to implement deep learning. It is not necessary to know Python prior to this course; however, familiarity with at least one programming language is assumed. This course will be delivered in a hybrid format, combining classroom and online instruction.

Objectives

  1. Explain how neural networks (deep and otherwise) compare to other machine learning models.
  2. Determine when a deep neural network would be a good choice for a particular problem.
  3. Demonstrate understanding of the material through applied programming assignments and a Kaggle competition.

Syllabus

This syllabus presents the expected class schedule, due dates, and reading assignments.
Download current syllabus

ModuleContent
Module 1
Meet on 08/24/2026
Module 1: Introduction to Neural Networks
Module 2
Week of 08/31/2026
Module 2: PyTorch for Neural Networks
Module 3
Week of 09/14/2026
Module 3: Working with Tabular Data
Module 4
Meet on 09/21/2026
Module 4: Training
Module 5
Week of 09/28/2026
Module 5: Convolutional Neural Networks
Module 6
Meet on 10/05/2026
Module 6: Time Series Data
Module 7
Week of 10/12/2026
Module 7: PyTorch Building Blocks
Module 8
Meet on 10/19/2026
Module 8: Kaggle and Hyperparameter Tuning
Module 9
Week of 10/26/2026
Module 9: Foundations of Generative AI
Module 10
Week of 11/02/2026
Module 10: Facial Recognition
Module 11
Week of 11/09/2026
Module 11: Troubleshooting and Evaluating PyTorch Models
  • 11.1 Debugging with LLMs
  • 11.2 Critical PyTorch Errors
  • 11.3 Overfitting and Underfitting
  • 11.4 Vanishing and Exploding Gradients
  • 11.5 Error Metrics Beyond Accuracy
  • Module 11 Program due: 11/10/2026
Module 12
Week of 11/16/2026
Module 12: Explainability
  • 12.1 What is Explainability
  • 12.2 Feature Importance
  • 12.3 Visualization for Computer Vision
  • 12.4 Gradient-Based Explanations
  • 12.5 Limitations of Explainability
Module 13
Week of 11/23/2026
Module 13: Other Techniques
Module 14
Week of 11/30/2026
Module 14: Wrapping Up
  • 14.1 Model Drift
  • 14.2 Dealing with Bias
  • 14.3 Other Deep Learning Frameworks
  • 14.4 Deploying a PyTorch Neural Network
  • 14.5 Future of AI

Datasets