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

Sigmoid

Makine öğreniminde sigmoid fonksiyonunun rolünü keşfedin. Bu aktivasyon fonksiyonunun Ultralytics gibi modellerde ikili sınıflandırmayı nasıl mümkün kıldığını öğrenin.

Sigmoid fonksiyonu, makine öğrenimi (ML) ve derin öğrenme (DL) alanlarında yaygın olarak kullanılan temel bir matematiksel bileşendir. Genellikle "ezme fonksiyonu" olarak adlandırılan bu fonksiyon, herhangi bir gerçek sayıyı girdi olarak alır ve onu 0 ile 1 arasındaki bir değere eşler. Bu karakteristik "S" şeklindeki eğri, ham model çıktılarını yorumlanabilir olasılıklara dönüştürmek için inanılmaz derecede kullanışlıdır. Sinir ağı (NN) bağlamında, Sigmoid fonksiyonu bir aktivasyon fonksiyonu olarak işlev görür ve modellerin basit doğrusal ilişkilerin ötesinde karmaşık kalıpları öğrenmesini sağlayan doğrusal olmayanlık getirir. Derin gizli katmanlarda büyük ölçüde diğer fonksiyonlarla değiştirilmiş olsa da, ikili sınıflandırma görevlerinde çıktı katmanları için standart bir seçim olmaya devam etmektedir .

AI'da Sigmoid'in Mekanizması

Sigmoid fonksiyonunun temelinde, genellikle logit olarak adlandırılan girdi verilerini normalize edilmiş bir aralığa dönüştürmek yatmaktadır. Bu dönüşüm, bir olayın olasılığını tahmin etmeyi amaçlayan görevler için çok önemlidir. Çıktıyı 0 ile 1 arasında sınırlayarak, fonksiyon net bir olasılık puanı sağlar.

  • Lojistik Regresyon: Geleneksel istatistiksel modellemede, Sigmoid lojistik regresyonun arkasındaki motor görevi görür. Veri bilimcilerin, bir müşterinin ayrılma veya kalma gibi ikili bir sonucun olasılığını tahmin etmelerini sağlar.
  • İkili Sınıflandırma: İki sınıfı (örneğin, "kedi" ve "köpek") ayırt etmek için tasarlanmış sinir ağlarında, son katman genellikle Sigmoid aktivasyonunu kullanır. Çıktı bir eşik değerinden (genellikle 0,5) büyükse, model pozitif sınıfı tahmin eder.
  • Çok Etiketli Sınıflandırma: Sınıfların birbirini dışladığı çok sınıflı problemlerin aksine, çok etiketli görevler bir görüntünün veya metnin aynı anda birden fazla kategoriye ait olmasını sağlar. Burada Sigmoid, her bir çıktı düğümüne bağımsız olarak uygulanır ve modelin aynı sahnede " detect " ve "kişi" detect çakışma olmadan detect sağlar. Çok Etiketli Sınıflandırma:

Diğer Aktivasyon Fonksiyonlarından Temel Farklılıklar

Sigmoid bir zamanlar tüm katmanlar için varsayılan seçenektirken, araştırmacılar kaybolan gradyan sorunu gibi sınırlamalar keşfettiler. Bu sorunda gradyanlar çok küçük hale gelir ve derin ağlarda ağırlıkları etkili bir şekilde güncelleyemez. Bu durum, gizli katmanlar için alternatiflerin benimsenmesine yol açtı .

  • Sigmoid ve ReLU (Düzeltilmiş Doğrusal Birim): ReLU, hesaplama açısından daha hızlıdır ve pozitifse girişi doğrudan, aksi takdirde sıfır çıktı vererek kaybolan gradyanları önler. YOLO26 gibi modern mimarilerde gizli katmanlar için tercih edilen seçimdir , Sigmoid ise belirli görevlerde son çıktı katmanı için ayrılmıştır.
  • Sigmoid ve Softmax: Her ikisi de çıktıları 0-1 aralığına eşler, ancak farklı amaçlara hizmet ederler. Sigmoid her çıktıyı bağımsız olarak ele alır, bu da onu ikili veya çok etiketli görevler için ideal hale getirir. Softmax tüm çıktıların toplamının 1 olmasına zorlar ve sadece bir sınıfın doğru olduğu çok sınıflı sınıflandırma için kullanılan bir olasılık dağılımı oluşturur.

Gerçek Dünya Uygulamaları

Sigmoid fonksiyonunun kullanımı, olasılık tahmininin gerekli olduğu çeşitli endüstrilere yayılmıştır.

  1. Tıbbi Teşhis: Tıbbi görüntü analizinde kullanılan AI modelleri, genellikle Sigmoid çıktıları kullanarak bir X-ray veya MRI taramasında bir hastalığın var olma olasılığını tahmin eder. Örneğin, bir model 0,85 çıktısı verebilir, bu da %85 tümör olasılığını gösterir ve doktorların erken teşhis koymasına yardımcı olur.
  2. Spam Algılama: E-posta filtreleme sistemleri, gelen bir mesajın "spam" mı yoksa "spam değil" mi olduğunu belirlemek için Sigmoid sınıflandırıcıları ile doğal dil işleme (NLP) modellerini kullanır. Model, anahtar kelimeleri ve meta verileri analiz ederek, e-postanın gelen kutusuna mı yoksa önemsiz klasörüne mi gideceğini belirleyen bir puan verir.

Pratik Uygulama

Sigmoid'in, derin öğrenme modelleri oluşturmak için popüler bir kütüphane olan PyTorch kullanarak verileri nasıl dönüştürdüğünü gözlemleyebilirsiniz. Bu basit örnek, bir dizi girdi değeri üzerinde "ezme" etkisini göstermektedir.

import torch
import torch.nn as nn

# Create a Sigmoid layer
sigmoid = nn.Sigmoid()

# Define input data (logits) ranging from negative to positive
input_data = torch.tensor([-5.0, -1.0, 0.0, 1.0, 5.0])

# Apply Sigmoid to squash values between 0 and 1
output = sigmoid(input_data)

print(f"Input: {input_data}")
print(f"Output: {output}")
# Output values near 0 for negative inputs, 0.5 for 0, and near 1 for positive inputs

Düşük seviyeli kod yazmadan bu kavramları kullanan modeller eğitmek isteyenler için Ultralytics , veri kümelerini yönetmek ve YOLO26 gibi son teknoloji modelleri eğitmek için sezgisel bir arayüz sunar. Mimari karmaşıklıkları otomatik olarak ele alarak, kullanıcıların belirli bilgisayar görme uygulamaları için yüksek kaliteli eğitim verileri toplamaya odaklanmalarını sağlar.

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