What you'll learn:
- Self-Supervised Learning | Representation Learning | Contrastive Learning | SimCLR of Chen et al. (2020)
- Pretext Model | Downstream Model | Transfer Learning | Fine-Tuning
- Machine Learning | Deep Learning | Supervised Learning | Unsupervised Learning
- Python 3+ | TensorFlow | Google Colab
“If intelligence were a cake, self-supervised learning would be the bulk, supervised learning the icing, and reinforcement learning the cherry on top.”
— Yann André LeCun, Chief AI Scientist at Meta
Key Prerequisites Before You Begin
Before starting this course, there are a few foundational requirements:
Familiarity with deep learning architectures: You should understand convolutional, recurrent, dense, pooling, average, and normalization layers, explicitly using the TensorFlow library in Python 3+.
Experience with model development: You must be able to develop, train, and test multi-layer deep learning models in TensorFlow.
Awareness of Udemy’s 100% Money-Back Guarantee: This course is backed by Udemy’s satisfaction policy.
Keeping up with evolving libraries: Machine learning libraries like TensorFlow are constantly being updated. You must adapt your code by upgrading to the latest versions or downgrading if necessary.
About the Instructor
I’m Mohammad H. Rafiei, Ph.D., and I’m honored to be your guide throughout this journey. As a machine learning engineer, researcher, and instructor at Johns Hopkins University, Whiting School of Engineering, I bring both academic and practical experience to the course. I’m also the founder of MHR Group LLC, based in Georgia.
Course Focus & Materials
This course will introduce you to Self-Supervised Learning (SSL), also known as Representation Learning, with a focus on image data. Starting with simple supervised and semi-supervised learning tasks, we’ll gradually dive into SSL techniques in later lectures.
Self-Supervised Learning is an emerging and highly sought-after approach in machine learning, particularly useful when working with limited labeled data. In this course, we will explore two main SSL techniques: contrastive and generative, with a focus on contrastive models.
You’ll have access to several examples and experiments to help you fully grasp the concept of SSL. While the course focuses on the image domain, the techniques can be applied to other fields, including temporal data and natural language processing (NLP).
You’ll be provided with Python notebooks (.ipynb) for each lecture, optimized for execution with a GPU accelerator. Details on running these notebooks are covered in an upcoming lecture.
Tips for Optimal Learning
Video speed: Adjust the playback speed if necessary to match your pace.
Captions: Enable captions for clarity.
Video quality: For the best experience, set the video quality to 1080p.
This course is designed for use on Google Colab with GPU accelerators. The TensorFlow version used in the lectures is 2.8.2. As of October 2024, the notebooks work smoothly with TensorFlow 2.15 on Colab. We’ve included an extra cell in most notebooks for easy downgrading to version 2.15 if needed.
As machine learning libraries evolve, staying updated and adjusting your code is crucial.
Course Structure
The course is divided into four sections and ten lectures:
Section 1: Introduction
Lecture 1: Introduction to the Course
Lecture 2: Python Notebooks Overview
Section 2: Supervised Models
Lecture 3: Supervised Learning
Lecture 4: Transfer Learning & Fine-Tuning
Section 3: Labeling Task
Lecture 5: Challenges in Labeling
Section 4: Self-Supervised Learning
Lecture 6: Introduction to Self-Supervised Learning
Lecture 7: Supervised Contrastive Pretext, Experiment 1
Lecture 8: Supervised Contrastive Pretext, Experiment 2
Lecture 9: SimCLR: An Unsupervised Contrastive Pretext Model
Lecture 10: SimCLR Experiment
I look forward to guiding you through this exciting subject and helping you master Self-Supervised Learning in Python!