Tanım ve Matematiksel Temel
Softmax, bir k-boyutlu girişi olasılık simpleksine yansıtan matematiksel fonksiyondur. Her bileşen üstel fonksiyona sokulur (negatif değerleri de pozitife taşır) ve elde edilen değerler kendi toplamlarına bölünür. Sonuçta her bileşen (0, 1) aralığında olur ve tüm bileşenler toplamı 1 verir. Bu yapı çıktıyı doğrudan olasılık yorumuyla uyumlu kılar: model çıkışı 'sınıf 3'e ait olma olasılığı 0.78'dir' şeklinde okunabilir. Pratikte çıktı katmanındaki ham nöron değerleri (logitler) softmax'e girilir; eğitim sırasında gradyanların geri akışı da softmax üzerinden gerçekleşir.
Sigmoid Fonksiyonundan Farkı
Sigmoid her nöronu bağımsız biçimde 0 ile 1 arasına sıkıştırır; çıktıların toplamının 1 olması garanti değildir. Bu özellik ikili sınıflandırma veya çok etiketli görevler (bir örnek birden fazla sınıfa ait olabilir) için uygundur. Softmax ise vektör düzeyinde çalışır: bir sınıfın olasılığını artırmak diğerlerinin olasılığını azaltır. Bu rekabetçi normalizasyon, sınıfların birbirini dışladığı çok sınıflı görevler için doğru matematiksel modeldir. Transformer mimarilerinde attention ağırlıkları için kullanılırken, eğitim sırasında sayısal kararlılık açısından log-softmax ve negative log-likelihood kaybı birlikte tercih edilir.
Sayısal Kararlılık ve Implementasyon
Büyük logit değerlerinde exp(zᵢ) IEEE 754 çift duyarlıklı kayan noktanın temsil edemeyeceği değerlere ulaşabilir (overflow). Düzeltilmiş formül: σ(zᵢ) = exp(zᵢ − max(z)) / Σⱼ exp(zⱼ − max(z)). Payda ve paydanın aynı sabiti içermesi nedeniyle matematiksel sonuç özdeştir; ancak üstel argümanlar artık ≤ 0 olduğundan taşma riski ortadan kalkar. PyTorch'ta torch.nn.Softmax(dim=-1) bu dönüşümü dahili olarak güvenli biçimde uygular. Eğitim döngüsünde doğrudan softmax + NLLLoss yerine torch.nn.CrossEntropyLoss kullanmak önerilir; bu sınıf log-softmax hesaplamasını kayıp fonksiyonuyla birleştirerek hem sayısal kararlılığı artırır hem de gereksiz intermediate tensör oluşturmanın önüne geçer.
Sıcaklık Ölçeklendirmesi
Logitler softmax'e verilmeden önce bir sıcaklık sabiti T'ye bölünür: σ(zᵢ / T). T = 1 standart davranış, T büyüdükçe tüm olasılıklar birbirine yaklaşır (düzgün dağılıma yakınsama), T küçüldükçe ise maksimum logite karşılık gelen sınıfın olasılığı 1'e yaklaşır (one-hot'a yakınsama). Bilgisinin damıtımı tekniğinde öğretmen modelin logitleri yüksek T ile yumuşatılır; öğrenci model sert etiketler yerine bu yumuşak hedefleri öğrenerek daha iyi genelleme yapar. Dil modellerinde üretim sırasında T = 0.7 daha tutarlı ve deterministik metin, T = 1.2-1.5 daha yaratıcı ama bazen tutarsız metin üretmek için ayarlanır.
Dikkat Mekanizmasındaki Rolü
Transformer mimarisinin her dikkat katmanında softmax merkezi bir görev üstlenir. Sorgu (Q) ve anahtar (K) matrislerinin nokta çarpımı hesaplanır; boyut ölçeklendirmesiyle √d_k'ya bölünür, ardından softmax uygulanarak her sorgu pozisyonu için dikkat ağırlıkları elde edilir: Attention(Q, K, V) = softmax(QK⊤ / √d_k) · V. Burada softmax iki işlevi birden yerine getirir: ağırlıkların toplamını 1'e normalize eder ve modelin seçici odaklanmasını (sparse attention) destekler. Masked attention varyantlarında gelecek token'larına karşılık gelen konumlar softmax'ten önce −∞ ile maskelenir; bu sayede o pozisyonlara sıfır ağırlık verilir.
Sık Sorulan Sorular
- check_circle :
- check_circle :
- check_circle :
- check_circle :
- check_circle :