Geri Yayılım (Backpropagation)
Araç kavramlarıGeri Yayılım nedir?
Geri yayılım (backpropagation), sinir ağlarını eğitmek için kullanılan optimizasyon algoritmasıdır. Ağın ürettiği hata, çıkış katmanından başlayarak giriş katmanına doğru geriye iletilir. Bu sayede her ağırlığın hataya olan katkısı hesaplanır ve ağırlıklar güncellenir.
1986 yılında Rumelhart, Hinton ve Williams tarafından popülerleştirilen bu yöntem, modern derin öğrenmenin temel taşlarından biridir.
Nasıl çalışır?
Eğitim iki aşamada gerçekleşir:
İleri geçiş (forward pass): Giriş verisi ağdan geçirilir, tahmin üretilir. Tahmin ile gerçek değer arasındaki fark, kayıp fonksiyonu (loss function) ile ölçülür.
Geri geçiş (backward pass): Kayıp değeri, zincir kuralı (chain rule) kullanılarak her ağırlığa göre türev alınır. Bu türevler (gradyanlar), ağırlıkların hataya ne kadar katkıda bulunduğunu gösterir.
Son adımda gradient descent algoritması bu gradyanları kullanarak ağırlıkları günceller.
Neden önemli?
Geri yayılım olmadan milyonlarca parametreli bir sinir ağını eğitmek pratikte imkânsızdır. Zincir kuralı sayesinde derin ağlardaki her parametreye ait gradyan verimli biçimde hesaplanabilir.
Kritik sorun ise kaybolan gradyan (vanishing gradient) problemidir: ağ çok derinleştiğinde gradyanlar geri giderken küçülür, erken katmanlar öğrenemez hale gelir. Bu sorunu çözmek için ReLU aktivasyon fonksiyonları, batch normalization ve residual connection gibi teknikler geliştirilmiştir.
Kullanım alanları
Geri yayılım pratikte her derin öğrenme modelinde kullanılır:
- Dil modelleri (LLM): Milyarlarca parametreli transformer modellerinin eğitimi
- Görüntü tanıma: CNN'lerin sınıflandırma hatalarına göre güncellenmesi
- Ses işleme: Konuşma tanıma modellerinin akustik özellikleri öğrenmesi
- Pekiştirmeli öğrenme: Politika ağlarının ödül sinyaline göre güncellenmesi
PyTorch ve TensorFlow gibi frameworkler bu işlemi otomatik türev alma (autograd) ile otomatikleştirir.