Из правил получается работающая система
Value хранит data,grad и edges с локальными производными. Add/mul создают новые объекты. Backward строит порядок, очищает gradients, seedит output единицей и суммирует contributions.
Это настоящий ограниченный AD engine, а не таблица заранее вычисленных gradients. В браузере дополнительно поддерживаются tanh/relu и сериализуемая пошаговая трасса. Python-пример можно скачать и запустить самостоятельно.
Проверка. Сопоставьте gradient с центральной разностью [L(θ+h)−L(θ−h)]/(2h) при h=1e−5 для каждой координаты. Избегайте точек недифференцируемости ReLU: разность в0 не обязана совпадать с convention. Численные тесты проверяют реализацию на fixtures, но не заменяют формального доказательства всей программы.
Не поддерживаются tensor broadcasting, higher-order graphs, in-place mutation и GPU. Это прозрачная основа, которую можно расширять после проверки инвариантов. Следующий блок разберёт физическое выполнение вычислений, пока обозначенное в программе курса.