Hunter Heidenreich | ML Research Scientist — Page 34

Scientific Computing
Cartesian Genetic Programming graph showing input nodes, function nodes, and output nodes with active and inactive connections

Cartesian Genetic Programming in Julia

A sophomore year exploration of evolutionary algorithms applied to Atari games, implementing NEAT-inspired speciation mechanisms for Cartesian Genetic Programming to protect topological innovation while introducing custom crossover operators (subgraph, aligned-node) for evolving neural network policies.

Natural Language Processing
Types and distribution of coreferences in QuAC dataset showing dialogue complexity

QuAC: Question Answering in Context Dataset

QuAC introduces a conversational QA dataset that models student-teacher interactions, creating context-dependent questions that test systems’ ability to understand dialogue and resolve references.

Natural Language Processing
Visualization of coreference resolution in the CoQA conversational question answering dataset

CoQA Dataset: Advancing Conversational Question Answering

CoQA extends question answering beyond isolated questions to conversations that require context and reference understanding.

Generative Modeling
Illustration of GAN training process showing adversarial competition between generator and discriminator

Understanding GANs: From Fundamentals to Objective Functions

An in-depth guide to GANs: how two neural networks compete to generate realistic data, the math behind it, and the evolution of objective functions that stabilize training.

Natural Language Processing
3D visualization of word embeddings showing semantic relationships in vector space

Word Embeddings in NLP: An Introduction

Learn how computers understand words through mathematical vectors, from simple counting methods to contextual embeddings that power modern NLP.

Scientific Computing
Radix-2 DIT butterfly diagram showing the fundamental FFT operation with twiddle factor multiplication

FFTW Compiler in Haskell

A sophomore year deep dive into functional metaprogramming, replicating FFTW’s genfft metaprogram logic in Haskell to generate straight-line optimized C kernels for FFTs, using symbolic DAG representation and algebraic simplification to understand how abstract algebra translates into efficient machine code.

Scientific Computing
Flowchart diagram showing the recursive backtracking algorithm for constraint satisfaction in schedule generation

Term Schedule Optimizer

A freshman-year automation tool solving the university scheduling constraint satisfaction problem through web scraping Drexel’s Term Master Schedule and implementing recursive backtracking algorithm to generate every valid schedule permutation satisfying user-defined hard and soft constraints, used throughout undergrad 2016-2020.

Creative Work
Rubik's Cube sonification hackathon project showing a Raspberry Pi setup with webcam reading cube colors and Python code on screen

Rubik's Cube Sonification

A 24-hour hackathon project exploring algorithmic musicology by using a webcam to scan a Rubik’s cube and generate audio based on color configuration, implementing first-principles waveform synthesis with byte-by-byte PCM generation and equal temperament frequency calculations to map visual entropy to harmonic resolution.

Creative Work
Elemental Brawl logo featuring stylized text with elemental imagery

Elemental Brawl

A wildly ambitious high school project (2014) to create a fighting game with 37 playable periodic table elements, assembling a team of artists and a composer to build a playable demo and launch a Kickstarter - teaching invaluable lessons about project management and creative collaboration despite the campaign’s failure.