blog
Technical writing on machine learning, multimodal AI, and whatever I happen to be exploring. Longer-form posts go here; shorter notes and reading logs live in Notes.
-
Implementing SimCLR on the Food-101 Dataset
· July 2025
contrastive-learningself-supervisedcomputer-visionpytorch
Recently, I implemented the SimCLR framework (Chen et al., 2020) for contrastive learning using the Food-101 dataset. This post summarizes how the project was structured, implementation details from the actual...
-
Creating a custom environment in OpenAI Gym - Blocking Maze
· December 2020
reinforcement-learningtutorial
This short post introduces how to create your own OpenAI Gym environment.
-
Quick recap of basic exploration strategy in RL - epsilon-greedy
· April 2020
reinforcement-learningexploration
Back to basics. I realized I had not written anything about reinforcement learning (RL) since I started this blog, despite having worked in RL for a while. I have been...
-
Conditional GANs (cGANs) and its variations
· February 2020
gansgenerative-modelsdeep-learning
Back to basics. As part of my “reinventing-the-wheels” project to understand things deeply, I took some time to reimplement Conditional Generative Adversarial Nets from scratch. This is a note on...
-
Fighting Mode Collapse 1: Feature Matching
· September 2019
gansgenerative-modelsdeep-learning
In this post, I implement feature matching, a simple technique to mitigate mode collapse in GANs.