Backpropagation Nasıl Çalışır? Sezgisel Bakış
Ağa bir kedi fotoğrafı verdiğinizde sinyal ilk katmandan son katmana akar (ileri geçiş) ve ağ örneğin %80 güvenle "köpek" der. Hata (kayıp) hesaplanır ve backpropagation tam burada devreye girer: çıkıştan girişe geriye ilerleyip her nörona "bu hataya ne kadar katkın var?" sorusunu sorar. Katkısı büyük olan ağırlıklar daha çok, küçük olanlar daha az düzeltilir. Bu, bir takımda maç kaybedildiğinde suçu oyunculara katkı oranında paylaştırmaya benzer. Tek bir örnekle değil, 32-4096 örneklik mini-batch'lerin ortalama gradyanıyla güncelleme yapılır; bu hem GPU'yu verimli kullanır hem de gradyan tahminindeki gürültüyü azaltır. Binlerce iterasyon sonunda kayıp düşer ve ağ kediyi kedi olarak tanımaya başlar.
Dört Adımda Eğitim Döngüsü
- check_circle 1. İleri Geçiş (Forward Pass): Giriş verisi katmanlardan geçirilir; her katmanda z = Wx + b ve a = f(z) hesaplanır. Ara aktivasyonlar bellekte saklanır çünkü geri geçiş bu değerlere ihtiyaç duyar.
- check_circle 2. Kayıp Hesaplama: Tahmin ile gerçek etiket arasındaki fark ölçülür: sınıflandırmada çapraz entropi L = -Σ y log(ŷ), regresyonda MSE. Kayıp, tüm parametrelere göre türevi alınabilen tek bir skalerdir.
- check_circle 3. Geri Geçiş (Backward Pass): Zincir kuralıyla ∂L/∂W = ∂L/∂a · ∂a/∂z · ∂z/∂W çıkıştan girişe katman katman hesaplanır. Tek geri geçiş, milyarlarca parametrenin tamamının gradyanını üretir.
- check_circle 4. Ağırlık Güncelleme: Optimizör W ← W − η·∂L/∂W kuralını uygular. Öğrenme hızı η tipik olarak 1e-4 ile 1e-3 arasında seçilir ve warmup + cosine decay gibi zamanlamalarla değiştirilir.
Gradyan Problemleri ve Çözümleri
vanishing Kaybolan Gradyan
Sigmoid/tanh doyuma girince gradyan katman başına küçülür ve derin ağın ilk katmanları öğrenemez. ReLU/GELU aktivasyonları ve dikkatli başlangıç (He/Xavier) temel çözümdür.
residual Artık Bağlantılar
ResNet'in (2015) skip connection'ları gradyana kısayol açar; 100+ katmanlı ağlar bu fikirle eğitilebilir oldu. Transformer bloklarında da standarttır.
norm Normalizasyon
Batch normalization ve Transformer'larda tercih edilen layer normalization, aktivasyon dağılımını dengeleyerek gradyan akışını kararlı tutar.
clipping Gradyan Kırpma
Patlayan gradyanda norm bir eşiği (tipik 1.0) aşarsa gradyan ölçeklenir. RNN eğitiminde ve büyük dil modeli ön eğitiminde standart önlemdir.
Otomatik Türev: PyTorch, TensorFlow ve JAX
Modern çerçeveler backpropagation'ı otomatik türev (autograd) altyapısıyla uygular. PyTorch her işlemden dinamik bir hesaplama grafiği kurar; loss.backward() çağrısı grafiği ters topolojik sırayla gezerek tüm gradyanları doldurur. TensorFlow tf.GradientTape ile işlemleri kaydeder; JAX ise jax.grad ile saf fonksiyonların türevini alır ve XLA derlemesiyle TPU'larda yüksek verim sunar. Bellek darboğazında gradient checkpointing kullanılır: ara aktivasyonların bir kısmı silinir, geri geçişte yeniden hesaplanır — yaklaşık %30 ek hesaba karşılık bellek tüketimi ciddi ölçüde düşer. Büyük modellerde bf16 karma hassasiyet, ZeRO/FSDP ile gradyan parçalama ve binlerce GPU arasında gradyan senkronizasyonu (all-reduce) aynı geri yayılım matematiğinin dağıtık uzantılarıdır.
Tarihçe ve Güncel Tartışmalar
- check_circle 1970-1986: Fikirden Devrime: Ters mod türev fikrini 1970'te Seppo Linnainmaa formalize etti, Paul Werbos 1974 tezinde sinir ağlarına önerdi; 1986 Nature makalesi (Rumelhart, Hinton, Williams) yöntemi standartlaştırdı ve yapay zeka kışını bitiren kıvılcım oldu.
- check_circle 2012-2020: Derin Öğrenme Ölçeklenmesi: AlexNet (2012) GPU üzerinde backpropagation ile ImageNet'i kazandı; ResNet, Transformer (2017) ve GPT serisi aynı algoritmayı milyarlarca parametreye taşıdı.
- check_circle 2022+: Biyolojik Uygunluk Tartışması: Beynin birebir backpropagation kullanmadığı bilinir; Hinton'ın Forward-Forward algoritması (2022) ve predictive coding gibi alternatifler araştırılıyor, ancak 2026 itibarıyla üretim ölçeğinde hiçbiri geri yayılımın verimine ulaşamadı.
- check_circle Bugün: Her Modelin Altında: GPT-5, Claude, Gemini, Llama 4, Stable Diffusion ve Whisper dahil güncel modellerin ön eğitimi de RLHF/DPO gibi ince ayar aşamaları da gradyanları backpropagation ile hesaplar.
Pratikte Neden Hâlâ Öğrenmelisiniz?
Autograd her şeyi otomatik yapsa da geri yayılımı anlamak günlük mühendislik kararlarında fark yaratır. Kayıp NaN'a uçtuğunda patlayan gradyanı, eğitim durağanlaştığında kaybolan gradyanı veya ölü ReLU'ları teşhis edebilirsiniz. Öğrenme hızını 1e-3'ten 3e-4'e çekmenin ya da warmup eklemenin neden işe yaradığını gradyan ölçeği üzerinden okursunuz. Transfer öğrenmede hangi katmanları dondurup hangilerini eğiteceğiniz, LoRA gibi parametre-verimli ince ayarda gradyanın yalnızca küçük ek matrislere akıtılması, hatta prompt'a karşı yapılan adversarial saldırıların girdiye göre gradyan almasıyla üretilmesi — hepsi aynı zincir kuralının uygulamalarıdır. Mülakatlarda da "backpropagation'ı türetin" hâlâ en sık sorulan derin öğrenme sorularından biridir.
Sık Sorulan Sorular
- check_circle Backpropagation ile gradient descent aynı şey mi?: Hayır. Backpropagation gradyanları hesaplama yöntemidir; gradient descent (veya Adam, RMSProp) bu gradyanları kullanarak ağırlıkları güncelleyen optimizasyon algoritmasıdır. İkisi birlikte eğitim döngüsünü oluşturur.
- check_circle Backpropagation neden zincir kuralına dayanır?: Sinir ağı, iç içe geçmiş fonksiyonların bileşimidir. Kaybın derindeki bir ağırlığa göre türevi ancak ara katman türevlerinin çarpımıyla bulunur; zincir kuralı bu çarpımı çıkıştan girişe tek geçişte verimli hesaplamayı mümkün kılar.
- check_circle Kaybolan gradyan problemi nasıl çözülür?: ReLU/GELU gibi doyuma girmeyen aktivasyonlar, He/Xavier başlangıcı, batch/layer normalization ve artık bağlantılar (ResNet, Transformer) birlikte kullanılır. Bu kombinasyon 100+ katmanlı ağların eğitimini pratik hâle getirdi.
- check_circle PyTorch'ta backpropagation nasıl yapılır?: İleri geçişten sonra loss.backward() çağrılır; autograd tüm gradyanları .grad alanlarına yazar. Ardından optimizer.step() ağırlıkları günceller, optimizer.zero_grad() bir sonraki adım için gradyanları sıfırlar.
- check_circle Beyin backpropagation kullanıyor mu?: Hayır; biyolojik nöronlarda simetrik geri bağlantı ve global hata sinyali bulunmaz. Forward-Forward ve predictive coding gibi biyolojik olarak daha uygun alternatifler araştırılıyor ama üretimde geri yayılımın yerini alan olmadı.
- check_circle ChatGPT gibi modeller backpropagation ile mi eğitiliyor?: Evet. Ön eğitim, denetimli ince ayar ve RLHF/DPO aşamalarının tamamında gradyanlar backpropagation ile hesaplanır; binlerce GPU bu gradyanları all-reduce ile senkronize ederek tek bir modeli günceller.