İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
DersOrta40 dakikaGenerative AI Engineer · 3. ders

Geri yayılım ve eğitim dinamikleri

Geri yayılımı zincir kuralıyla yapılan bir pay biçme muhasebesi olarak kurar ve kayıp eğrisinden eğitim sorunlarını teşhis etmenin yolunu gösterir.

Önkoşul: Machine Learning

BU DERSİN SONUNDA

  • Geri yayılımı ileri geçiş ve geri geçiş üzerinden zincir kuralıyla açıklamak
  • Kayıp eğrisinin biçiminden eğitim sorununu teşhis etmek
  • Öğrenme oranı, yığın boyutu ve kırpma kararlarını gerekçelendirmek
  • Boru hattı hatasını hiperparametre sorunundan ayırt etmek
  1. 1

    Teori

    Kavramın çalışma mantığı

  2. 2

    Örnek

    Gerçek bir senaryo üzerinde gösterim

  3. 3

    Lab

    Uygulamalı alıştırma

  4. 4

    Test

    Kısa ölçüm

  5. 5

    Proje

    Rotadaki projeye katkı

Kısa cevap

Geri yayılım bir öğrenme yöntemi değil, bir türev hesabı yöntemidir: kaybın her ağırlığa göre türevini zincir kuralıyla katman katman geriye taşır. Cevapladığı soru tektir — “bu ağırlığı biraz değiştirsem kayıp hangi yöne gider”. Öğrenmeyi yapan şey bu türevi kullanan optimizasyon adımı ve o adımın büyüklüğüdür; eğitimdeki sorunların çoğu da tam olarak burada doğar.

Teori: ileri geçiş, geri geçiş#

İleri geçişte girdi katmanlardan geçer, çıktı ve kayıp hesaplanır; ara etkinleştirmeler saklanır. Geri geçişte aynı hesap grafiği ters yönde yürünür ve her düğümde yerel türev çarpılır. Yöntemin ucuz olmasının nedeni paylaşımdır: bir ara gradyan, yukarısındaki bütün yollar tarafından yeniden kullanılır. Bu sayede maliyet parametre başına bir geçiş değil, ileri geçişle aynı mertebede kalır.

Çok sayıda yerel türevin çarpılmasının doğrudan bir sonucu var: çarpanlar sistematik olarak birden küçükse ilk katmanlara ulaşan sinyal sönümlenir, birden büyükse patlar. Artık bağlantılar, normalleştirme katmanları ve dikkatli başlatma bu çarpımın ölçeğini kullanılabilir aralıkta tutmak için vardır. Bunlar mimarinin süsü değil, derinliği mümkün kılan taşıyıcı unsurlardır.

Optimizasyon: adım büyüklüğü kararı#

AyarÇok küçükseÇok büyükseNasıl karar verilir
Öğrenme oranıKayıp çok yavaş düşer, bütçe biterKayıp zıplar veya ıraksarKısa bir tarama: oranı kademeli artırıp kaybın döndüğü noktayı işaretleyin
Yığın boyutuGradyan gürültülü, adımlar kararsızBellek dolar, genelleme bazen zayıflarBelleğin izin verdiği değerden başlayın, gerekirse gradyan biriktirme ile büyütün
Isınma adımıİlk adımlarda ıraksama riskiEğitimin başı boşa harcanırBüyük yığın ve büyük oranla çalışırken ısınma neredeyse zorunludur
Ağırlık sönümüAşırı öğrenme kolaylaşırModel yeterince uyum sağlayamazDoğrulama kaybıyla birlikte ayarlanır, tek başına değil
Gradyan kırpma eşiğiGerçek gradyan sinyali de kırpılır, öğrenme yavaşlarSivrilmeler süzülmeden geçer, tek adım eğitimi bozabilirGradyan normunun dağılımına bakarak seçilir
Tabloda yön verilir, değer verilmez: doğru ayar veriye, mimariye ve donanıma bağlıdır ve kendi kayıp eğrinizden okunur.

Teşhis: kayıp eğrisi ne söyler#

  • Eğitim kaybı hiç düşmüyor: öğrenme oranı çok küçük, etiket eşlemesi bozuk ya da kayıp fonksiyonu yanlış tensöre bağlanmış.
  • Eğitim kaybı ıraksıyor veya tanımsız değere gidiyor: oran çok büyük, kırpma yok veya sayısal taşma var (sıfırın logaritması, sıfıra bölme).
  • Eğitim düşüyor, doğrulama yükseliyor: aşırı öğrenme başladı; veri artırma, düzenlileştirme veya erken durdurma devreye girer.
  • İkisi de yüksek bir düzlükte duruyor: kapasite veya eğitim bütçesi yetersiz.
  • Doğrulama eğitimden belirgin biçimde iyi: önce iki sayının aynı koşulda ölçülüp ölçülmediğine bakın (bırakma ve veri artırma yalnızca eğitimde etkindir); koşul aynıysa bölme sızdırıyor ya da doğrulama seti kolay örneklerden oluşuyor demektir.
  • Kayıp düşüyor ama iş metriği kıpırdamıyor: kayıp, ölçtüğünüz sonucun vekili değil; hedef tanımını gözden geçirin.

Zincir kuralı somut olarak#

python
import numpy as np


def ileri_geri(x, y, w, b):
    """Tek doğrusal katman + sigmoid + ikili çapraz entropi."""
    z = x @ w + b                              # ileri: doğrusal katman
    p = 1.0 / (1.0 + np.exp(-z))               # ileri: sigmoid
    kayip = -(y * np.log(p) + (1 - y) * np.log(1 - p)).mean()

    # geri: sigmoid ile çapraz entropinin türevi sadeleşir
    dz = (p - y) / len(y)                      # dKayip/dz
    dw = x.T @ dz                              # zincir kuralı: dKayip/dz * dz/dw
    db = dz.sum(axis=0)
    return kayip, dw, db

Üretimde bu hesabı çerçeve otomatik yapar; elle görmenin değeri başka yerde. Eğitim hatalarının büyük kısmı grafik hatasıdır: kopmuş bir tensör, yanlış maske, dolgu üzerinde hesaplanmış bir kayıp. Bunlar hiperparametre gibi görünür ama belirtileri farklıdır — gradyanın bir kolda tam sıfır olması ya da adımlar arasında hiç değişmemesi, ayar sorunu değil bağlantı sorunudur.

Boru hattını kanıtlamanın en hızlı yolu#

Bir avuç örnek alın ve modeli o örnekleri neredeyse tam ezberleyene kadar eğitin. Ezberleyebiliyorsa veri yolu, kayıp bağlantısı ve gradyan akışı çalışıyordur; sorun öğrenmenin zorluğundadır. Ezberleyemiyorsa hata ayarda değil kodda demektir. Bu sınama, “kod yanlış” ile “problem zor” arasındaki ayrımı dakikalar içinde verir ve saatlerce süren gereksiz hiperparametre taramasını önler.

Sık yapılan hata#

İki hata sık tekrar eder. Birincisi, kayıp kıpırdamadığında ilk refleks olarak hiperparametre taramasına girişmek; oysa veri yolunun doğruluğu kanıtlanmadan taranan her ayar boşa yakılan bütçedir. İkincisi, tohumu, veri sırasını ve bölmeyi sabitlemeden iki koşuyu karşılaştırıp mimari hakkında sonuç çıkarmaktır.

LAB · UYGULAMALI ALIŞTIRMA

Küçük seti kasten aşırı öğretin

  1. 1Kendi etiketli verinizden 32 örnek seçip ayrı bir küçük set olarak kaydedin.
  2. 2Düzenlileştirmeyi kapatın: ağırlık sönümü, bırakma ve veri artırma devre dışı kalsın.
  3. 3Bu 32 örnek üzerinde kayıp neredeyse sıfıra inene kadar eğitin; inmiyorsa etiket eşlemesini, maskeyi ve gradyanın ulaştığı katmanları kontrol edin.
  4. 4Aynı kurulumu üç farklı tohumla koşup kayıp eğrilerini üst üste çizin.
  5. 5Öğrenme oranını on kat büyütüp bir kez daha koşun ve ıraksamanın hangi adımda başladığını not edin.
  6. 6Bulguları tek tabloda toplayın: tohum, öğrenme oranı, son kayıp, ıraksama var/yok.

Beklenen çıktı

Boru hattınızın öğrenebildiğini kanıtlayan bir aşırı öğrenme koşusu ve öğrenme oranının üst sınırını gösteren tohum-oran tablosu.

Sık sorulan sorular

Geri yayılım beynin öğrenmesini mi taklit ediyor?

Hayır. Biyolojik benzetme ilham düzeyinde kaldı; geri yayılım bir türev hesabı tekniğidir, sinir bilimsel bir model değil. Bu ayrımı korumak pratik bir fayda sağlar: ağın yapabileceklerini ve yapamayacaklarını benzetmeye değil, hesabın kendisine bakarak tartışırsınız.

Gradyanlar sönümleniyorsa katman sayısını azaltmak çözüm mü?

Genellikle gereksiz bir taviz. Artık bağlantı, normalleştirme ve uygun başlatma, yerel türevlerin çarpımını kullanılabilir ölçekte tutarak derinliği çalışır kılar. Derinliği azaltmak sorunu maskeler ama kapasiteyi de düşürür.

Eğitim kaybım doğrulama kaybından yüksek görünüyor, hata mı var?

Her zaman değil. Bırakma ve veri artırma eğitim sırasında etkin, değerlendirme sırasında kapalıdır; bu, eğitim kaybını sistematik olarak şişirir. Önce iki sayının aynı koşulda ölçülüp ölçülmediğini doğrulayın; farklı koşulda ölçülen iki sayı karşılaştırılamaz.

LEARN

Generative AI Engineer rotasına devam et

Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.