June 2018
Google Brain, San Francisco.
April 2017
US Team, Gothenburg, Sweden
July 2017
Senior Honors Thesis, Whitfield Lab
Quantum systems. My advisor is James Whitfield.
Summer 2016
Microsoft New England
Azure Machine Learning Team
Fall 2015
Research Semester at CERN
Monte Carlo simulation of Higgs Radiation.
Dartmouth College
Major in Physics.
Bio. I am a recent graduate of Dartmouth College, where I majored in physics and dabbled in everything else. I have interned at CERN, Microsoft Azure, and the DARPA Explainable AI Project. I like to use memory-based models to generate sequences and policies. So far, I have used them to approximate the Enigma cipher, generate realistic handwriting, and visualize how reinforcement-learning agents play Atari games. One of my priorities as a scientist is to explain my work clearly and make it easy to replicate.

Outside of research, I like to run endurance races, camp, read Steinbeck, and make things out of wood. Ask me about raising pigs.


Visualizing and Understanding Atari Agents
Accepted paper at ICML 2018. Workshop paper at NIPS 2017. Deep reinforcement learning agents are effective at maximizing rewards, but it's often unclear what strategies they use to do so. As a visiting researcher at DARPA's Explainable AI Project, I wrote a paper aimed understanding these strategies.
Sam Greydanus, Anurag Koul, Jonathan Dodge, Alan Fern
Learning the Enigma with Recurrent Neural Networks
Recurrent Neural Networks (RNNs) are Turing-complete. In other words, they can approximate any function. As a tip of the hat to Alan Turing, I formulate the Enigma's decryption function as a sequence-to-sequence translation task and learn it with a large RNN.
Sam Greydanus
Approximating Matrix Product States with Neural Networks
The wave function is essential to most calculations in quantum mechanics and yet it’s a difficult beast to tame. In this project, I trained a neural network to approximate the ground state wave function of a many-body quantum system. This was my senior honors thesis.
Sam Greydanus, James Whitfield
Machine Learning for fMRI data
Traditionally, neuroscientists have used a simple (but computationally demanding) technique called searchlight analysis to understand fMRI data. New machine learning approaches have yielded great success as well. The goal of this project was to compare the performances of the two approaches.
Sam Greydanus, Luke Chang
show more
Higgs Electroweak Calibration
My CERN research project. Particle physicists use a theory called the Standard Model to predict physics in the Large Hadron Collider. I used two Monte Carlo physics simulators to see what happens to numerical models of Higgs physics when we leave out the Electroweak force.
Sam Greydanus, Andre Mendes
Image Classification project at BigML
BigML is a machine learning startup which aims to make machine learning accessible to people without specialized backgrounds. As an intern, I tested the feasibility of using their online interface to detect cat heads from the Microsoft cat head database
Sam Greydanus, Poul Peterson
Nearshore physics and automated ship wake detection
Salt water and fresh water have different densities and form layers. Special waves, called internal waves, exist between these layers. In this project, I tracked internal waves in time-lapse footage from the Columbia River Estuary.
Sam Greydanus, Robert Holman
AGU 2014 (Oral Presentation)

Personal Projects

Fractal Tree
The physics of a tree blowing in the wind is very difficult to model because the system is so nonlinear. I made a numerical model of the system by expressing it as a fractal.
Baby A3C
It's amazing that deep RL agents can master complex environments using just pixels and a few rewards. While learning about these agents, I built a high-performance Atari A3C agent in just 180 lines of PyTorch.
Friendly qLearning
What happens when qLearning agents interact with one another? The goal of this toy JavaScript model is to create emergent social behavior. I am especially interested in discovering "social neurons" in the model's network.
show more
Pythonic OCR
I trained a deep Convolutional Neural Network in Keras, then rewrote it in numpy to run as a web demo.
Full Tilt
When I was first teaching myself to program, I wrote a few simple apps for Android. My best one is a spinoff of the popular iOS game Tilt to Live.
I used a policy gradient method written in TensorFlow to beat the Atari Pong AI.
I also solved the Cartpole control problem using Policy Gradients.
While working for the Digital Arts Lab at Dartmouth, I wrote an iOS textbook exchange app. We launched it on the App Store but disbanded soon afterwards. It is a cool little project!
When I discovered stereograms, I got so excited that I wrote code to make my own.
While learning about recurrent neural networks I trained a deep character-level model to write in the style of one of my favorite authors, Jack London.


I wrote a math + code introduction to neural networks and backpropagation. Uses pure numpy and a Jupyter notebook.
An article I wrote about depth perception (page 27) for the Dartmouth Undergraduate Journal of Science
A class project about numerically modeling quantum systems in MATLAB
A gist for dynamic plotting with matplotlib. Useful for updating loss functions within a training loop.
A quick derivation of the advantage actor-critic policy gradient methods. For an AI seminar I gave at Oregon State.
I wrote a numpy model of synthetic gradients for a neural network MNIST classifier. Inspired by this DeepMind paper.
An Jupyter notebook about Mixture Density Networks implemented in Google's TensorFlow library
Some other Android apps I wrote a few years ago are on Google Play
I wrote a Generative Adversarial Network repo for MNIST in PyTorch
I did a Sudoku on a plane and then decided to solve the general case.