Projects

Automatic Curriculum Learning with Gradient Reward Signals
Collaborated with Junsang Yoon on a research project looking into using student gradients as a reward signal for teachers in the context of automatic curriculum learning; utilized gymnasium environments (PointMaze, AntMaze, and AdroitHandRelocate) along with soft actor-critic and policy gradient algorithms to conduct experiments

Can Custom Models Learn In-Context? An Exploration of Hybrid Architecture Performance on In-Context Learning Tasks
Collaborated with Nelson Lojo, Kesava Viswanadha, Christoffer Grondal Tryggestad, Derrick Han Sun, Sriteja Vijapurapu, August Rolfsen, and Anant Sahai on a paper exploring the ability of GPT-2, Llama, and Mamba hybrid architectures to perform in-context learning

Can Transformers Learn Sequential Function Classes In Context?
Collaborated with Emma Guo, Evan Hu, Reya Vir, and Ethan Hsiao on an investigation into the ability of transformers to in-context learn sequential function classes (recursive linear transformations, recursive randomly-initialized neural networks, etc.) as well as their robustness to label randomization during inference time

Coup Reinforcement Learning Agent
Implemented the deep Q-Learning reinforcement learning algorithm to train an agent to play the board game Coup; Utilized PyTorch to train the Q-Network and Matplotlib to visualize the results

Neural Radiance Field!
Implemented and trained a Neural Radiance Field (NeRF) to reconstruct a lego scene in 3D

Fun With Diffusion Models
Deployed the DeepFloyd IF diffusion model from Stability AI to sample new images, denoise existing images, run image-to-image translation, perform inpainting, and generate visual anagrams / hybrid images; implemented a diffusion model with a U-Net architecture from scratch to generate handwritten digits by training on the MNIST dataset

[Auto]Stitching Photo Mosaics
Automatically generate image mosaics given a set of images with a shared center of projection by generating homographies from detected correspondence points

Face Morphing
Given correspondence points between faces, calculated warping and averaged pixel values to create morph sequences between arbitrary faces

Fun with Filters and Frequencies
Applied various filters to process images, creating gradient magnitude edge images, sharpened images, hybrid images, and multiresolution blended images

Images of the Russian Empire
Utilized image processing techniques to automatically align and crop the photographs (with red, green, and blue filters) taken by Prokudin-Gorsky in the early 20th century of the Russian Empire

Sawyrter
Implemented motion planning on Sawyer to visualize various sorting algorithms including insertion sort, selection sort, and merge sort; computer vision-based classification of colored and AR-tagged blocks

WhereToEat Chatbot
AI Chatbot created by team of 4 in the Cal Hacks AI Hackathon designed to assist with the restaurant selection process; the frontend was created with Next.js and deployed through Vercel; the backend was created with Python, utilizing the OpenAI and GoogleMaps APIs

Algorithm(s) and Complexity for Condorcet Consistent Voting
Collaborated with Amar Shah on a literature review of complexities for various Condorcet Consistent voting systems such as Dodgson, Kemeny, and Ranked Pairs; potential applications to simple stable voting

NP Hard Team Assignment
Researched solutions to the max k cut NP hard problem to design an algorithm to approximate a solution to a modified graph NP hard problem given hundreds of student inputs

CS61CPU
Designed and pipelined a CPU capable of running RISC-V Assembly instructions

Mancala AI
Implemented the Mancala board game in Java with multiple game modes, utilized the minimax algorithm with alpha-beta pruning to program an AI with an adjustable depth

Gitlet
Implemented a version control system using Java with functionality for commits, branches, merges, and checkouts

History of the Normal Distribution and Central Limit Theorem
Researched the history of the normal distribution and central limit theorem; Authored a paper explaining the historical context behind the development of key results in probability theory