A small educational automatic differentiation engine written in modern C++. The project is focused on understanding the core concepts behind computational graphs, reverse-mode automatic differentiation, and neural network training from a low-level perspective.
The main goal is to learn how frameworks such as PyTorch implement the fundamental mechanisms behind gradient computation, rather than relying on existing machine learning libraries.
- Understand computational graphs and automatic differentiation.
- Implement reverse-mode autodiff from scratch.
- Explore graph traversal and gradient propagation.
- Practice modern C++ concepts such as smart pointers, templates, and STL containers.
- Understand the fundamentals behind neural network optimization.
🚧 Work in progress
This project is primarily intended for educational purposes and experimentation.