ML Engineer · Research ↔ Production

Chris Stanulet

I work in the space between research and production, building generative ML systems that hold up outside the lab.

MSCS @ Stanford · Diffusion model safety @ SIA Lab · Generative ML @ Nike Innovation

See my work → Resume → Get in touch →

About

Hi, I'm Chris.

I'm a master's student in computer science at Stanford (AI track), where I do research on diffusion model safety at the Safe and Intelligent Autonomy Lab. My work focuses on making text-to-image models safer at inference time by training classifiers that operate inside the model's latent space and using them to steer generation away from harmful content without retraining the model or degrading what it does well.

The thread running through my work is a preference for problems where the research question and the engineering question are the same. A safety classifier is only interesting if it's cheap enough to run on every generation. A mesh reconstruction method is only useful if it survives contact with a real benchmark. I like negative results with good explanations, ablations that actually isolate the thing they claim to, and pipelines that someone else could run.

Before Stanford, I spent two and a half years at Ohio State's AIMS Lab working on computer vision and robotics, including a GPU-accelerated robotic painting system with an AR interface and an FEM backed forging video game. This summer I'm doing ML at Nike Innovation in Beaverton.

What I'm working toward

The question that drives my work: how do we ship generative models that are safe, fast, and reliable enough to trust in production? That means safety mechanisms that compose with each other instead of competing, evaluation that measures what actually matters, and systems efficient enough that doing the right thing isn't a performance tax. Long-term, I want to lead technical work at the boundary between research labs and shipped products, where the interesting failures happen and where getting it right actually matters to someone.

Featured work

SIA Lab

Latent Safety Classifier for Diffusion Models

Text-level prompt filters miss what diffusion models can produce from innocuous-seeming inputs. I built a classifier that operates directly in the model's latent space scoring the predicted denoised image at intermediate timesteps to catch unsafe generations while they're still forming. The classifier is trained on Re-LAION with soft labels distilled from a CLIP teacher, and drives inference-time steering using gradient guidance normalized against the noise prediction magnitude to stay stable across prompts. The result is a cheap, selective safety layer that composes with text-level filtering rather than replacing it, benchmarked against Safe Latent Diffusion on both safety recall and image quality (FID against COCO).

  • Diffusion models
  • Safety
  • Stable Diffusion
  • PyTorch

Stanford · Deep RL

Concept Erasure: Fine-tuning vs. RL

A head-to-head comparison of two ways to remove a concept from a text-to-image model: direct fine-tuning (ESD) versus reinforcement learning (DDPO with LoRA), using an ensemble of object detectors (YOLO, RT-DETR, Faster R-CNN) as the reward signal. The headline finding: the RL approach produces substantially stronger robustness to adversarial prompt attacks (Ring-A-Bell), while careful reward design (PKPO) is what prevents the policy from collapsing onto a single substitute concept. Training ran on multi-GPU Modal infrastructure (H100s/A100s), which involved its own education in NCCL deadlocks and checkpoint corruption.

  • RLHF / DDPO
  • Concept erasure
  • Adversarial robustness

Stanford · CS231N

Topological Regularization for Gaussian Splatting

Can persistent homology clean up floater artifacts in 3D Gaussian Splatting mesh reconstruction? I added a topological loss (via TopologyLayer) to the MILo/3DGS pipeline and evaluated on the DTU benchmark. The honest answer: the H0 loss reduces connected-component counts but by bridging floaters to the main mesh rather than collapsing them, which is cheaper for the optimizer and useless for reconstruction quality. A negative result, but with a mechanistic explanation of why the loss takes the shortcut it does, which is worth more than a marginal metric bump.

  • 3D Gaussian Splatting
  • Topological data analysis
  • Mesh reconstruction

OSU AIMS Lab

GPU-Accelerated Robotic Painting

A system for planning and simulating industrial spray-painting with robot arms, with paint deposition simulated via GPU-accelerated ray casting in NVIDIA Warp. I also built the augmented-reality interface that lets non-programmer operators work with the system — viewing the robot's planned path through a digital twin, seeing simulated paint directly on the part, and defining collision zones by pointing at space instead of spending an hour configuring them by hand. Second-author paper under review at IROS.

  • Robotics
  • NVIDIA Warp
  • AR / digital twins
  • Simulation

Other work

NeoForge

An educational game where you play a fantasy blacksmith backed by a real finite element simulation of metal deformation. Players get authentic metalworking physics in a game loop; the game doubles as a data collection tool for training RL models on manufacturing processes.

Music Library GNN Visualizer

A heterogeneous graph of my music library built from MusicBrainz metadata, embedded with a GNN and projected with UMAP so I can see the actual structure of my taste. Equal parts ML project and excuse to argue about esoteric albums.

Resume

A one-page summary of where I've been. For the longer version, the projects above tell the better story.

Download resume (PDF) →

Get in touch

If you're working on generative model safety, ML systems that have to survive production, or anything in between — I'd genuinely like to hear about it.