Skip to content

Overview

Introduction to Applied Machine Learning

  • Class Meeting. Mondays and Wednesdays 3:05 – 4:20 pm in Gross Hall 107decorative image of a robot teaching machine learning at Duke
  • Instructor. Brandon Fain.
  • Graduate Teaching AssistantsLiyang Zhu, Kevin Andrews, and Yiming Feng
  • Undergraduate Teaching Assistants. Eric Lee, Hala Mohammed, Isaiah Boyles, Damilola Awofisayo, Shravan Selvavel, Aayush Kashyap, Abhinav Meduri, Amanuel Shetaye
  • Course Platforms:
    • Canvas learning management system
    • Ed Discussion forum for questions (accessible from Canvas)
    • Gradescope submission and grading (accessible from Canvas)

Course Description

Machine Learning (ML) studies techniques to automatically learn patterns from data rather than explicitly programing a behavior. This course explores applications of machine learning in tabular data, computer vision, human language, and reinforcement learning, including recent generative artificial intelligence such as transformer language models and diffusion image generation models. Linear models and deep artificial neural networks of different architectures including multilayer perceptrons, convolutional neural networks, and transformers, will be utilized. Students will apply all techniques on real data using modern software.

Primary Course References

  • BB: Deep Learning Foundations and Concepts by Christopher M. Bishop with Hugh B [BB online access link].
  • JM: Speech and Language Processing (3rd edition) by Dan Jurafsky and James H. M [JM online access link]
  • SB: Reinforcement Learning: An Introduction by Richard S. Sutton and Andrew G. Barto [SB online access link].

Topics

The course covers the following 5 major topics with a heavy emphasis on deep learning with neural networks. In addition, integrated treatment of societal and ethical issues in machine learning, open-source models, and practical programming.

  1. Introduction to Machine Learning. Introduction to Python and NumPy programming, linear models including logistic regression, training, testing, validation, regularization.
  2. Artificial Neural Networks, Convolutions, and Image Recognition. Introduction to deep learning with neural networks, PyTorch programming, multilayer perceptrons and convolutional neural networks, training with minibatch stochastic gradient descent, backpropagation, and automatic differentiation, image recognition and object detection, and transfer learning.
  3. Transformers and Language Models. Conceptual intro to recurrent neural networks followed by detailed study of attention mechanisms and transformer architectures, encoder and decoder language models, generative large language models, HuggingFace, model alignment and fine-tuning, prompt engineering and in-context learning.
  4. Diffusion and Image Generation. Continued study of transformers with contrastive learning and vision transformers. Diffusion process for image generation and multimodal vision-language models.
  5. Reinforcement Learning. Introduction to value-based reinforcement learning in the tabular setting with monte carlo and dynamic programming solutions, deep value-based reinforcement learning (deep q-learning), gymnasium environment API, policy-based reinforcement learning with reinforce and actor-critic.

Background and Prerequisites

COMPSCI 201 Data Structures and Algorithms is a required and enforced prerequisite. Students are expected to have experience programming small to medium sized software projects, to be familiar with standard data structures such as arrays, lists, Strings, and maps, to be able to read code and documentation, and to be able to debug a program.

Students should also have mathematics background at least at the level of first semester Calculus. Students should be comfortable with algebra, summations, logarithms, exponential functions, derivatives, etc. No mathematical proof writing required. No prior machine learning experience required.

Experience with basic matrix/vector math, Python programming, and probability will all be very helpful but are not strictly required; expect to spend more time on assignments and reviewing material if these topics are new, beginning with the recommended background material below.

The following is recommended for all students to complete by the end of the first week of classes.