Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Softmax

AI'da Softmax işlevini keşfedin. Ultralytics ve sinir ağlarını kullanarak logitleri çok sınıflı sınıflandırma için olasılıklara nasıl dönüştürdüğünü öğrenin.

Softmax, yapay zeka alanında çok önemli bir matematiksel fonksiyondur ve özellikle birçok sınıflandırma algoritmasında son adım olarak kullanılır. Genellikle logit olarak adlandırılan ham sayı vektörünü, 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 toplamının tam olarak bire eşit olmasını sağlayarak, etkin bir şekilde geçerli bir olasılık dağılımı oluşturur. Bu özelliği nedeniyle Softmax, sistemin birbirini dışlayan ikiden fazla seçenekten 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 fonksiyonudur.

Softmax'in Mekaniği

Tipik bir derin öğrenme (DL) iş akışında, ağın katmanları karmaşık matris çarpma ve toplama işlemleri gerçekleştirir. Son katmanın çıktısı, aktivasyondan önce, logit olarak bilinen ham puanlardan oluşur. Bu değerler negatif sonsuzdan pozitif sonsuza kadar değişebilir, bu da onları doğrudan güven düzeyleri olarak yorumlamayı zorlaştırır.

Softmax bunu iki ana işlem gerçekleştirerek çözer:

  1. Üs alma: Her bir girdi sayısının üssünü hesaplar. Bu adım, tüm değerlerin negatif olmamasını sağlar (çünkü $e^x$ her zaman pozitiftir) ve maksimum değerden önemli ölçüde düşük olan değerleri cezalandırırken en yüksek puanları öne çıkarır.
  2. Normalleştirme: Bu üssel değerleri toplar ve her bir üssü bu toplam toplama böler. Bu normalleştirme işlemi, sayıları bir bütünün parçalarını temsil edecek şekilde ölçeklendirir ve geliştiricilerin bunları yüzde güven puanları olarak yorumlamasına olanak tanır.

Gerçek Dünya Uygulamaları

Net olasılıklar üretme yeteneği, Softmax'ı çeşitli endüstriler ve makine öğrenimi (ML) görevleri için vazgeçilmez kılar.

  • Görüntü Sınıflandırma: Bilgisayar görüşünde, modeller görüntüleri sınıflandırmak için Softmax kullanır. Örneğin, Ultralytics sınıflandırma modeli bir fotoğrafı analiz ettiğinde "Golden Retriever", "Alman Çoban Köpeği" ve "Poodle" gibi sınıflar için puanlar üretebilir. Softmax, bu puanları olasılıklara (ör. 0,85, 0,10, 0,05) dönüştürerek görüntünün Golden Retriever içerdiğine dair yüksek bir güven derecesi belirtir. Bu, otomatik fotoğraf düzenlemeden sağlık hizmetlerinde yapay zeka ile tıbbi tanıya kadar çeşitli uygulamalar için çok önemlidir.
  • Doğal Dil İşleme (NLP): Softmax, Büyük Dil Modellerinde (LLM) metin üretiminin arkasındaki motor durumundadır. Transformer gibi bir model bir cümle ürettiğinde, kelime dağarcığındaki her kelime için bir puan hesaplayarak bir sonraki kelimeyi (token) tahmin eder. Softmax bu puanları olasılıklara dönüştürerek modelin en olası bir sonraki kelimeyi seçmesini sağlar ve akıcı makine çevirisi ve konuşma yapabilen yapay zeka
  • Pekiştirme Öğrenimi: Pekiştirme öğrenimindeki ajanlar genellikle eylemleri seçmek için Softmax'ı kullanır. Ajan, her zaman en yüksek değere sahip eylemi seçmek yerine, olasılıkları kullanarak farklı stratejileri keşfedebilir ve robotik kontrol veya oyun oynama gibi ortamlarda keşif ve kullanım arasında denge kurabilir. .

Python Kod Örneği

Aşağıdaki örnek, önceden eğitilmiş bir YOLO26 sınıflandırma modelini yüklemeyi ve Softmax aracılığıyla oluşturulan olasılık puanlarına erişmeyi göstermektedir.

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'ı İlgili Kavramlardan Ayırma

Softmax, çok sınıflı senaryolarda baskın olsa da, model eğitimi ve mimari tasarımında kullanılan diğer matematiksel fonksiyonlardan ayırt edilmesi önemlidir:

  • Sigmoid: Sigmoid fonksiyonu da değerleri 0 ile 1 arasında ölçekler, ancak her çıktıyı bağımsız olarak ele alır. Bu, 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 hale getirir (örneğin, bir görüntü hem "Kişi" hem de "Sırt Çantası" içerebilir). Softmax, olasılıkların toplamının bir olmasına zorlayarak sınıfların birbiriyle rekabet etmesini sağlar.
  • ReLU (Düzeltilmiş Doğrusal Birim): ReLU, ağın gizli katmanlarında doğrusal olmayanlık sağlamak için kullanılır. Softmax'tan farklı olarak, ReLU çıktıları belirli bir aralığa sınırlamaz (negatif girdiler için sıfır, pozitif girdiler için ise girdinin kendisini çıktı olarak verir) ve 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 genellikle en yüksek olasılığa sahip tek bir endeksi seçmek için birlikte kullanılır. Softmax "yumuşak" güven sağlarken, Argmax "sert" nihai kararı sağlar.

Gelişmiş Entegrasyon

Modern ML boru hatlarında, Softmax genellikle kayıp fonksiyonları içinde örtük olarak hesaplanır. Örneğin, Çapraz Entropi Kayıp, Softmax ve negatif log-olasılığı tek bir matematiksel adımda birleştirerek eğitim sırasında sayısal kararlılığı artırır. Ultralytics gibi platformlar bu karmaşıklıkları otomatik olarak ele alır ve kullanıcıların bu matematiksel işlemleri manuel olarak uygulamadan sağlam modeller eğitmelerine olanak tanır.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın