COMS 6998 Spring 2022: Self Supervised Learning

Waiting List

I have finalized the roster for the class. I apologize to all of you who wanted to get into the course. The course videos will appear in the Video Library on the class Courseworks page, thanks to CVN. I believe that you should be able to view these videos after the class (if you have a Columbia UNI). So I don't plan to have official auditors for the class.


Unsupervised learning refers to a machine learning paradigm in which the algorithm attempts to extract regularities in a dataset, without access to targets for the input examples. It is a vital aspect of machine learning, as it allows the systems to overcome dependence on often expensive annotations or labels. Self-supervised learning is a form of unsupervised learning, where the original input examples, or portions or transformations of them, are used to convert the learning problem into a supervised one. This approach has been around a while, but has seen a recent resurgence and a wide range of new ideas and advances. This course will survey foundational ideas, recent work, and applications in this area. Evaluation will be based mainly on a project involving original research by the students. Students should already be familiar with the basics of machine learning such as linear algebra, optimization, and probability.

The class will have a major project component.


This course is designed to bring students to the current state of the art, so that ideally, their course projects can make a novel contribution. A previous course in machine learning is strongly recommended, such as: COMS 4771 (Machine Learning), COMS 4995 (Neural Networks & Deep Learning), STCS 6261 (Foundations of Graphical Models), or COMS 4775 (Causal Inference). However, the only hard requirements are linear algebra, basic multivariate calculus, the basics of probability, and programming skills.

Where and When

Course Structure

Aside from the first two and last lecture, in most class meetings a different group of students will present on a set of related papers covering an aspect of these methods. The final four class meetings will be devoted to project presentations.

In-class discussion will center around understanding the strengths and weaknesses of these methods, their relationships, possible extensions, and experiments that might better illuminate their properties.

The hope is that these discussions will lead to actual research papers, or resources that will help others understand these approaches.

Grades will be based on:


Students can work on projects individually, or in groups of up to four. The grade will depend on the ideas, how well you present them in the report, how clearly you position your work relative to existing literature, how illuminating your experiments are, and well-supported your conclusions are. Expectations will scale with the size of the group. Full marks will require a novel contribution.

Each group of students will write a short (around 2 pages) research project proposal, which ideally will be structured similarly to a standard paper. It should include a description of a minimum viable project, some nice-to-haves if time allows, and a short review of related work. You don’t have to do what your project proposal says - the point of the proposal is mainly to have a plan and to make it easy for me to give you feedback.

Towards the end of the course everyone will present their project in a presentation, of roughly 15 minutes.

At the end of the class you’ll hand in a project report (around 6 to 8 pages), ideally in the format of a machine learning conference paper such as NeurIPS.