Sözlük

Sigmoid

Yapay zekada Sigmoid fonksiyonunun gücünü keşfedin. Doğrusal olmamayı nasıl sağladığını, ikili sınıflandırmaya nasıl yardımcı olduğunu ve makine öğrenimindeki gelişmeleri nasıl yönlendirdiğini öğrenin!

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

Sigmoid fonksiyonu, makine öğreniminde (ML) ve özellikle sinir ağlarında (NN'ler) kullanılan yaygın olarak bilinen bir aktivasyon fonksiyonudur. "S" şeklindeki eğrisi ile karakterize edilir ve matematiksel olarak herhangi bir girdi değerini 0 ile 1 arasında bir çıktıya eşler. Bu özellik, onu özellikle bir modelden ham çıktıları (logitler) yorumlanması daha kolay olan olasılıklara dönüştürmek için kullanışlı hale getirir. Tarihsel olarak Sigmoid, NN'lerdeki gizli katmanlar için popüler bir seçimdi, ancak belirli sınırlamalar nedeniyle modern derin öğrenme (DL) mimarilerinde bu amaç için büyük ölçüde ReLU gibi işlevlerle değiştirildi.

Sigmoid Nasıl Çalışır?

Sigmoid fonksiyonu herhangi bir gerçek değerli sayıyı alır ve onu (0, 1) aralığına sıkıştırır. Büyük negatif girdiler 0'a yakın çıktılarla sonuçlanır, büyük pozitif girdiler 1'e yakın çıktılarla sonuçlanır ve 0'lık bir girdi 0,5'lik bir çıktı ile sonuçlanır. Doğrusal olmayan bir işlevdir ve bu çok önemlidir, çünkü doğrusal olmayan bir sinir ağında birden fazla doğrusal katmanı istiflemek, basitçe başka bir doğrusal işlevle sonuçlanır ve modelin görüntü veya metin gibi verilerde bulunan karmaşık kalıpları öğrenme yeteneğini sınırlar. Sigmoid aynı zamanda türevlenebilirdir, bu da geri yayılma ve gradyan inişi gibi gradyan tabanlı optimizasyon yöntemlerini kullanarak sinir ağlarını eğitmek için gerekli bir özelliktir.

Sigmoid Uygulamaları

Sigmoid'in günümüzdeki birincil uygulaması ikili sınıflandırma modellerinin çıktı katmanıdır. Çıktısı doğal olarak 0 ile 1 arasında olduğundan, bir girdinin pozitif sınıfa ait olma olasılığını temsil etmek için idealdir.

  1. Tıbbi Teşhis: Tıbbi görüntü analizinde, bir model bir taramadan (örneğin, bir beyin tümörü veri kümesi) özellikleri analiz edebilir ve belirli bir durumun (örneğin, malignite) mevcut olma olasılığını tahmin etmek için bir Sigmoid çıktı katmanı kullanabilir. Belirli bir eşiğin (genellikle 0,5) üzerindeki bir çıktı, pozitif bir tahmine işaret eder. Bu olasılıksal çıktı, klinisyenlerin modelin güvenini anlamasına yardımcı olur. Radyoloji Yapay Zeka araştırmasındaki örneklere bakın.
  2. Spam Tespiti: Doğal Dil İşleme'de (NLP), bir Sigmoid fonksiyonu, bir e-postanın spam olup olmadığını belirlemek gibi metin sınıflandırması için tasarlanmış bir modelin son katmanında kullanılabilir. Model e-postanın içeriğini işler ve e-postanın spam olduğuna dair bir olasılık (Sigmoid aracılığıyla) çıkarır. Bu, NLP uygulamalarında yaygın olan klasik bir ikili sınıflandırma problemidir.

Sigmoid, bir girdinin aynı anda birden fazla kategoriye ait olabileceği çok etiketli sınıflandırma görevlerinde de kullanılabilir (örneğin, 'politika', 'ekonomi' ve 'Avrupa' ile etiketlenmiş bir haber makalesi). Bu durumda, her bir potansiyel etiket için ayrı bir Sigmoid çıkış nöronu kullanılır ve diğerlerinden bağımsız olarak söz konusu etiketin ilgili olma olasılığı tahmin edilir. Bu, tipik olarak Softmax işlevini kullanan çok sınıflı sınıflandırmayla (bir görüntüyü 'kedi', 'köpek' veya 'kuş' olarak sınıflandırmak gibi yalnızca bir etiketin geçerli olduğu durumlarda) tezat oluşturur.

Sigmoid ve İlgili Aktivasyon Fonksiyonları

Sigmoid'i anlamak genellikle onu diğer aktivasyon fonksiyonlarıyla karşılaştırmayı içerir:

  • ReLU (Doğrultulmuş Doğrusal Birim): ReLU, pozitifse girdiyi doğrudan, aksi takdirde sıfır olarak verir. Hesaplama açısından daha basittir ve pozitif girdiler için kaybolan gradyan problemini önler, bu da onu birçok modern NN'de gizli katmanlar için tercih edilen seçim haline getirir. Ultralytics YOLO gibi modeller YOLOv8. Sızdıran Re LU gibi varyantlar ReLU'nun "ölen nöron" sorununu ele alır.
  • Tanh (Hiperbolik Tanjant): Tanh matematiksel olarak Sigmoid ile ilişkilidir ancak girdileri (-1, 1) aralığına sıkıştırır. Çıktısı sıfır merkezlidir, bu da Sigmoid'in sıfır merkezli olmayan çıktısına (0 ila 1) kıyasla bazen optimizasyona yardımcı olabilir. Bununla birlikte, Sigmoid gibi o da kaybolan gradyan probleminden muzdariptir.
  • Softmax: Çok sınıflı sınıflandırma problemleri için çıktı katmanında kullanılır. Sigmoid'in (ikili veya çok etiketli görevler için bağımsız olasılıklar sağlar) aksine Softmax, olasılıkların toplamının 1 olmasını sağlayarak tüm sınıflarda bir olasılık dağılımı çıkarır.
  • SiLU (Sigmoid Lineer Birim) / Swish: Girişi, girişin Sigmoidi ile çarpan daha yeni bir aktivasyon fonksiyonu. Daha derin modellerde genellikle ReLU'dan daha iyi performans gösterir ve EfficientNet ve bazı YOLO varyantları gibi mimarilerde kullanılır. Sigmoid'in daha yeni işlevler içinde bir bileşen olarak nasıl ilgili olmaya devam ettiğini göstermektedir. SiLU uygulaması için PyTorch belgelerini kontrol edin.

Avantajlar ve Sınırlamalar

Avantajlar:

  • Olasılıksal Yorumlama: (0, 1) çıkış aralığı, ikili sınıflandırmada olasılıkları temsil etmek için sezgiseldir.
  • Düzgün Gradyan: Ani değişimlere sahip fonksiyonların (basamak fonksiyonları gibi) aksine Sigmoid, gradyan tabanlı öğrenmeyi kolaylaştıran pürüzsüz, iyi tanımlanmış bir türeve sahiptir.

Sınırlamalar:

  • Kaybolan Gradyanlar: Çok yüksek veya çok düşük girdi değerleri için Sigmoid fonksiyonunun gradyanı son derece küçük (sıfıra yakın) hale gelir. Geriye yayılma sırasında, bu küçük gradyanlar birçok katman boyunca çarpılarak daha önceki katmanların gradyanlarının kaybolmasına ve öğrenmenin etkili bir şekilde durmasına neden olabilir. Bu, derin gizli katmanlar için daha az tercih edilmesinin önemli bir nedenidir.
  • Sıfır Merkezli Çıkış Değil: Çıktı aralığı (0, 1) sıfır etrafında merkezlenmemiştir. Bu durum bazen Tanh gibi sıfır merkezli fonksiyonlara kıyasla gradyan iniş algoritmalarının yakınsamasını yavaşlatabilir.
  • Hesaplama Maliyeti: İçerdiği üstel işlem, ReLU gibi daha basit fonksiyonlara göre hesaplama açısından biraz daha pahalı hale getirir.

Modern Kullanım ve Kullanılabilirlik

Günümüzde derin ağların gizli katmanlarında daha az yaygın olsa da Sigmoid, ikili sınıflandırma ve çok etiketli sınıflandırma görevlerinde çıkış katmanları için standart bir seçim olmaya devam etmektedir. Ayrıca LSTM' ler ve GRU'lar gibi Tekrarlayan Sinir Ağları (RNN'ler) içindeki geçit mekanizmalarında temel bir bileşen oluşturur ve bilgi akışını kontrol eder.

Sigmoid, tüm büyük markalarda kolayca temin edilebilir derin öğrenme çerçeveleridahil olmak üzere PyTorch (olarak torch.sigmoid) ve TensorFlow (olarak tf.keras.activations.sigmoid). Gibi platformlar Ultralytics HUB çeşitli aktivasyon fonksiyonlarını kullanan modelleri destekleyerek kullanıcıların Tren ve konuşlandırmak sofistike bilgisayar görüşü çözümler.

Tümünü okuyun