A selection of medium to large scale project I have worked on for school or work.
I developed a hyperoptimized version of the Bradley-Terry paired comparison model and contributed it to the ChatBot Arena codebase. This brought the runtime of computing the ratings from 19 minutes to 8 seconds. [blog post] [pull request] [dev repo]
In collaboration with Microsoft Research Montreal and Umass Amherst, I worked on a project applying reinforcement learning algorithms to text based games. We implemented extensions of A2C and DQN using LSTMs to encode states and generate natural language actions. We tested our algorithms in the Microsoft TextWorld environment. [report] [poster]
In my final project for CS 690D, Deep Learning for Natural Language Processing, I developed a method for learning seperate word representations in order to better represent words with multiple meanings. The embeddings learned the different contexts of words and worked well as inputs to downstream tasks. [report] [poster] [code]
This was my final project for CS 682, Neural Nets. I trained neural networks to classify and locate objects in images. I experimented using alternative loss functions and trained an additional neural net to approximate the desired utility metric and used the network itself as a loss function. [report] [poster] [code]
As a final project for CS 645, Databases, my teammates and I implemented VA-file and R*-tree data structures to accelerate nearest neighbor search on high dimensional data sets. We worked to reproduce the experiments in this paper. [report] [code]
As an intern at Lawrence Livermore National Laboratory, I worked on a project applying deep reinforcement learning algorithms to medical simulations of sepsis. The goal was to learn combinations of drugs which when applied to patients in specific medical states increase the expected health status of the patient over the course of their treatment. [poster]
As a final project for EECS 467, Autonomous Robotics, my teammates and I made a robot which plays beer pong. It used an Xbox Kinect camera and computer vision techniques to locate the positions of target cups. We programmed the kinematics of 5 joint robotic arm to be to perform picking up and throwing motions. To throw the ball the correct distance, we fit a polynomial regression model from arm torque and speed to distance thrown and inverted it to map from desired distance to required torque and speed. [report] [poster]