15.773 | Spring 2024 | Graduate

Hands-on Deep Learning

Syllabus

Course Meeting Times

Lectures: 2 sessions/week, 1.5 hours/session

Prerequisites

  • Familiarity with Python at this level
  • Familiarity with fundamental machine learning concepts such as training/validation/testing, overfitting/underfitting, and regularization
  • If you have taken 15.071 The Analytics Edge, 15.072 Advanced Analytics Edge (or will be taking one of these concurrently), or if you have other relevant coursework or work experience, you should be fine

Description

Deep learning is the engine behind all the Predictive and Generative AI advances that we see around us today. Starting from around 2010, this single algorithmic strategy has beaten incumbents and broken records in multiple areas: speed recognition, image recognition, natural language processing and so on. Deep learning is considered by many to be a general-purpose technology—like electricity and the Internet—whose impact will be pervasive and profound, and it is well on its way to revolutionizing many fields, from business to the sciences.

This course will unpack deep learning, developing its building blocks from scratch. The emphasis will be on developing a deep, hands-on understanding of how to build models to solve complex problems involving the processing of unstructured inputs (e.g., how do we detect if a driver is falling asleep?) and the generation of unstructured outputs (e.g., how do we summarize the content of a customer-service call transcript?).

You will learn the basics of deep neural networks—layers and activations—and how to set up and train them. You will learn about special-purpose networks that have been invented in the field of computer vision to process images and videos (convolutional networks) and networks that have been invented in the field of natural language processing to process text and sequences (transformers). You will learn how large language models (LLMs) like GPT-4 are built and how to adapt LLMs to specific business applications. You will roll up our sleeves and write Python programs (using the powerful Tensorflow/Keras deep learning software framework) to create deep learning models and train them on real-world datasets.

Throughout the course, we will examine in detail how deep learning is being applied to a range of opportunities and problem areas. The class will place an emphasis on connecting this fascinating new technology to sources of business value.

This course is an approved elective for MBAn and the Business Analytics Certificate.

Grading

Your course grade will be based on two homework assignments, a final project, and class participation: 

Class participation 10%
Homework assignments (25% x 2) 50%
Final project 40%

Course Textbook

Deep Learning with Python by Francois Chollet, second edition, October 2021. ISBN: 9781617296864.

Schedule

See the Schedule page for more information on the topics and assignment distribution.

Teams

Students are required to form teams of four that will stay fixed for the duration of the class. Cross-sectional teams are not allowed since teams will be presenting their projects in their respective sections.

We ask that students form teams via Canvas within the first two weeks of class. Use the “People” link on Canvas and navigate to the “Project Groups” tab.

Projects

A major deliverable for the course is a final project. You will submit a 1-page proposal for your final project in the fourth week of class. The proposal will clearly describe the problem (both from a business and technical perspective), the dataset, and your proposed approach(es).

We encourage each team to assemble/curate their own dataset. If that proves to be infeasible given the time constraints of a half-semester class, you are welcome to use publicly available datasets. To that end, the following resources may be helpful:

Teams that do bring their own dataset to the project will get extra credit.

All project submissions must be made available under the MIT license and posted to Github.

Course Info

As Taught In
Spring 2024
Level
Learning Resource Types
Lecture Videos
Lecture Notes
Programming Assignments
Problem Sets
Problem Set Solutions