Home
Selected posts:
Flow Matching: A visual introduction
Visual introduction to flow matching. Illustrates the flow matching model, the velocity field, and the sampled paths using a simple 1D toy example.
Flow Matching: A visual introduction »Neural networks from scratch
The first section gradually builds a feedforward neural network from scratch in Python using NumPy. It starts by explaining gradient descent on basic models, then adds hidden layers with nonlinearities, backpropagation, and momentum.
The second section implements a recurrent neural network (RNN) in Python using NumPy. It explains the basics of backpropagation through time (BPTT) and discusses challenges in training recurrent networks.
Gaussian processes from scratch
A blog series exploring Gaussian processes. It starts by building intuition with from-scratch implementations in Python, then moves to a practical example using TensorFlow Probability on a real-world problem.
Gaussian processes from scratch »Multi-armed bandit introduction
Learn the basics of Bayesian multi-armed bandit models by implementing a simple example in Python.
Multi-armed bandit introduction »Regression quattro stagioni
Linear regression parameter estimation implemented in four ways: simple linear regression, ordinary least squares (OLS), gradient descent, and Markov chain Monte Carlo (MCMC).
Linear regression four ways »ReAct Agent
A project exploring ReAct agents. The main project is a GPT-based ReAct agent with access to a Python REPL and function retrieval, enabling simple workflows by chaining API calls. A second project demonstrates a minimal ReAct agent using OpenAI function calling.
Python REPL ReAct Agent » OpenAI function-calling ReAct agent »