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 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
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
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
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