Softmax (Softmax Fonksiyonu)
Araç kavramlarıSoftmax nedir?
Softmax, bir vektördeki ham skorları (logits •modelin son katmanındaki normalize edilmemiş ham sayılar•) toplamı 1 olan bir olasılık dağılımına çeviren fonksiyon. Yani "bu sayılardan hangisi daha büyük?" sorusunu, "her seçeneğin olasılığı yüzde kaç?" sorusuna dönüştürür.
Nasıl çalışır?
Adımları basit: önce her skorun üstelini (exp) alır, sonra hepsini bu üstellerin toplamına böler. Üstel almak büyük skorları orantısız şekilde öne çıkarır, küçük ve negatif skorları ise sıfıra yaklaştırır ama tam sıfırlamaz. Sonuçta elindeki tüm sayılar 0 ile 1 arasına oturur ve toplamları tam olarak 1 eder — yani gerçek bir olasılık dağılımı çıkar ortaya. Bir dil modelinde sözlükteki on binlerce token için bu işlem her üretim adımında tekrarlanır.
Neden önemli?
Bir LLM her adımda binlerce olası kelime parçası arasından seçim yapar. Softmax olmadan elinde sadece anlamsız ham skorlar olur; softmax bunları "şu token gelme olasılığı %62, şu %11..." gibi yorumlanabilir olasılıklara çevirir. temperature •olasılık dağılımını sivriltip yumuşatan ayar• tam da bu softmax çıktısının üzerinde oynar: düşük sıcaklık dağılımı sivriltir (model daha kararlı), yüksek sıcaklık düzleştirir (model daha yaratıcı ve rastgele). Aynı şekilde attention mekanizmasında da kelimeler arası ilgi ağırlıkları softmax ile normalize edilir.
Kullanım alanları
Transformer attention skorlarının normalize edilmesi, sınıflandırma modellerinin çıktı katmanı, ve metin üretiminde sampling öncesi olasılık hesabı softmax üzerinden döner. Kısacası bir model nerede "seçim" yapıyorsa, büyük ihtimalle perde arkasında softmax çalışıyordur.