Softmax
Yapay zekâda Softmax işlevini keşfet. Ultralytics YOLO26 ve sinir ağlarını kullanarak logit'leri çok sınıflı sınıflandırma için olasılıklara nasıl dönüştürdüğünü öğren.
Softmax, yapay zeka alanında, özellikle birçok sınıflandırma algoritmasının son adımı olarak önemli bir rol oynayan matematiksel bir işlevdir. Genellikle logit adı verilen ham sayılardan oluşan bir vektörü olasılık vektörüne dönüştürür. Bu dönüşüm, çıktı değerlerinin tümünün pozitif olmasını ve toplamlarının tam olarak bire eşit olmasını sağlayarak geçerli bir olasılık dağılımı oluşturur. Bu özelliği sayesinde Softmax, sistemin ikiden fazla birbirini dışlayan seçenek arasından tek bir kategori seçmesi gereken çok sınıflı sınıflandırma için tasarlanmış sinir ağlarının çıktı katmanında kullanılan standart aktivasyon işlevi dir.
Softmax'ın İşleyişi#
Tipik bir derin öğrenme (DL) iş akışında, bir ağın katmanları karmaşık matris çarpımları ve toplama işlemleri gerçekleştirir. Aktivasyondan önceki son katmanın çıktısı, logitlerden oluşan ham skorlardır. Bu değerler negatif sonsuzdan pozitif sonsuza kadar değişebilir; bu nedenle doğrudan güven düzeyleri olarak yorumlanmaları zordur.
Softmax bu sorunu iki temel işlem gerçekleştirerek çözer:
-
Üs alma: Her girdi sayısının üstelini hesaplar. Bu adım, tüm değerlerin negatif olmayan değerler olmasını ($e^x$ her zaman pozitiftir) ve maksimumdan önemli ölçüde düşük değerlerin bastırılmasını sağlarken en yüksek skorları öne çıkarır.
-
Normalleştirme: Üssü alınmış bu değerleri toplar ve her bir üstel değeri bu toplam değere böler. Bu normalleştirme işlemi, sayıların bir bütünün parçalarını temsil edecek şekilde ölçeklenmesini sağlar ve geliştiricilerin bunları yüzde cinsinden güven skorları olarak yorumlamasına olanak tanır.
Gerçek Dünya Uygulamaları#
Açık olasılıklar üretebilmesi, Softmax'ı çeşitli sektörlerde ve makine öğrenmesi (ML) görevlerinde vazgeçilmez kılar.
- Görüntü Sınıflandırma: Bilgisayarlı görü alanında modeller, görüntüleri kategorilere ayırmak için Softmax kullanır. Örneğin, Ultralytics YOLO26 sınıflandırma modeli bir fotoğrafı analiz ederken "Golden Retriever", "German Shepherd" ve "Poodle" gibi sınıflar için skorlar üretebilir. Softmax bu skorları olasılıklara (ör. 0.85, 0.10, 0.05) dönüştürerek görüntünün bir Golden Retriever içerdiğine dair yüksek güveni gösterir. Bu, otomatik fotoğraf düzenlemeden Sağlık Hizmetlerinde Yapay Zeka kullanılarak gerçekleştirilen tıbbi tanıya kadar çeşitli uygulamalar için kritik öneme sahiptir.
- Doğal Dil İşleme (NLP): Softmax, Büyük Dil Modellerindeki (LLMs) metin üretiminin temelini oluşturur. Transformer gibi bir model bir cümle oluşturduğunda, kelime dağarcığındaki her kelime için bir skor hesaplayarak sonraki kelimeyi (token) tahmin eder. Softmax bu skorları olasılıklara dönüştürür ve modelin en olası sonraki kelimeyi seçmesini sağlar; böylece akıcı makine çevirisi ve konuşmaya dayalı yapay zeka mümkün olur.
- Pekiştirmeli Öğrenme: Pekiştirmeli öğrenme alanındaki etmenler eylemleri seçmek için sıklıkla Softmax kullanır. Bir etmen her zaman en yüksek değere sahip eylemi seçmek yerine, farklı stratejileri denemek için olasılıkları kullanabilir ve robotik kontrol veya oyun oynama gibi ortamlarda keşif ile sömürü arasında denge kurabilir.
Python Kod Örneği#
Aşağıdaki örnek, önceden eğitilmiş bir YOLO26 sınıflandırma modelinin nasıl yükleneceğini ve Softmax aracılığıyla oluşturulan olasılık skorlarına nasıl erişileceğini gösterir.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on a sample image
results = model("https://ultralytics.com/images/bus.jpg")
# The model applies Softmax internally. Access the top prediction:
# The 'probs' attribute contains the probability distribution.
top_prob = results[0].probs.top1conf.item()
top_class = results[0].names[results[0].probs.top1]
print(f"Predicted Class: {top_class}")
print(f"Confidence (Softmax Output): {top_prob:.4f}")Softmax'ı İlişkili Kavramlardan Ayırt Etme#
Softmax çok sınıflı senaryolarda baskın olsa da model eğitimi ve mimari tasarımında kullanılan diğer matematiksel işlevlerden ayırt edilmesi önemlidir:
- Sigmoid: Sigmoid işlevi de değerleri 0 ile 1 arasında ölçeklendirir, ancak her çıktıyı bağımsız olarak ele alır. Bu özellik, Sigmoid'i ikili sınıflandırma (evet/hayır) veya sınıfların birbirini dışlamadığı çok etiketli sınıflandırma için ideal kılar (ör. bir görüntü hem bir "Person" hem de bir "Backpack" içerebilir). Softmax, olasılıkların toplamını bire eşit olmaya zorlayarak sınıfların birbiriyle rekabet etmesini sağlar.
- ReLU (Düzeltilmiş Doğrusal Birim): ReLU, doğrusal olmayanlık eklemek için öncelikle bir ağın gizli katmanlarında kullanılır. Softmax'ın aksine ReLU, çıktıları belirli bir aralıkla sınırlandırmaz (negatif girdiler için yalnızca sıfır, pozitif girdiler içinse girdinin kendisini verir) ve bir olasılık dağılımı oluşturmaz.
- Argmax: Softmax tüm sınıflar için olasılıkları sağlarken, Argmax işlevi çoğunlukla en yüksek olasılığa sahip tek dizini seçmek için bununla birlikte kullanılır. Softmax "yumuşak" güveni, Argmax ise "kesin" nihai kararı sağlar.
Gelişmiş Entegrasyon#
Modern ML işlem hatlarında Softmax, genellikle kayıp işlevlerinin içinde örtük olarak hesaplanır. Örneğin, Çapraz Entropi Kaybı, eğitim sırasında sayısal kararlılığı artırmak için Softmax ile negatif log-olabilirliği tek bir matematiksel adımda birleştirir. Ultralytics Platformu gibi platformlar bu karmaşıklıkları otomatik olarak yöneterek kullanıcıların bu matematiksel işlemleri manuel olarak uygulamadan sağlam modeller eğitmesine olanak tanır.









