Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Sigmoid

Sigmoid fonksiyonu, herhangi bir gerçek sayıyı 0 ile 1 arasında bir değere dönüştürür. Formülünü, gradyanını, olasılık çıktılarını, kapı işlevlerini ve PyTorch kodunu ele alır.

Sigmoid fonksiyonu σ(x) = 1 / (1 + e^(−x)), herhangi bir gerçek sayıyı S biçimli bir eğri boyunca 0 ile 1 arasında bir değere eşler: büyük negatif girdiler 0'a yakın, büyük pozitif girdiler 1'e yakın çıktı verir; 0 girdisi ise tam olarak 0,5 verir. Makine öğrenmesinde (ML) “sigmoid” neredeyse her zaman, lojistik regresyonda doğrusal bir puanı olasılığa dönüştüren eğrinin aynısı olan lojistik fonksiyonu ifade eder. Bir sinir ağında (NN) sigmoid üç rol oynar: Başlangıçta gizli katmanların aktivasyon fonksiyonuydu, ikili ve çok etiketli çıktılarda son puanı olasılığa dönüştürür, ayrıca yinelemeli hücrelerin ve diğer kapılı katmanların kapılarında yumuşak bir açma-kapama anahtarı işlevi görür. Gizli katmanlarda artık ReLU gibi fonksiyonlar kullanıldığından, güncel modellerde sigmoidlerin çoğu çıktılarda ve kapılarda yer alır.

Formül ve Özellikler#

Sigmoid orta noktasına göre simetriktir: σ(−x) = 1 − σ(x). Tersi olan logit fonksiyonu log(p / (1 − p)), olasılığı yeniden log-olasılık oranına dönüştürür. Bu nedenle sigmoid öncesindeki bir ağın ham çıktısına logit denir. Türevinin yalın biçimi σ′(x) = σ(x)(1 − σ(x)) şeklindedir; x = 0'da 0,25 ile zirveye ulaşır ve eğri her iki uçta düzleştikçe sıfıra doğru düşer. Bu davranış doyum olarak adlandırılır. Aşağıdaki PyTorch kodu, beş noktadaki çıktıları ve gradyanları hesaplar:

import torch

x = torch.tensor([-6.0, -2.0, 0.0, 2.0, 6.0], requires_grad=True)
y = torch.sigmoid(x)

# Backpropagate to get the derivative sigmoid(x) * (1 - sigmoid(x)) at each input
y.sum().backward()

print(f"Sigmoid:  {[round(v, 4) for v in y.tolist()]}")
print(f"Gradient: {[round(v, 4) for v in x.grad.tolist()]}")

Kod, [0.0025, 0.1192, 0.5, 0.8808, 0.9975] sigmoid değerlerini ve [0.0025, 0.105, 0.25, 0.105, 0.0025] gradyanlarını yazdırır. ±6'da çıktı, sınır değerinden 0,0025'ten daha az uzaktadır ve gradyan sıfırdakinden 100 kat küçüktür; bu aralıktaki bir girdi, kendisini üreten ağırlıkları neredeyse hiç değiştirmez.

Gizli Katmanlarda Sigmoid#

İlk çok katmanlı ağlar her gizli katmanda sigmoid kullanıyordu ve bu iki soruna yol açıyordu. Geri yayılım, her katmandan bir aktivasyon türevini çarpar. Sigmoid türevi 0,25'i hiç aşmadığı için on sigmoid katman boyunca yalnızca bu türevler gradyanı en fazla 0,25¹⁰ ile, yani milyonda birden daha azına düşürür; bu, kaybolan gradyan sorunudur. Sigmoid çıktıları ayrıca her zaman pozitiftir; bu nedenle çıktıları alan bir nöronun tüm ağırlık gradyanları her güncellemede aynı işareti taşır ve ağırlıklar optimuma doğru yalnızca zikzak çizerek ilerleyebilir. Tanh, çıktıları sıfır çevresinde merkezler; Xavier Glorot ve Yoshua Bengio ise 2010'da sigmoid'in pozitif ortalamasının, rastgele başlatılmış bir derin ağın en üst gizli katmanını doyuma sürüklediğini gösterdi. ReLU her iki sorunu da ortadan kaldırarak gizli katmanların varsayılanı oldu; SiLU gibi yumuşak ardılları, x · σ(x), içlerinde kapı olarak yine sigmoid kullanır.

Çıktı Katmanı Olarak Sigmoid#

İkili sınıflandırmada tek bir z çıktısı p = σ(z) değerine, yani pozitif sınıfın tahmin edilen olasılığına dönüşür; p üzerinde 0,5 eşiği kullanmak, z üzerinde 0 eşiği kullanmakla aynıdır. Eğitim, sigmoid işlevini ikili çapraz entropiyle eşleştirir; bu işlevin logit'e göre gradyanı basitçe p − y, yani tahmin edilen olasılık eksi etikettir. Çerçeveler sayısal kararlılık için bu ikisini birleştirir: PyTorch'un BCEWithLogitsLoss işlevi ham logitleri alır ve içeride log-sum-exp yöntemini kullanır; böylece tam olarak 0'a veya 1'e yuvarlanmış bir olasılığın logaritmasını alma gereği ortadan kalkar.

Etiketlerin birlikte görülebildiği durumlarda model, çok etiketli sınıflandırma adı verilen düzende her etiket için bir sigmoid kullanır. Softmax ise sınıfları toplamı 1 olan tek bir olasılık değeri için yarıştırır; bu, birbirini dışlayan etiketler için uygundur:

import torch

# Logits from a classifier for the labels "person", "backpack", and "car"
logits = torch.tensor([2.0, 1.5, -3.0])

# Sigmoid scores each label on its own; softmax makes the labels compete for one total
sigmoid_probs = torch.sigmoid(logits)
softmax_probs = torch.softmax(logits, dim=0)

print(f"Sigmoid: {[round(p, 3) for p in sigmoid_probs.tolist()]}, sum {sigmoid_probs.sum():.3f}")
print(f"Softmax: {[round(p, 3) for p in softmax_probs.tolist()]}, sum {softmax_probs.sum():.3f}")

Sigmoid puanlarının toplamı [0.881, 0.818, 0.047] değeriyle 1,746'dır; dolayısıyla “kişi” ve “sırt çantası” puanları da 0,5'i geçer. Softmax ise aynı logitleri [0.62, 0.376, 0.004] değerine böler ve yalnızca “kişi” 0,5'in üzerinde kalır. YOLO26 tespit modelleri, her sınıfı BCEWithLogitsLoss ile eğitilmiş bağımsız bir sigmoid kullanarak puanlar; bu nedenle bir kutunun sınıf puanlarının toplamının 1 olması gerekmez. YOLO26 poz modelleri ise anahtar noktaların görünürlük logitlerine sigmoid uygulayarak anahtar noktanın görünür olma olasılığını verir.

Kapı Olarak Sigmoid#

Sigmoid çıktısı 0 ile 1 arasında olduğundan, türevlenebilirliğini korurken başka bir sinyali öğe öğe tamamen engellenmişten tamamen geçirilmişe kadar ölçekleyebilir:

  • LSTM ve GRU hücreleri: Sigmoid kapıları, her zaman adımında eski belleğin ne kadarının korunacağına, yeni içeriğin ne kadarının yazılacağına ve durumun ne kadarının gösterileceğine karar verir; tanh ise içeriğin kendisini biçimlendirir.
  • SwiGLU: Birçok büyük dil modelinin (LLM) ileri beslemeli katmanları, öğrenilmiş bir izdüşümü SiLU ile etkinleştirilmiş ikinci bir izdüşümle çarpar; bu, sigmoid üzerine kurulu bir kapıdır.
  • SigLIP: Bu görüntü-metin modeli, bir grup içindeki her görüntü-başlık çiftini kendi sigmoid'iyle puanlayarak eşleşme olasılığını evet veya hayır olarak verir; bu nedenle kayıp için grup genelinde normalleştirme gerekmez.
  • Lojistik fonksiyon: Makine öğrenmesinde sigmoid'in eş anlamlısıdır. Matematikte “sigmoid”, tanh ve hata fonksiyonu dahil başka S biçimli eğrileri de kapsar.
  • Softmax: Tüm vektörü toplamı 1 olan olasılıklara normalleştirir. İki sınıf için, (z₁, z₂) logitlerine uygulanan softmax ilk sınıf için σ(z₁ − z₂) sonucunu verir; dolayısıyla iki çıktılı softmax ile tek çıktılı sigmoid aynı modeli tanımlar.
  • Tanh: Sıfır çevresinde merkezlenmiş −1 ile 1 aralığında çıktılar veren ve maksimum türevi 1 olan, tanh(x) = 2σ(2x) − 1 biçimindeki ölçeklenmiş bir sigmoid'dir.
  • Sert sigmoid: Mobil donanımda üstel işlemden kaçınan parçalı doğrusal bir yaklaşımdır. MobileNetV3, x = −3'ün altında 0, x = 3'ün üstünde 1 ve bu iki değer arasında düz bir çizgi veren ReLU6(x + 3) / 6 ifadesini kullanır.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla