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).
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.
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.
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.
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.