Nothing beats working on a challenging problem that makes you dream in code and mathematics. What can be more motivating than the satisfying feeling of solving a good problem?
How it got started? I started my technical career as a software engineer at Imagine Learning with a BS in Computer Science from Brigham Young University. It was amazing working in a team filled with a variety of roles and talents. I was exposed to tools such as Unity and really enjoyed the agile scrum workflow. It was after participating in a company-wide competition where I implemented Naive Bayes to predict the probability of text answers to free-response questions being correct, that I became motivated to further pursue Machine Learning. After working with Imagine for two years, I began the Master’s program in Computer Science at BYU specializing in Machine Learning.
During my Master’s, I was invited to do research at the Brain and Cognitive department at Massachusetts Institution of Technology (MIT). There I gained the skills to write probabilistic models and work with ML algorithms. Upon completion, I was recruited as a Machine Learning PhD student at Northeastern University on scholarship.
Gray Falkon, LLC
For the last year, I’ve been working in a startup, Gray Falkon, LLC. This means I wear many hats. I am my own project manager, software engineer, and QA. I have independently worked on projects dealing with internet security, computer vision, machine learning, and artificial intelligence. Most of my machine learning skills have been developed and practiced in academia, but my goal is to develop the skills to build end-to-end scalable models that will positively impact the company, and I hope to accomplish that one day.
I am currently fully remote, and work directly under the VP of Tech and the President of Gray Falkon. Since there is a high demand for development, it’s my responsibility to scope the projects, present designs, discuss approaches and provide meaningful feedback on feasibility for projected timelines. I’m responsible for deploying our projects on the Google Cloud Platform, and work intensely with our SQL database. I’ve presented preliminary results from image processing algorithms and deep learning models via Jupyter Notebooks to executives and direct managers.
Current Projects:
- Redesigning Google’s Transformer model as a classifier in PyTorch to determine if search results are correctly identifying brand-level unapproved listings across marketplaces to help reduced manual classification. Currently in the evaluation process.
- Designed and developed an Image Copyright Infringement identifier program across Walmart and Amazon listings using computer vision algorithms such as SIFT and hash imaging.
- Designed and developed in-house stealth software called Nighthawk which protects hundreds of our customized marketplace accounts. It allows employees stealth access to each account (such as Amazon) via personalized proxy IP-Address, cookies, and browser histories.
- Designed and developed AI bots that bypassing bot-detection barriers and auto-create Gmail, Amazon, and Walmart accounts
- Designed and created an in-house tool for auto proxy connection monitoring.
- Created a chat program using OpenAI for gmail to gmail account routine chatting which minimizes bot detection and gmail account deactivations.
- Design and create SQL tables
Bayesian and Machine Learning Lab, Northeastern University
At Northeastern, I worked with Jan-Willem Van de Meent, where my interests centered around Probabilistic Programming, Nested Inference, Theory of Mind, Cognitive Modeling, and Inferring Intent.
Humans have the ability to reason and respond to their environment with little information and effort. Autonomous agents require similar capabilities: in order to integrate into society seamlessly and respond appropriately to other entities, they must be able to reason about their environment and other agents to make decisions based on that reasoning. To accomplish this, we must design a mind capable of forming rich, compositional, and symbolic representations from noisy streams of low-level sensory data. My research focus has been to create such minds.
Ever since I was introduced to the power of probabilistic programming, I have wanted to use these tools to design autonomous decision-making models which agents can use to reason about the mental states of other agents, including those agents’ beliefs, desires and goals. These capabilities will improve human lives by allowing autonomous agents to interact with and aid humans, infer their needs from limited observations, and reason in conditions of high uncertainty. Most importantly, when applied to high risk situations such as search and rescue, this technology could potentially save lives. To this end I have focused my research interests in the intersection of computer science, Bayesian statistics, and social cognition for artificial intelligence.
Accomplishments:
- Designed and implemented generative models for high-uncertainty scenarios with adversarial agents using Rapidly-exploring random trees
- Published mathematical Nested-Importance Sampling algorithm to express theory of mind models
- Designed, implemented, and ran experiments on probabilistic generative models to produce collaborative and adversarial agent behavior data visualized by Pygame to determine if such behavior could be easily identifiable by humans
- Mentored undergraduate student to design and train theory of mind agents using reinforcement learning to determine if convergence to equilibrium could be achieved.
Check out my paper: Nested Reasoning About Autonomous Agents Using Probabilistic Programs,
https://arxiv.org/abs/1812.01569.
ICML 2019 Workshop Paper for the following 2 Workshops:
(1) Generative Modeling and Model-Based Reasoning for Robotics and AI (2 min Spotlight)
(2) Imitation, Intent, and Interaction Invited as an Oral Presentation https://slideslive.com/38917635/nested-reasoning-about-autonomous-agents-using-probabilistic-programs.
BYU Perception Control and Cognition Lab
My research centered on giving autonomous agents the ability to simulate theory of mind to reason about decision making, and is founded in two important concepts. First, there is a natural Bayesian formulation to reasoning about the uncertainty inherent in our estimate of another agent’s mental state, and second, probabilistic programming is a natural way to describe models that involve one agent reasoning about another agent.
Research Focus
As a first year Master’s student, I began an extension of Josh Tenenbaum and Noah Goodman’s work on probabilisitic programming for modeling the mental states of agents. Since the mental state of another agent can never be known perfectly, the ideal autonomous agent should explicitly reason about a distribution over the beliefs, goals, limitations, and plans of an other agent. My research explores this dynamic in the context of a chase scenario with two agents playing a competitive game. Agent A plays the role of a chaser and must intercept agent B before B reaches its unknown goal location in a convoluted city map. In order to model this problem we must address two significant technical challenges: first, this scenario involves a complex mix of geographic priors, visibility graphs, path planners and trajectory optimizers. Second, the model must explicitly account for the idea that one agent is reasoning about another agent who is reasoning about the first agent. I have independently designed and constructed a framework to handle these challenges. The foundation of this framework lies in the design of a flexible lightweight embedded probabilistic programming language hosted in python that is capable of performing nested inference using MCMC methods. This language allows for efficient, yet complex, primitive calculations for isovists and path planners on saliency maps which agents must use to infer the mental states of other agents in order to reason and make decisions. I focus on implementing a less computationally intensive approach to simulating theory of mind for autonomous decision making using nested importance sampling methods. Preliminary experiments suggest that agents make better decisions when using these more complex models, which implies that this research has significant future potential.
Recognitions
My second and final year there, I was fortunate to forge connections with other members of my research community. That February, I presented our research using probabilistic programming and variational inference at a C-UAS (Center for Unmanned Aerial Systems) conference at Georgia Tech. Then that April, I was selected as Brigham Young University’s representative for the annual CRA-W (Computing Research Association – Women) conference to present my research in Washington D.C. After making significant research advances in September, I was invited by Noah Goodman to present my work to the Stanford Computation and Cognition Lab. We discussed implementation techniques and shared ideas. In late October, I was nominated and featured in BYU’s Frontier Magazine as one of the college’s top students currently researching significant areas in STEM.
MIT Probabilistic Computing Project
In the summer of 2017, I worked under Josh Tenenbaum and Vikash Mansinghka as a visiting research assistant in the Brain and Cognitive Science Department at MIT. There, I was critical in the development, testing, and application of a new featherweight embedded probabilistic programming language and compositional inference programming library known as Gen. I helped develop the first goal inference notebook and furthered experiments that demonstrated the efficiency of writing custom proposals as probabilistic programs.This work was essential to my growth and understanding of Bayesian inference and probabilistic programming languages. At Dr. Vikash Mansinghka’s request, I had the privilege of attending the 2017 O’Reilly Artificial Intelligence Conference in New York to assist in tutorial sections of his workshops.
During my time at MIT, I was the lead of a goal inference project. Having set up a simple environment consisting of a table and a number of objects laying on it, our objective was to use Gen to simulate models and conduct inference to determine which object agents were reaching for in their early stages of movement. I independently developed WebGL tools to view 3D traces of the generative models while running inference over them. I also designed robust generative models that described realistic reaching data gathered from a Kinect. By applying nested SMC and MCMC methods, we provided an improved, efficient, and probabilistic approach to infer likely goals for agents in noisy realistic scenarios.
Information Retrieval Lab, BYU
We developed information retrieval algorithms for video recommendations, specifically religious YouTube clips. We worked with neural networks, LDA models, collaborative and content filtering algorithms, and sentiment analysis to help recommend more relevant videos to users. We applied similar work to movie recommendations, and later to table-top games. Most work was focused on engineering the recommendation systems in Java.
Data Mining Lab, BYU – Undergraduate Research Student
My research focused on data mining techniques, specifically using queries in MySQL databases. We collected twitter feeds for months at a time, and mined for patterns on drug use, abuse, and misuse. Since feeds included account information as well as GPS coordinates from when the tweet was posted, we were able to map areas in the United States of popular drug use and transaction. Further, we explored different drug behaviors along the east coast due to concentration of drug-related tweets originating from there.
Check out my publication:
Seaman, I. and Giraud-Carrier, C. (2016). Prevalence and Attitudes About Illicit and Prescription Drugs on Twitter. In Proceedings of the IEEE International Conference on Healthcare Informatics, 14-17.