Multivariate calculus from first principles
Tek bir veri yapısı, son iki dersteki her şeyi düzenler: hesaplama grafı. Bir modeldeki her aritmetik işlem (toplama, çarpma, matris çarpımı, aktivasyon) yönlü bir graftaki bir düğüm olur. Bu graf, PyTorch, JAX ve TensorFlow'un gradyanları otomatik olarak hesaplama biçimidir.
Eğitim, grafı iki geçişte çalıştırır. İleri geçiş soldan sağa akar, her düğümün değerini hesaplayıp önbelleğe alır. Geri geçiş sağdan sola akar, zincir kuralını kullanarak gradyanı kayıptan her girdiye, her seferinde bir düğüm olmak üzere geri iter.
Bunu ölçeklenebilir kılan fikir: her düğümün yalnızca kendi yerel türevini bilmesi gerekir. Gradyanı bir düğüm üzerinden geriye göndermek için, gelen gradyanı (yukarıdan) düğümün yerel Jacobian'ı (çıktısının girdilerine nasıl bağlı olduğu) ile çarp. Hiçbir düğümün küresel resme ihtiyacı yoktur; birbirine zincirlenen yerel kurallar, tam toplam gradyanı üretir.