MCTS Dialogues

Can you use Monte Carlo Tree Search and a list of “talking points” to help steer dialogues generated by an LLM? Yes you can! Try it out here.


MindCraft Bot

We built an LLM-powered MineCraft bot that follows instructions and has conversations about its environment! Checkout the code here.


AlphaZero for Reversi

AlphaZero implementation for Reversi: found here.


Multi-objective Reinforcement Learning

Regularly reinforcement learning agents maximize a single reward, but many environments can be imaged in which multiple, possibly conflicting tasks exist. If the relative importance of these tasks is not known prior to training, it may be necessary to learn to generalize over objectives. The multi-objective implementation found here was used in my undergraduate thesis.


Holodeck

Holodeck is a reinforcement learning framework with high visual fidelity built with Epic Game’s Unreal Engine. I began work on Holodeck in BYU’s Perception, Control, and Cognition lab working on performance optimization between the game engine (C++) and the Holodeck client (python). Later a participated in designing and developing our second major release (Spring 2019) which included dynamically loaded environments. This redesign greatly facilitated task customization and future improvements. Check out the repos for the main Holodeck client and our Unreal C++ backend on Github.


Text Reinforcement Learning

I lead a research project that explored state space representations for Partially Observable Markov Decision Processes. I was specifically interested in external memory for state spaces that were non-spatial, such as text domains. In the process of this research, I implemented several reinforcement learning DQN agents for tasks in Microsoft’s TextWorld. These agents utilized various methods for learning representations of the partially observable state space of text games. These methods included state concatenation, recurrent neural networks, and external memory augmented networks. Find my pytorch code here. I also wrote a summary of recent work in RL for text-based games that can be found here.


Deep Learning Library

As part of a Master’s deep learning course at Brigham Young University, I created a library of deep learning algorithms in Jupyter Notebooks. I’ve maintained the examples to work in Google Colab. The algorithms include Char-RNN, GAN, PPO, Style Transfer, and others. The notebooks can be found here.