Backpropagation, yapay sinir ağlarının eğitimi için kullanılan bir algoritmadır. Bu algoritma, hataları minimize etmek amacıyla ağırlıkları güncellemek için türev tabanlı optimizasyon yöntemlerini kullanır. İleri besleme aşamasında elde edilen çıktı ile beklenen çıktı arasındaki hatayı hesaplar ve bu hatayı her bir katmanın ağırlıklarına doğru geriye doğru yayar. Böylece sinir ağı, giriş ve çıkış verileri arasındaki öngörülen ilişkiyi daha iyi bir şekilde öğrenebilir. Bu işlem genellikle stokastik gradyan inişi yöntemiyle uygulanır.