
understanding intelligence through video games @uwaterloo prev @tensormesh @databricks @vercel @meta
Toronto & SF
Joined June 2025
- Tweets162
- Following485
- Followers275
- Likes2.2K
A lot of inspiration for this project came from @danijarh's Dreamer papers, @PimDeWitte and @gen_intuition's work on embodied intelligence through video games, and @karpathy's nanochat!
And thanks to @kwu4578 and @bryzhao for reading early versions of the blog and giving feedback!
For this project, I also wanted a deeper understanding of all the components I was using, so I also wrote my own autograd engine, tensor library, neural network layers, AdamW optimizer, autoencoder, and causal transformer from scratch.
The blog has two paths: a shorter version focused on NanoDreamer and the interesting experiments, and a deep dive into building everything from first principles.
Mini-projects 7–9: building a tiny transformer world model and training an actor–critic through imagined rollouts on MinAtar.
This has been driving me crazy, but it’s finally learning from random weights. here’s a 15-point Space Invaders run!
Now, training across more games now, with final benchmarks, tweaks, and performance improvements underway.
Full write-up, post, and repo coming soon.
Very very cool
DINOv2 has never seen a caption, and Qwen3 has never seen an image. We still aligned their embedding spaces without a single image-caption pair.
It even works when the images and the captions come from different datasets.
Project page: dominik-schnaus.github.io/un…
⬇️
Project 4/10: Built a tiny GPT on top of my MiniNN. Trained it on Shakespeare.
Project 3/10: built MiniNN, a bare-bones ML framework, on top of my TensorGrad autodiff engine.
Trained a 101,770-parameter network on MNIST and reached 95.56% test accuracy after 30 epochs.
MiniNN supports:
- Trainable parameters and reusable modules
- Vectorized linear layers with Xavier initialization
- Sigmoid, Tanh, SiLU, and stable Softmax
- Sequential model composition
- Mean squared error loss
- Mini-batch training with SGD
Project 3/10: built MiniNN, a bare-bones ML framework, on top of my TensorGrad autodiff engine.
Trained a 101,770-parameter network on MNIST and reached 95.56% test accuracy after 30 epochs.
MiniNN supports:
- Trainable parameters and reusable modules
- Vectorized linear layers with Xavier initialization
- Sigmoid, Tanh, SiLU, and stable Softmax
- Sequential model composition
- Mean squared error loss
- Mini-batch training with SGD
Project 2/10: extended MiniGrad into TensorGrad
- NumPy tensor autograd
- Broadcasting-aware gradients
- Reductions, slicing, and shape operations
- Vector, matrix, and batched matrix multiplication
- Exp, log, sigmoid, and SiLU
- Stable softmax and logsumexp
- Finite-difference gradient checks
Used it to recover y = 2x₁ − 3x₂ + 1 with gradient descent.
Project 2/10: extended MiniGrad into TensorGrad
- NumPy tensor autograd
- Broadcasting-aware gradients
- Reductions, slicing, and shape operations
- Vector, matrix, and batched matrix multiplication
- Exp, log, sigmoid, and SiLU
- Stable softmax and logsumexp
- Finite-difference gradient checks
Used it to recover y = 2x₁ − 3x₂ + 1 with gradient descent.
Built MiniGrad from first principles
- scalar autograd
- computation graphs
- reverse-mode backprop
- gradient accumulation
- SiLU, neurons, layers, MLPs, and SGD
Used it to train an MLP on XOR end-to-end
Inspired by @karpathy's micrograd
Project 1/10












