Projects
![](https://www.ryanlearns.com/content/images/2023/12/acl_diagram.png)
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
![](https://www.ryanlearns.com/content/images/2024/11/all_archs-4.png)
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
![](https://www.ryanlearns.com/content/images/2023/12/2023-12-10_16-03-25-1.png)
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
![](https://www.ryanlearns.com/content/images/2023/07/coup.jpeg)
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
![](https://www.ryanlearns.com/content/images/2024/12/2900.gif)
Neural Radiance Field!
Implemented and trained a Neural Radiance Field (NeRF) to reconstruct a lego scene in 3D
![](https://www.ryanlearns.com/content/images/2024/11/transformation-ezgif.com-speed.gif)
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
![](https://www.ryanlearns.com/content/images/2024/11/room_mosaic-1.jpg)
[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
![](https://www.ryanlearns.com/content/images/2024/10/test.gif)
Face Morphing
Given correspondence points between faces, calculated warping and averaged pixel values to create morph sequences between arbitrary faces
![](https://www.ryanlearns.com/content/images/2024/11/fire_ryan.jpg)
Fun with Filters and Frequencies
Applied various filters to process images, creating gradient magnitude edge images, sharpened images, hybrid images, and multiresolution blended images
![](https://www.ryanlearns.com/content/images/2024/09/cropped_emir-1.jpg)
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
![](https://www.ryanlearns.com/content/images/2024/12/sawyer.png)
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
![](https://www.ryanlearns.com/content/images/2023/06/2023-06-18_23-00-55.png)
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
![](https://www.ryanlearns.com/content/images/2023/06/2023-06-03_00-16-03.png)
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
![](https://www.ryanlearns.com/content/images/2023/08/2023-08-04_18-52-48.png)
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
![](https://www.ryanlearns.com/content/images/2022/11/2022-11-15_14-29-52.png)
CS61CPU
Designed and pipelined a CPU capable of running RISC-V Assembly instructions
![](https://www.ryanlearns.com/content/images/2023/08/minimax_tree.jpg)
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
![](https://www.ryanlearns.com/content/images/2022/07/2022-07-02_00-25-35.png)
Gitlet
Implemented a version control system using Java with functionality for commits, branches, merges, and checkouts
![](https://www.ryanlearns.com/content/images/2024/05/Gauss.jpg)
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