Yapay zeka temelleri

Geri Yayılım Nedir?

mm
Unite.AI sitesini Google'daki tercih ettiğiniz kaynaklara ekleyin

Backpropagation bir sinir ağı‘nın kaybının eğitilebilir parametrelerine göre nasıl değiştiğini hesaplamak için kullanılan algoritmadır. İleri geçiş sırasında kaydedilen işlemler üzerinden zincir kuralını geriye doğru uygular.

Backpropagation gradyanları hesaplar; tek başına güncellemeyi belirlemez. Stokastik gradyan inişi veya AdamW gibi bir optimizasyon algoritması bu gradyanları ağırlıkları, biasları ve diğer eğitilebilir parametreleri değiştirmek için kullanır.

Temel Çıkarımlar

  • İleri geçiş ara değerler oluşturur ve bir tahmin üretir.
  • Kayıp fonksiyonu tahmini ve hedefi tek bir skaler eğitim hedefine dönüştürür.
  • Backpropagation yerel türevleri ve zincir kuralını kullanarak parametre gradyanlarını verimli bir şekilde hesaplar.
  • Modern çerçeveler, bir hesaplama grafiği üzerinde ters-mod otomatik türevlemeyi uygular.
Computational graph showing a forward pass from inputs and trainable weights to loss, followed by backward gradient arrows using the chain rule
Backpropagation, kayıptan her katkıda bulunan parametreye bilgi taşıması için yerel türevleri yeniden kullanır.

İleri Geçiş

Basit bir birimi düşünün:

z = wx + b
ŷ = activation(z)

Girdi x‘tir, w ve b ise eğitilebilir ağırlık ve bias (sapma) parametreleridir. Biaslar genellikle ağırlıklar gibi eğitim sırasında değişir. Bir ağ, bu tür birçok işlemi, ayrıca normalizasyon, dikkat, konvolüsyon, artıksal bağlantılar veya diğer türevlenebilir bloklarla birleştirir.

İleri geçiş bu işlemleri değerlendirir ve bir tahmin üretir. Çapraz entropi veya ortalama kare hatası gibi bir kayıp, hedefi ölçer. En uygun kayıp, göreve ve çıktı yorumlamasına bağlıdır.

Zincir Kuralı

Eğer kayıp L, ara bir değer z‘ye bağlıysa ve z, parametre w‘ye bağlıysa, zincir kuralı şu şekilde verir:

∂L/∂w = (∂L/∂z) × (∂z/∂w)

Derin bir ağ birçok yol içerir. Backpropagation, hesaplama grafiğini ters yönde dolaşarak, bir değerin kayıpta birden fazla yol üzerinden etkili olduğu durumlarda katkılarını biriktirir. Sonuç, ileri hesaplamada yer alan her eğitilebilir parametre için bir gradyandır.

Küçük Sayısal Örnek

Şöyle bir durum düşünelim: ŷ = wx + b, burada x = 2, w = 3 ve b = 1. Tahmin 7’dir. Hedef 5 ve kayıp L = ½(ŷ - y)² ise, o zaman:

  • ∂L/∂ŷ = ŷ - y = 2
  • ∂ŷ/∂w = x = 2
  • ∂L/∂w = 2 × 2 = 4
  • ∂L/∂b = 2 × 1 = 2

Optimizasyon, w ve b‘yi negatif gradyan yönünde hareket ettirebilir. Bu formül, seçilen doğrusal birim ve kare hata kaybına özgüdür; evrensel bir geri yayılım kuralı, sabit bir “hata” denklemi değil, gerçek grafik üzerindeki zincir kuralıdır.

Backpropagation ve Gradient Descent Karşılaştırması

Gradient descent bir optimizasyon yöntemidir. Backpropagation ihtiyaç duyduğu gradyanları sağlar. Bir eğitim adımı genellikle şu şekilde ilerler:

  1. Depolanan gradyanları temizle veya sıfırla.
  2. İleri geçişi çalıştır.
  3. Kayıp hesapla.
  4. Geri geçişi çalıştır.
  5. Optimizasyon güncellemesini uygula.

Bu kavramları ayırmak, momentum, AdamW, gradyan birikimi ve karışık hassasiyetli eğitimi anlamayı kolaylaştırır.

Otomatik Türevleme

PyTorch gibi çerçeveler, işlemleri kaydeder ve ileri geçiş sırasında bir grafik oluşturur. Ters-mod otomatik türevleme, çıktılardan parametrelere doğru vektör-Jakobiyen çarpımlarını verimli bir şekilde hesaplar. Bu, sabit bir ağ için türevleri elle kodlamaktan daha geneldir ve modern derin öğrenme çerçevelerinin temelini oluşturur.

Bazı işlemler türevlenemez veya dengesiz türevler içerir. Çerçeveler, belirli durumlarda altgradyanları veya belgelenmiş kuralları tanımlar, ancak uygulayıcıların hâlâ ayrılmış tensörleri, yerinde (in-place) işlemleri ve sayısal hassasiyeti anlamaları gerekir.

Kaybolan ve Patlayan Gradyanlar

Birçok katman veya zaman adımı boyunca tekrarlanan çarpım, gradyanların aşırı küçük veya büyük olmasına neden olabilir. Kaybolan gradyanlar erken katmanlarda öğrenmeyi yavaşlatır; patlayan gradyanlar güncellemeleri istikrarsızlaştırır. ReLU ailesi aktivasyonları, dikkatli başlatma, artıksal bağlantılar, normalizasyon, kapılı yineleme ve gradyan kırpma yardımcı olur, ancak hiçbiri evrensel bir çözüm değildir.

Gradyanları Kontrol Etme

Sonlu fark gradyan kontrolü, analitik veya otomatik gradyanı sayısal bir yaklaşımla karşılaştırır. Yavaş olsa da özel işlemlerin hata ayıklamasında faydalıdır. Gradyan normlarını izlemek ve NaN ya da sonsuz değerleri tespit etmek, eğitim sırasında istikrarsızlığı ortaya çıkarabilir.

Hesaplama Grafiği Üzerinde Zincir Kuralı

Backpropagation, skaler bir kaybın her türevlenebilir parametreye göre gradyanlarını verimli bir şekilde hesaplar. İleri geçiş, ara değerleri bir hesaplama grafiğinde kaydeder. Kayıptan başlayarak, ters-mod otomatik türevleme zincir kuralını uygular, yerel türevleri çarpar ve yolların kesiştiği noktalarda katkıları biriktirir. y=f(x,w) katmanı için, y’ye yönelik yukarıdan gelen duyarlılık kısmi türevlerle birleşerek x ve w için duyarlılıkları üretir. Backpropagation gradyanları hesaplar; optimizasyon algoritması parametrelerin nasıl değişeceğine karar verir.

Basit bir affine katman y=Wx+b üretir. W için gradyan, yukarıdan gelen gradyan ile girdinin dış çarpımıdır; b için gradyan, yukarıdan gelen değerlerin toplamıdır; giriş gradyanı ise transpoze ağırlık matrisiyle çarpılır. Aktivasyonlar eleman bazında türev ekler. Konvolüsyon, normalizasyon, dikkat ve yinelemeli yeniden kullanım aynı grafik ilkesini izler ancak doğru tensör şekilleri, yayınlama, maskeleme ve parametre paylaşımını gerektirir. Çerçeveler, geri geçişten sonra saklanan aktivasyonları serbest bırakır, aksi tutulmazsa, bu yüzden bellek genellikle batch, derinlik ve dizi uzunluğu ile artar.

Gradyan Hataları, Doğrulama ve Mühendislik Uygulamaları

Birçok türevin çarpımı kaybolabilir veya patlayabilir. ReLU benzeri aktivasyonlar, dikkatli başlatma, normalizasyon, artıksal bağlantılar, kapı mekanizmaları ve gradyan kırpma farklı mekanizmaları ele alır. Doymuş aktivasyonlar ve türevlenemez işlemler faydalı sinyalleri engelleyebilir; kesilmiş geri yayılım dizi geçmişini sınırlar; karışık hassasiyet, kayıp ölçeklendirme olmadan alt akışa (underflow) yol açabilir. Patlayan gradyanlar bir belirtidir; bu yüzden kırpma, öğrenme oranı, veri, mimari ve sayısal hataların incelenmesiyle birlikte yapılmalı, gizlenmemelidir.

Özel işlemleri, küçük çift duyarlıklı girdiler üzerinde sonlu fark gradyan kontrolleriyle doğrulayın, türevlenemez noktalardan kaçının. Gradyan normlarını, NaN’leri, etkin olmayan parametreleri ve gradyanların beklenen modüllere ulaşıp ulaşmadığını inceleyin. Birikmiş gradyanları kasıtlı olarak temizleyin ve dropout ile normalizasyon için eğitim ve değerlendirme davranışlarını ayırın. Kontrol noktaları, belleği tasarruf etmek için aktivasyonları yeniden hesaplar; dağıtık eğitim, gradyanları tutarlı bir şekilde birleştirmelidir. Azalan bir eğitim kaybı, bir optimizasyon yolunun var olduğunu gösterir, gradyanların kavramsal olarak doğru olduğu, verinin sızıntısız olduğu veya modelin genelleştiği anlamına gelmez.

Uygulamalı Örnek: Özel Bir Sinir Katmanını Doğrulama

Bir mühendis, ses ağı için türevlenebilir bir spektral katman uygular. Küçük bir çift duyarlıklı test, otomatik gradyanları girişler ve parametreler üzerinde merkezi sonlu farklarla karşılaştırır; işlem kasıtlı olarak türevlenemez olduğunda bu noktalar hariç tutulur. Şekil, yayınlama, doldurma ve karmaşık‑gerçek dönüşümü ayrı durumlar olarak ele alınır. Test, bir parametre yeniden kullanıldığında birikmiş gradyanları doğrular ve maskelenmiş ses çerçevelerinin gradyan üretmediğini onaylar.

Eğitim sırasında, panolar gradyan ve aktivasyon normlarını, NaN’leri, etkin olmayan parametreleri ve kayıp ölçeklendirmesini izler. Bilerek bozulmuş bir batch, doğrulamanın optimizasyon güncellemesinden önce sonlu olmayan çıktıyı yakaladığını gösterir. Karışık hassasiyetli ve dışa aktarılmış uygulamalar referansla karşılaştırılır. Kontrol noktası devam testleri, optimizasyon durumu ve rastgele sıralamayı içerir. Katman, toplam kaybın düşmesi nedeniyle kabul edilmez; birim gradyanlar, sayısal istikrar ve aşağı yönlü genelleme tutarlı kanıtlar sunmalıdır.

Uygulama Kanıtı ve Operasyonel Hazırlık

Bir üretim kararı, sadece başarılı bir gösterimden daha fazlasını gerektirir. Hedef kullanıcıları, çalışma ortamını, girdileri, çıktıları, bağımlılıkları, sorumluyu ve her önemli hatanın sonucunu tanımlayın. Ayarlamadan önce tekrarlanabilir bir temel ve sürümlenmiş bir değerlendirme seti oluşturun. Normal durumları, sınır koşullarını, bozuk ya da eksik girdileri, dağılım kaymasını, bağımlılık kesintisini, yanlış kullanımı ve hizmet dışı kalma ihtimali yüksek grupları veya ortamları test edin. Görev kalitesini kalibrasyon veya belirsizlik, gecikme, verim, kaynak maliyeti, erişilebilirlik, gizlilik ve güvenlik ile birlikte ölçün. Bağımsız bir gözden geçiricinin sonucu yeniden üretebilmesi ve kanıtı çekici bir prototipten ayırabilmesi için her dönüşümü ve eşiği kaydedin.

Başlamadan önce, sürüm, istisna, değişiklik, geri dönüş ve emeklilik için yetki atayın. Aşamalı bir dağıtım kullanın, güvenli bir geri dönüşü koruyun ve kasıtlı olarak eklenen hatalarla izlemeyi doğrulayın. Operasyonel telemetri, gereksiz hassas veri toplamayarak giriş kalitesini, çıktı davranışını, model ya da kural sürümünü, bağımlılık sağlığını, insan müdahalelerini ve doğrulanmış sonuçları ortaya koymalıdır. Uyarı eşiklerini ve bir yanıt sorumlusunu tanımlayın, ardından çevrim dışı performansın devam edeceğini varsaymak yerine dağıtımdan sonra gerçek dünya kanıtlarını gözden geçirin. Veri kaynakları, kullanıcılar, modeller, satıcılar, politikalar, donanım veya hedefler değiştiğinde yeniden değerlendirin. Sürekli bir sistem, belgelenmiş bir kurtarma, olay öğrenimi, silme ve saklama prosedürleri ve devre dışı bırakılması ya da değiştirilmesi gereken net bir noktaya da ihtiyaç duyar.

Sıkça Sorulan Sorular

Backpropagation ağırlıkları günceller mi?

Backpropagation gradyanları hesaplar. Optimizasyon algoritması, bu gradyanları, öğrenme oranını ve muhtemelen momentum ya da uyarlamalı momentler gibi durumları kullanarak bir güncelleme uygular.

Backpropagation biyolojik olarak gerçekçi mi?

Standart backpropagation bir mühendislik algoritmasıdır ve biyolojik beyinlerdeki öğrenmenin ayrıntılı bir modeli olarak kabul edilmez. Tarihsel sinirsel benzetme, biyolojik eşdeğerlik olarak ele alınmamalıdır.

Ana Referanslar

Blog yazarı ve programcı, Machine Learning ve Deep Learning konularında uzmanlık sahibi. Daniel, başkalarının AI'nin gücünü sosyal fayda için kullanmasına yardımcı olmak umudu taşıyor.