Ağırlık Başlatma (Weight Initialization)
MimariWeight Initialization nedir?
Weight initialization, bir yapay sinir ağının eğitimine başlamadan önce ağırlıklarına atanan başlangıç değerleridir. Ağ henüz hiçbir şey öğrenmemişken bu değerler rastgele seçilir — ama nasıl rastgele seçildiği eğitimin başarısını doğrudan belirler.
Nasıl çalışır?
Tüm ağırlıkları sıfır yaparsan her nöron aynı şeyi hesaplar ve ağ hiçbir zaman farklılaşamaz; öğrenme başlamadan biter. Çok büyük değerler seçersen sinyaller katmandan katmana geçerken patlar (exploding gradient), çok küçük seçersen sönümlenip yok olur (vanishing gradient). İkisinde de eğitim durur.
Çözüm, değerleri katmanın büyüklüğüne göre ölçekleyen akıllı şemalardır. Xavier (Glorot) başlatma, giren ve çıkan bağlantı sayısına göre bir aralık hesaplar; He başlatma ise ReLU aktivasyonları için özel olarak ayarlanmıştır. İkisinin de amacı aynı: sinyalin varyansını katmanlar boyunca dengede tutmak, ki gradyanlar ne patlasın ne sönsün.
Neden önemli?
Derin ağlarda onlarca katman üst üste bindiği için küçük bir dengesizlik bile katman katman çığ gibi büyür. Doğru başlatma, modelin daha ilk adımdan sağlıklı gradyanlarla yola çıkmasını sağlar — eğitim hem daha hızlı yakınsar hem de büsbütün çökme riski azalır. batch normalization gibi teknikler bu hassasiyeti azaltsa da başlatma hâlâ önemli.
Kullanım alanları
Her derin öğrenme modelinde, ilk satır kod çalışır çalışmaz devrede. PyTorch ve TensorFlow gibi framework'ler makul bir varsayılan başlatma uygular, ama özel mimariler ve çok derin ağlar tasarlarken doğru şemayı seçmek eğitimin başarılı olup olmayacağını belirleyebilir.
Ilgili terimler
