I am a researcher and software engineer focused on making machine learning
simpler, more general, and more effective. Having spent many years studying a
wide range of existing models and algorithms, I now work on deriving new methods
from elegant theoretical principles.
I enjoy writing clean code and simple APIs, designing data visualizations to
gain intuition about new domains, simulating physical processes with unexpected
emergent behavior, building tangible objects from humble materials, and
capturing big ideas with small math. My ideal project is one that lets me be a
scientist, artist, and engineer.
Sample Lab: visualization tool for graph-based Monte Carlo algorithms in C.
Sapience: AGI library in C++ and Python, debugger, and test environments.
Verve: general purpose reinforcement learning in C++ and Python.
OPAL: Open Physics Abstraction Layer, simple 3D physics simulation in C++.
Voce: tiny API for speech synthesis and recognition in C++ and Java.
QuickMP: simple loop parallelization macros in a single C++ header file.
QuickProf: simple performance profiling in a single C++ header file.
QuickTest: simple unit testing in a single C++ header file.
iBonsai: meditative interactive 3D tree simulation in C++ for iOS.
Education
PhD ABD in Machine Learning
Computer Engineering Dept, Iowa State University
Thesis: Information Theoretic Priors for Binary Log-Linear Models
GPA 3.85/4.0
MS in Reinforcement Learning
Mechanical Engineering Dept, Iowa State University
Thesis: Design and Implementation of General Purpose Reinforcement Learning Agents
GPA 3.92/4.0
BS in Computer Engineering
Computer Engineering Dept, Iowa State University
Minor in Music (Jazz Performance)
GPA 3.83/4.0
Experience
Principal Software Engineer (Apr 2024 - Present) Collins Aerospace, Cedar Rapids IA
Waveform software engineering.
Machine Learning Researcher & Founder (Oct 2008 - Present) Brainpower Labs, Iowa City IA
Pure AI/ML research and software development.
AI research/development contract with SRAM.
Derived math results (currently 6,500 pages of notes), and designed new learning algorithms involving probabilistic graphical models, Bayesian methods, and information theory.
Built internal software tools in C/C++ and Python to aid research, including interactive visualizations of machine learning and Monte Carlo sampling algorithms.
Designed a novel brain-inspired architecture for artificial general intelligence, and implemented it in in C++ and Python with interactive debugger and test environments.
Developed commercial software to fund research agenda, including iBonsai, a meditative interactive 3D tree simulation in C++ for iOS (120k users).
Graphics engineering contract with Avatree (custom generative 3D tree growth algorithm and glTF exporter in C).
AI/ML Graduate Researcher (Aug 2006 - Dec 2009) VR Applications Center, Iowa State University, Ames IA
Performed independent research on topographic maps, maximum entropy learning algorithms, Bayesian networks, reinforcement learning, and systems neuroscience.
Developed open source C++ libraries for unit testing, profiling, and parallel programming.
Computational Neuroscience Research Intern (May 2006 - Aug 2006) IBM Research, Yorktown Heights NY
Worked with Biometaphorical Computing Research Group.
Implemented a novel computational model of the cerebellum.
Demonstrated motor learning and transfer of complex reaching behaviors with a simulated 6-muscle arm.
Participated in discussions of global brain modeling and information theoretic learning rules.
Teaching Assistant (Jan 2006 - May 2006) Computational Perception, Iowa State University, Ames IA
AI/ML Graduate Researcher (May 2003 - Dec 2005) VR Applications Center, Iowa State University, Ames IA
Performed independent research for MS thesis on reinforcement learning, artificial curiosity, planning, 3D physics simulation, and interactive real-time visualization.
Developed virtual reality software tools and applications for several funded research projects.
3D Graphics Research Assistant (Aug 2002 - Dec 2003) CNDE, Iowa State University, Ames IA
Assisted design and implementation of 3D software for ultrasonic probe simulations used for testing e.g. jet engine and space shuttle parts.
Integrated STL file importer and octree space partitioning.
HPC Research Assistant (Jun 2002 - Aug 2002) Ames National Lab, Ames IA
Developed general message logging software for computational chemistry and other applications on high performance computing clusters.
Software Development Expertise
languages: C/C++, Python, Bash, LaTeX, Mathematica, HTML
visualization: 2D and 3D graphics, OpenGL, ray tracing, VR, glTF
simulation: collision detection, rigid body dynamics, embodied AI
simulations (humanoids/bipeds, arms/hands, wheeled robots)
miscellaneous: clean code, good documentation, open source, cross
platform development, AI/ML visualization tool development, video game
architectures, cellular automata, cell-based physics models, speech
recognition, speech synthesis, web development
general principles: information theory, Bayesian methods, objective
priors, maximum entropy, minimum description length (MDL), Fisher information,
computational neuroscience, brain-inspired AI, artificial curiosity
Open Source Software
QuickMP: Simple loop parallelization macros in a single C++ header file. 500 downloads. Sole developer, began in 2008. [link]
QuickProf: Simple performance profiling in a single C++ header file. 1900 downloads. Sole developer, began in 2006. [link]
QuickTest: Simple unit testing in a single C++ header file. 1300 downloads. Sole developer, began in 2005. [link]
Voce: Tiny API for speech synthesis and recognition in C++ and Java. 41000 downloads. Sole developer, began in 2005. [link]
Verve: General purpose reinforcement learning in C++ and Python. 1200 downloads. Sole developer, began in 2004. [link]
OPAL: Open Physics Abstraction Layer, simple 3D physics simulation in C++. 16800 downloads. Principal developer, began in 2004. [link]
Commercial Software
iBonsai: Meditative interactive 3D tree simulation in C++ for iOS. Sole developer, began in 2008. [link]
Proprietary Software
SRAM AI Tools: Custom AI-based software tools. Sole developer, began in 2023.
Avatree Generator: C code implementing generative 3D tree growing algorithm and glTF exporter for static and animated models. Python scripts for automated rendering in Blender. Sole developer, began in 2022.
Anvil: C utility library for machine learning, linear algebra, parallelization, visualization, etc. Sole developer, began in 2013.
SOM Lab: Interactive visualization tool for topographic map learning algorithms in C. Sole developer, began in 2013.
Sample Lab: Interactive visualization tool for graph-based Monte Carlo algorithms in C. Sole developer, began in 2012. [link]
Sapience: Brain-inspired AGI implementation in C++ and Python, debugger, and test environments. Sole developer, began in 2006. [link]
Publications & Written Work
Streeter. 2019. Multivariate Binary Data Prediction with Log-Linear Models, Bayesian Inference, and Information Theoretic Priors. Iowa State University. Research proposal. (Not yet public.) [link]
Streeter & Oliver. 2009. A Brain-Inspired Cognitive Architecture for Autonomous Development. 9th International Conference on Epigenetic Robotics: Modeling Cognitive Development in Robotic Systems. (Withdrawn due to schedule conflict.) [pdf, link]
Streeter & Oliver. 2009. A Brain-Inspired Cognitive Architecture for Reinforcement Learning. Biologically Inspired Cognitive Architectures 2009. (Withdrawn due to schedule conflict.) [pdf, link]
Streeter. 2009. Sapience: A Brain-Inspired Cognitive Architecture. Iowa State University. Research proposal. [pdf, link]
Peck, Streeter, & Kozloski. 2007. An Integrated Cerebro-Cerebellar Model Demonstrating Associative Learning and Motor Control. 10th Tamagawa-Riken Dynamic Brain Forum. [pdf, link]
Streeter, Oliver, & Sannier. 2006. Verve: A General Purpose Open Source Reinforcement Learning Toolkit. ASME IDETC & CIE. [pdf, link]
Streeter. 2006. Curiosity-Driven Exploration with Planning Trajectories. Twenty-First National Conference on Artificial Intelligence. [pdf, link]
Streeter. 2005. Design and Implementation of General Purpose Reinforcement Learning Agents. Iowa State University. MS thesis. [pdf, link]
Streeter. 2005. Open Source Speech Interaction with the Voce Library. Iowa State University. Technical report. [pdf, link]
Streeter. 2004-2011. The Verve Project. Online blog. [link]
Presentations
Oct 2019. Multivariate Binary Data Prediction with Log-Linear Models, Bayesian Inference, and Information Theoretic Priors. Iowa State University, Ames IA. Proposal presentation. (Not yet public.) [link]
Jul 2009. Artificial Evolution. NSF Research Experience for Undergraduates at ISU. Presentation and demo. (Python demo of 2D catapult simulation and parameter evolution.) [pdf, link]
Jun 2009. Sapience: A Brain-Inspired Cognitive Architecture. Iowa State University, Ames IA. Proposal presentation. [pdf, link]
Mar 2009. A Hierarchical Empirical Bayesian Model of Cerebral Cortex. The 2nd Conference on Artificial General Intelligence, Arlington VA. Poster and demo. (Presented again in Mar 2009 at Emerging Technologies Conference, Ames IA.) [jpg, link]
Nov 2008. Artificial Evolution of Catapults and Neuroevolution. ISU Robotics Club, Ames IA. Presentation and demos. (Python demos of 2D catapult simulation and parameter evolution and 2D mobile robot neuroevolution with collision-based mating.) [link]
Jun 2008. Artificial Evolution and Neuroevolution. NSF Research Experience for Undergraduates at ISU. Presentation and demo. (Python demo of 2D mobile robot neuroevolution with collision-based mating.) [link]
Nov 2006. Neuroevolution, Reinforcement Learning, Artificial Curiosity, and Self-Organizing Maps. ISU Robotics Club, Ames IA. Research presentation. (Presented again in Dec 2006 to the ISU HCI Club.) [link, link, link, link]
Oct 2006. An Integrated Cerebellum Model Explaining Associative Learning, Timing Prediction, and Motor Control. Society for Neuroscience Annual Meeting, Atlanta, GA. Poster and abstract. (Did not attend.) [jpg, pdf, link]
Sep 2006. Verve: A General Purpose Open Source Reinforcement Learning Toolkit. ASME IDETC & CIE, Philadelphia PA. Paper presentation. [pdf, link]
Aug 2006. A Model of Motor Task Offloading in the Cerebellum. IBM TJ Watson Research Center, Yorktown Heights NY. Poster. [jpg, link]
Jul 2006. Design and Implementation of General Purpose Reinforcement Learning Agents. IBM TJ Watson Research Center, Yorktown Heights NY. MS thesis presentation. (Given to the Biometaphorical Computing Group.) [link]
Jul 2006. Curiosity-Driven Exploration with Planning Trajectories. Twenty-First National Conference on Artificial Intelligence, Boston MA. Poster. [pdf, link]
Mar 2006. Design and Implementation of General Purpose Reinforcement Learning Agents. ISU Robotics Club, Ames IA. MS thesis presentation. [link]
Nov 2005. Design and Implementation of General Purpose Reinforcement Learning Agents. Iowa State University, Ames IA. MS thesis defense. [pdf, link]
Apr 2005. Motor Learning for Simulated Creatures. HCI Forum, Ames IA. Poster. [jpg, link]
Apr 2005. OPAL: Open Physics Abstraction Layer. HCI Forum, Ames IA. Poster and demo. [jpg, link]
Feb 2005. Neuroevolution and Reinforcement Learning for Physically Realistic Motor Control in Video Games. ISU Game Developers Club, Ames IA. Research presentation. [link, link]
Jan 2005. Verve Research Overview. ISU Robotics Club, Ames IA. Research presentation. [pdf, link]
Apr 2004. Autonomous Virtual Humans. HCI Forum and 8th International Immersive Projection Technology Workshop, Ames IA. Research presentation. [pdf, link]
Nov 2003. Open Dynamics Engine and Simulated Humans with Neural Network Motor Controllers. ISU Game Developers Club, Ames IA. Tutorial and demos. (C++ demos of simulated humans with neural network motor controllers.) [pdf, link]
Relevant Coursework
general: Calculus, Differential Equations, Linear Algebra & Matrices,
Discrete Math, Classical Physics, General Chemistry, Electric Circuits,
Electronic Devices, Vehicle Dynamics
computer software: C Programming, C++ Programming, Data Structures,
Algorithm Design and Analysis, Software Engineering, Operating Systems,
Networking, Microcontrollers & Assembly Languages, High Performance Computing,
Computer Architecture
computer graphics: Computer Animation and Modeling, Computer
Graphics, Advanced Computer Graphics, Game Design and Development, Virtual
Reality
Conference Associate (4 years), Game Developers Conference
Question Reviewer/Scorekeeper (2 years), US DOE Science Bowl
Mentor, NSF Research Experience for Undergraduates
Technical Judge, FIRST Lego League Iowa
Fundraiser/Laborer, humanitarian trips to six countries
Other Interests
general: running, drawing, cooking, piano, saxophone, video games
(especially NES, SNES, DOS), making things from scratch
tangible: bookbinding, woodworking, prototyping, paper electronics,
cardboard robotics, artificial muscles, computer keyboards from scratch,
molding & casting techniques, adhesives/coatings/binders, making everyday
things from common materials
mental: mathematics, physics, computer science, unix, handwritten
notes, hand-drawn diagrams, old textbooks, math typesetting, finding better
ways to represent & organize ideas (both paper & digital), brainstorming new
projects & startups, thinking big, minimizing description lengths,
discretizing continua, getting to the bottom of things