CS 150: Generative Models

Generative models have achieved remarkable success across various applications, including Large Language Models (LLMs) and multimodal generative AI. This course introduces the probabilistic foundations of deep generative models and provides hands-on experience in coding these models.

Course goal

This course aims to introduce the foundamental of generative models and provide the initial experience of working with generative models.
By the end of the course, a student should have a theoretical understanding of generative models. A student should also be able to code and train a generative model for a small-scale generation problem.

Prerequisites

  1. Probability theory: students should have knowledge of probability theory, which includes concepts of probability (density) functions, conditional/marginal probabilities, log-likelihood, and simple distributions (uniform distribution, Gaussian distribution). A prior course is strongly recommended.

  2. Linear algebra and calculus: students should know basic operations over matrices and vectors, such as matrix-matrix multiplication, matrix-vector multiplication, the determinant of a square matrix (eigenvalue decomposition is not needed). Students should know the concepts of gradients, partial derivatives, and chain rule. A prior course is strongly recommended.

  3. Programming: students should be comfortable with programming to multidimensional arrays with numpy, torch, or other pytchon packages. For example, let temp be an array with shape (T, H, W) representing the temperature over T time steps and an H x W area. Can you read out the temerature values at location (i, j) over the T steps? Can you get the mean temperature at a time step t? Can you find the maximum temperature over T steps for each of the H x W locations? Note that you need to use numpy or torch operations WITHOUT a for-loop in your code.

  4. Machine learning and deep learning: the course will require several machine learning concepts including: training/testing split, minimization of training loss, gradient-based optimization. While not required, it is HIGHLY recommended that students have familiarity with elements of training deep neural networks (batch training, opimizer settings) and common neural network layers (fully-connected, convolutional, non-linear layers).

I hope you understand that generative models represent some of the most recent advancements in deep learning, and it’s natural that they build upon years of accumulated knowledge. While the list above demands a solid foundation, we’ll explore core concepts and techniques of generative learning throughout the course.

The prerequisites above have different emphrasis.

Modules

All coding work are REQUIRED to use LLMs. It means that you have the ability to understand the code from LLMs and make necessary corrections.

Grading

Your final grade will be caculated based your performance in coursework and participation.

A separate note: the goal of the grading is to assign grades that reflect the understanding of the topic. The instructor and TAs will check students understanding based on the evidence in course work and class activies. Therefore, the students are expected to take effort to show such evidence, which includes (but is not limited to) asking questions in the class, writing clear assignments, making clear comments to the code, and actively participating class discussions.

Academic Integrity Policy

This course will strictly follow the Academic Integrity Policy of Tufts University. Students are expected to finish course work independently when instructed, and to acknowledge all collaborators appropriately when group work is allowed. Submitted work should truthfully represent the time and effort applied.

Please refer to the Academic Integrity Policy at the following URL: https://students.tufts.edu/community-standards/academic-integrity/academic-integrity-overview

Accessibility

Tufts and the instructor of CS 135 strive to create a learning environment that is welcoming students of all backgrounds and abilities. Respect is demanded at all times throughout the course. It is expected that everyone in the course is treated with dignity and respect. We realize everyone comes from a different background with different experiences and abilities. Our knowledge will always be used to better everyone in the class.

If you have a disability that requires reasonable accommodations, please contact the Student Accessibility Services office at Accessibility@tufts.edu or 617-627-4539 to make an appointment with an SAS representative to determine appropriate accommodations. Please be aware that accommodations cannot be enacted retroactively, making timeliness a critical aspect for their provision.

Please see the detailed accessibility policy at the following URL: https://students.tufts.edu/student-accessibility-services

If you feel uncomfortable or unwelcome for any reason, please talk to your instructor so we can work to make things better. If you feel uncomfortable talking to members of the teaching staff, consider reaching out to your academic advisor, the department chair, or your dean.