Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Self-Supervised Learning A-Z: Theory & Hands-On Python

via Udemy

Overview

Representation Learning | Contrastive Learning | Pretext | Downstream | SimCLR | Machine Learning | Deep Learning

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!

Taught by

Mohammad H. Rafiei

Reviews

4.2 rating at Udemy based on 40 ratings

Start your review of Self-Supervised Learning A-Z: Theory & Hands-On Python

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.