🧠 Modül 3 · Biyolojiden Algoritmaya · Bölüm 3.6 · 14 dk okuma

Geriye Yayılım (Backpropagation)

Modern AI'yı eğiten zincir kuralı — ve neden bunu donanımda yapmak zor.

Bu bölümde öğreneceklerin

  • Bir kayıp fonksiyonu ve neden gereklidir tanımla (MSE, cross-entropy)
  • Zincir kuralı ile $dL/dw$ hesabını türev türev göster
  • SGD, mini-batch, momentum, Adam optimizer ailesini ayırt et
  • Vanishing/exploding gradient sorununu ve çözümlerini (ReLU, batch norm, residual) açıkla
  • Backprop'un donanımda zorluğunu ve SIDRA'nın online öğrenme yaklaşımının neden farklı olduğunu söyle

Açılış: 1986'nın Tek Algoritması

1986’da Rumelhart, Hinton ve Williams Learning representations by back-propagating errors makalesini yayımladı. Üç sayfa. Tek algoritma. Tek matematiksel fikir: zincir kuralı.

Bu makale modern AI’yı doğurdu. Bugün ChatGPT, AlphaGo, Tesla otopilotu — hepsi backprop ile eğitildi. Ama backprop’un kökü daha eskiye gider: Werbos 1974 doktora tezinde aynı algoritmayı tanımladı (daha az fark edildi); Linnainmaa 1970’te otomatik diferensiyasyon olarak yayımladı. Hinton + ekibinin katkısı: derin sinir ağları için uygulanabilir hale getirdiler.

40 yıl sonra: GPT-4 ~50,000 H100 GPU üzerinde aylarca backprop çalıştı. Algoritma aynı, ölçek 10⁹ kat büyüdü.

SIDRA için önemli: backprop inference değil, eğitim içindir. SIDRA Y1 inference odaklı — eğitim hâlâ GPU’da. Ama donanımda backprop yapabilmek, GPU bağımlılığını koparır. Y100’ün asıl iddiası bu. Bu bölüm hem matematiği hem de donanımsal zorluğu anlatır.

Sezgi: Hata Sinyali Geri Yürür

Bir sinir ağını eğitmek dört adımlı bir döngüdür:

  1. Forward pass: Veri ağa verilir → çıkış hesaplanır.
  2. Loss hesabı: Çıkış vs hedef → kayıp LL ölçülür.
  3. Backward pass: LL‘nin her ağırlığa duyarlılığı (dL/dwdL/dw) hesaplanır.
  4. Güncelleme: wwηdL/dww \leftarrow w - \eta \cdot dL/dw (SGD).

Tekrarla: milyonlarca kez. Her seferinde küçük bir adım. Optimizasyon = dağdan aşağı yuvarlanma.

Loss fonksiyonu — neden gerekli? Ağ çıkışı doğru/yanlış tek bit değil; “ne kadar yakın” sayısal olmalı. İki popüler:

  • MSE (Mean Squared Error): L=1N(yy^)2L = \frac{1}{N} \sum (y - \hat{y})^2. Regresyon için.
  • Cross-entropy: L=ylogy^L = -\sum y \log \hat{y}. Sınıflama için.

Her ikisi de diferansiyellenebilir — gradyan hesaplanabilir.

Backprop’un sezgisi: Çıkıştaki hata, son katmanın ağırlığından nasıl geldi? “Eğer bu ağırlık biraz daha büyük olsaydı, hata azalır mıydı?” sorusu = dL/dwsondL/dw_{\text{son}}. Aynı soru bir önceki katman için → ama dolaylı (zincir kuralı). En sondan başa doğru hata sinyali geri yürür → her ağırlık için “ben sorumluyum mu?” sorusu cevaplanır.

Hebbian’la fark: Hebbian sadece pre + post bilgisini kullanır → yerel. Backprop hata sinyalini tüm ağda geri yayar → global. Backprop daha güçlü (hedeflenmiş öğrenme), ama donanımda zor.

Formalizm: Zincir Kuralından Adam Optimizer'a

L1 · Başlangıç

Tek nöron örneği:

z=wx+bz = wx + b, a=f(z)a = f(z), L=(ay)2L = (a - y)^2.

Soru: ww değişirse LL ne kadar değişir?

Zincir kuralı:

dLdw=dLdadadzdzdw\frac{dL}{dw} = \frac{dL}{da} \cdot \frac{da}{dz} \cdot \frac{dz}{dw}

Hesap:

  • dL/da=2(ay)dL/da = 2(a - y)
  • da/dz=f(z)da/dz = f'(z)
  • dz/dw=xdz/dw = x

Sonuç:

dLdw=2(ay)f(z)x\frac{dL}{dw} = 2(a - y) \cdot f'(z) \cdot x

Güncelleme: wwηdL/dww \leftarrow w - \eta \cdot dL/dw, η\eta öğrenme hızı (~0.01).

L2 · Tam

Çok katmanlı ağ — backward pass:

LL kayıp, a(L)\mathbf{a}^{(L)} son katman çıkışı. Her katmanda:

δ(l)=Lz(l)\delta^{(l)} = \frac{\partial L}{\partial \mathbf{z}^{(l)}}

Son katman: δ(L)=aLf(z(L))\delta^{(L)} = \nabla_a L \odot f'(\mathbf{z}^{(L)}).

Geri yayılım denklemi: δ(l)\delta^{(l)}, δ(l+1)\delta^{(l+1)}‘den hesaplanır:

δ(l)=(W(l+1))δ(l+1)f(z(l))\delta^{(l)} = (\mathbf{W}^{(l+1)})^\top \delta^{(l+1)} \odot f'(\mathbf{z}^{(l)})

Ağırlık gradyanı:

LW(l)=δ(l)(a(l1))\frac{\partial L}{\partial \mathbf{W}^{(l)}} = \delta^{(l)} (\mathbf{a}^{(l-1)})^\top

Bu dış çarpım — bir vektör × bir vektörün transposeu = matris. Her ağırlık için bir gradyan.

Optimizasyon algoritmaları:

  • SGD (Stochastic Gradient Descent): wwηgw \leftarrow w - \eta g
  • SGD + Momentum: vμv+gv \leftarrow \mu v + g, wwηvw \leftarrow w - \eta v. Lokal minimumlardan kaçar.
  • AdaGrad: Her ağırlık için ayrı η\eta. wwηg/g2w \leftarrow w - \eta g / \sqrt{\sum g^2}
  • RMSProp: AdaGrad’ın decaying versiyonu.
  • Adam (2014): Momentum + RMSProp birleşimi. Modern standart. Gradyanın hem ortalaması hem ikinci momenti tutulur.

Mini-batch SGD: L=1BibatchLiL = \frac{1}{B} \sum_{i \in \text{batch}} L_i. BB = batch size, tipik 32-512. Stokastik gürültü → lokal minimumlar kaçınılır.

L3 · Derin

Vanishing/exploding gradient:

Derin ağlarda backward pass δ(l)=(W(l+1))δ(l+1)f(z(l))\delta^{(l)} = (\mathbf{W}^{(l+1)})^\top \delta^{(l+1)} \odot f'(\mathbf{z}^{(l)}) defalarca tekrarlanır. Eğer f<1|f'| < 1 (sigmoid, tanh için doğru): δ\delta üstel olarak küçülür → vanishing gradient → derin katmanlar öğrenemez.

Eğer W>1|W| > 1 ve f>1|f'| > 1: δ\delta patlar → exploding gradient → kararsızlık.

Çözümler (modern derin öğrenmenin temelleri):

  1. ReLU aktivasyon: f(z)=0f'(z) = 0 veya 11 — vanishing yok (eğer z>0z > 0).
  2. Batch normalization (Ioffe & Szegedy 2015): her katman çıkışını normalize et → gradyan akışı iyileşir.
  3. Residual connections (He et al. 2015, ResNet): a(l+1)=a(l)+f()\mathbf{a}^{(l+1)} = \mathbf{a}^{(l)} + f(\ldots). Gradient identity üzerinden geri akar → 1000+ katman mümkün.
  4. LSTM gate’leri (RNN için): açılır kapanır, gradient korunur.
  5. Gradient clipping: g>|g| > threshold ise kes. Exploding’i önler.

Backprop’un donanımsal zorluğu:

Backprop 3 zorluk içerir:

  1. Bidirectional veri akışı: forward + backward. Donanımda iki ayrı sinyal yolu gerekir.
  2. Yerel olmayan bilgi: dL/dwdL/dw tüm ağdan gelir. Bir memristör hücresinin “diğer hücrelerin gradyanını” bilmesi imkânsız (yerel-değil).
  3. Yüksek hassasiyet: gradyanlar çok küçük (~10⁻⁶) olabilir. Memristör 8-bit (256 seviye) → kuantizasyon hatası gradyanı bozar.

Donanım çözüm denemeleri:

  • Equilibrium propagation (Bengio 2017): enerji-tabanlı, yerel öğrenme. Henüz prototip.
  • Direct feedback alignment (Lillicrap 2014): rastgele geri-projeksiyon kullanır. Yerel ama kaliteyi korur.
  • Forward-forward (Hinton 2022): backward pass tamamen yok; iki forward pass karşılaştırılır.
  • In-memory backprop: tüm ağırlıkları crossbar’da; backward pass crossbar’ın transpoze okumasıyla. SIDRA için aktif araştırma.

SIDRA stratejisi (gerçekçi):

  • Y1-Y3: inference odaklı, eğitim dış GPU’da.
  • Y10: hibrit eğitim — son katman SIDRA’da güncellenir (transfer learning), önceki katmanlar dondurulur.
  • Y100: online incremental learning — Hebbian + reinforcement signal. Backprop’un tam analoğu değil ama benzer sonuç.
  • Y1000: donanımsal backprop — yeni cihazlar (ferroelektrik FET, magneto-tunnel junction) ile.

Deney: Bir 2-Katmanlı Ağda Backprop Adımları

Veri: x=0.5x = 0.5, hedef y=1y = 1.

Ağ:

  • Gizli katman: h=σ(w1x+b1)h = \sigma(w_1 x + b_1), başlangıç w1=0.3,b1=0w_1 = 0.3, b_1 = 0, σ(z)=1/(1+ez)\sigma(z) = 1/(1+e^{-z})
  • Çıkış: y^=w2h+b2\hat{y} = w_2 h + b_2, başlangıç w2=0.5,b2=0w_2 = 0.5, b_2 = 0
  • Loss: L=(y^y)2L = (\hat{y} - y)^2

Forward pass:

  • z1=0.3×0.5+0=0.15z_1 = 0.3 \times 0.5 + 0 = 0.15
  • h=σ(0.15)=0.537h = \sigma(0.15) = 0.537
  • y^=0.5×0.537+0=0.269\hat{y} = 0.5 \times 0.537 + 0 = 0.269
  • L=(0.2691)2=0.534L = (0.269 - 1)^2 = 0.534

Backward pass:

  • dL/dy^=2(0.2691)=1.462dL/d\hat{y} = 2(0.269 - 1) = -1.462
  • dL/dw2=dL/dy^×dy^/dw2=1.462×0.537=0.785dL/dw_2 = dL/d\hat{y} \times d\hat{y}/dw_2 = -1.462 \times 0.537 = -0.785
  • dL/dh=dL/dy^×dy^/dh=1.462×0.5=0.731dL/dh = dL/d\hat{y} \times d\hat{y}/dh = -1.462 \times 0.5 = -0.731
  • dh/dz1=σ(0.15)(1σ(0.15))=0.537×0.463=0.249dh/dz_1 = \sigma(0.15)(1 - \sigma(0.15)) = 0.537 \times 0.463 = 0.249
  • dL/dw1=dL/dh×dh/dz1×dz1/dw1=0.731×0.249×0.5=0.091dL/dw_1 = dL/dh \times dh/dz_1 \times dz_1/dw_1 = -0.731 \times 0.249 \times 0.5 = -0.091

Güncelleme (η=1\eta = 1):

  • w20.51×(0.785)=1.285w_2 \leftarrow 0.5 - 1 \times (-0.785) = 1.285
  • w10.31×(0.091)=0.391w_1 \leftarrow 0.3 - 1 \times (-0.091) = 0.391

Yeni forward pass:

  • z1=0.391×0.5=0.196z_1 = 0.391 \times 0.5 = 0.196
  • h=σ(0.196)=0.549h = \sigma(0.196) = 0.549
  • y^=1.285×0.549=0.706\hat{y} = 1.285 \times 0.549 = 0.706
  • L=(0.7061)2=0.087L = (0.706 - 1)^2 = 0.087

Loss düştü 0.534 → 0.087, bir iterasyonda 6× iyileşme. Backprop böyle çalışır — her adım doğru yöne küçük itme.

SIDRA paraleli: Bu işlemi memristör crossbar’da yapmak için: forward pass → analog MVM (kolay, doğal). Backward pass → ağırlık matrisinin transpozu ile MVM gerekir. SIDRA crossbar’ı transpose okumayı destekler ama ekstra devre + kalibrasyon gerektirir. Y10 prototipinde planlı.

Kısa Sınav

1/6Backprop'un matematik temeli nedir?

Laboratuvar Görevi

GPT-3’ün eğitimi için backprop bütçesi hesabı.

Veri:

  • GPT-3: 175 milyar parametre
  • Eğitim verisi: ~300 milyar token
  • Forward pass FLOP: ~6 × parameter_count × token = 6 × 1.75 × 10¹¹ × 3 × 10¹¹ = 3.15 × 10²³ FLOP toplam
  • Backward pass: ~2 × forward FLOP → toplam ~6 × forward = 9.45 × 10²³ FLOP
  • NVIDIA A100: ~312 TFLOPS sustained → 1.27 × 10¹² ops / sn
  • Eğitim süresi (toplam): 9.45 × 10²³ / 1.27 × 10¹² = 7.4 × 10¹¹ A100-saniye = 235,000 A100-saat
  • A100 250W → toplam enerji: 235K × 0.25 = 58.7 MWh per A100-bound (ama paralel kullanım var)
  • Patterson 2021 raporu: 1287 MWh (PUE + diğer overhead dahil)

Sorular:

(a) GPT-3 eğitimi için kaç A100 saat gerekti? (b) Bu kaç A100 cluster’ı 30 günlük eğitime denk? (c) SIDRA Y100 (analog) inference için aynı modeli kaç çipte çalıştırabilir? (d) SIDRA Y1000 (varsayımsal donanımsal backprop) eğitim hipotezi: aynı modeli ne kadar enerjiyle eğitir?

Çözümler

(a) ~235,000 A100-saat. Eğer 1024 A100 cluster paralel çalışırsa: 235K / 1024 = 230 saat ≈ 9.6 gün çekirdek hesap; gerçekte 30+ gün (data, sync, overhead).

(b) 30 gün = 720 saat → 235K / 720 = ~325 A100 paralel. OpenAI gerçekte ~1000+ kullandığı tahmin edildi (Patterson 1287 MWh için bu makul).

(c) GPT-3 175B parametre. Y100 hedefi 100 milyar memristör. 2 Y100 çipi = 200B → tüm GPT-3 sığar. Inference 1 forward pass: 6 × 175B × 1 token ≈ 10¹² ops. Y100: ~3 × 10¹⁶ ops/s → 30 µs / token. Tek çipte 100 W. GPT-3 inference, 200 W’da, gerçek-zamanlı.

(d) Y1000 hipotezinde: enerji/işlem analog donanım sayesinde belki 1000× düşürülürse, 1287 MWh / 1000 = 1.29 MWh = 1290 kWh ≈ 4 ev/ay tüketimi. GPT-3 eğitimi sıradan bir dairede mümkün olur. Bu ufuk şu an spekülatif ama yön doğru.

Not: A100 → H100 → B200 → … GPU’lar da gelişiyor. SIDRA’nın doğrudan rekabeti değil — kategori farkı rekabeti. Train edilmiş modeli inference için SIDRA’da çalıştır + edge AI senaryoları.

Özet Kart

  • Backprop = zincir kuralı: L/w\partial L / \partial w alt türevlerin çarpımı.
  • Üç adım: forward pass → loss → backward pass → güncelleme.
  • Loss fonksiyonları: MSE (regresyon), Cross-entropy (sınıflama).
  • Optimizer ailesi: SGD → SGD+momentum → AdaGrad → RMSProp → Adam (2014, modern standart).
  • Vanishing gradient: sigmoid’de derin ağlarda kaybolur. Çözüm: ReLU + BatchNorm + Residual.
  • Donanımsal zorluk: Bidirectional + non-local + yüksek hassasiyet → analog crossbar’a uymaz.
  • SIDRA stratejisi: Inference odaklı (Y1-Y3); hibrit eğitim (Y10); online incremental (Y100); donanımsal backprop (Y1000 ufku).

Vizyon: Backprop Sonrası AI ve SIDRA'nın Şansı

Backprop 40 yıldır AI’nın temeli. Gelecek 20 yıl alternatifler arıyor:

  • Y1 (bugün): SIDRA inference, eğitim GPU’da (backprop). Hibrit ekonomi.
  • Y3 (2027): Hibrit fine-tuning — son katman SIDRA’da güncellenir, çoğu dondurulur.
  • Y10 (2029): Equilibrium propagation veya forward-forward prototipleri. SIDRA crossbar’da sınırlı eğitim.
  • Y100 (2031+): Online + incremental + reinforcement learning entegre. Backprop’un yerine “neuromorphic plasticity” — Hebbian + STDP + dopaminergic reward.
  • Y1000 (uzun vade): Bio-uyumlu cihazlarda backprop tam analoğu. Beyin değil, beyin-üstü AI.

Türkiye için stratejik fırsat: ABD/Çin yarışı backprop + büyük GPU üzerine inşa edildi. SIDRA “alternatif öğrenme paradigması” üzerine inşa ediliyor. Bu kategori farkı Türkiye’ye lider olma şansı verir — eğer Y10 prototipinde online learning prensiplerini doğrularsak, dünyada tek başına bir kategori açabiliriz.

Beklenmedik gelecek: Sentetik öğrenme. Beyin gibi az veriden öğrenebilen, bir görme + bir dil örneğinden genelleyen sistemler. Klasik backprop milyonlarca örnek ister; biyoloji birkaç tane. SIDRA’nın online + sparse + plastik altyapısı bu paradigmaya doğal uyar. Few-shot AI’ın ilk büyük ölçek prototipi SIDRA Y10-Y100 olabilir.

Daha İleri

  • Bir sonraki bölüm: 3.7 — Memristör ↔ Sinaps Eşleşmesi
  • Önceki: 3.5 — Yapay Nörondan Transformer’a
  • Backprop orijinal: Rumelhart, Hinton, Williams, Learning representations by back-propagating errors, Nature 1986.
  • Werbos önceliği: P. Werbos, Beyond Regression: New Tools for Prediction and Analysis…, Harvard PhD thesis 1974.
  • Adam optimizer: Kingma & Ba, Adam: A Method for Stochastic Optimization, ICLR 2015.
  • ResNet: He et al., Deep residual learning for image recognition, CVPR 2016.
  • Equilibrium propagation: Scellier & Bengio, Equilibrium propagation: bridging the gap between energy-based models and backpropagation, Front. Comput. Neurosci. 2017.
  • Forward-forward: G. Hinton, The forward-forward algorithm, arXiv 2022.