functions Matematiksel Tanım ve Özellikleri
Sigmoid fonksiyonunun matematiksel ifadesi σ(x) = 1 / (1 + e^(-x)) biçimindedir. Fonksiyon tüm gerçel sayılar üzerinde tanımlıdır, her noktada türevlenebilir ve kesin artandır; çıktısı her zaman 0 ile 1 arasındaki açık aralıkta kalır. x = 0 noktasında σ(0) = 0.5 değerini alır ve grafik bu nokta etrafında simetriktir: σ(-x) = 1 - σ(x). Bu özellikler, çıktının bir olasılık gibi yorumlanmasına izin verir. Türevi σ'(x) = σ(x) · (1 - σ(x)) biçiminde, fonksiyonun kendi değeri üzerinden hesaplanır; ileri geçişte hesaplanan değer geri geçişte yeniden kullanılabilir. Bu hesaplama kolaylığı, 1986'da Rumelhart, Hinton ve Williams'ın geri yayılım algoritmasını yaygınlaştırdığı dönemde sigmoid'i standart aktivasyon fonksiyonu haline getirdi. Sigmoid ayrıca logit dönüşümünün ters fonksiyonudur: log-odds değerini olasılığa çevirir ve lojistik regresyonun teorik temelini oluşturur.
trending_down Gradyan Kaybı Sorunu
Sigmoid'in en önemli zayıflığı türevinin küçük olmasıdır. Türev en fazla 0.25 değerini alır ve |x| büyüdükçe hızla sıfıra yaklaşır; girdi 5'i geçtiğinde türev 0.007'nin altına iner. Derin bir sinir ağında geri yayılım sırasında gradyanlar her katmandan geçerken o katmanın türeviyle çarpılır. On katmanlı sigmoid tabanlı bir ağda ilk katmana ulaşan gradyan en iyi ihtimalle 0.25 üzeri 10, yani yaklaşık milyonda bir mertebesine düşer. Bu durumda ilk katmanların ağırlıkları neredeyse hiç güncellenmez ve öğrenme durur. Bu sorun 2000'lerin başında derin ağların eğitilememesinin ana nedenlerinden biriydi. ReLU fonksiyonu, pozitif girdiler için türevi sabit 1 olduğundan gradyanı zayıflatmadan iletir; 2010 sonrasında geliştirilen derin mimarilerin gizli katmanları bu nedenle büyük ölçüde ReLU ve türevlerine (Leaky ReLU, ELU, GELU) geçti. Sigmoid'in sıfır merkezli olmayan çıktısı ve üstel hesaplama maliyeti de bu geçişi hızlandıran ikincil etkenlerdir.
category Güncel Kullanım Alanları
- check_circle İkili sınıflandırma çıkış katmanı: Spam tespiti, hastalık teşhisi veya dolandırıcılık tespiti gibi iki sınıflı problemlerde son katman aktivasyonu olarak kullanılır; çıktı doğrudan pozitif sınıfın olasılığı olarak yorumlanır ve ikili çapraz entropi kaybıyla eşleştirilir.
- check_circle Lojistik regresyon: Doğrusal kombinasyon w·x + b değerini olasılığa dönüştürmek için sigmoid kullanılır. İstatistikte ve makine öğrenmesinde en köklü sınıflandırma yöntemlerinden biri olan lojistik regresyon, adını doğrudan bu fonksiyondan alır.
- check_circle LSTM ve GRU kapı mekanizmaları: Uzun kısa süreli bellek (LSTM) ve kapılı tekrarlayan birim (GRU) hücrelerindeki unutma, giriş ve çıkış kapıları 0 ile 1 arasında değer üretmek için sigmoid kullanır; bu değerler bilginin ne kadarının aktarılacağını ya da silineceğini belirler.
- check_circle Çok etiketli sınıflandırma: Bir görselde aynı anda birden fazla nesnenin bulunabildiği çok etiketli problemlerde her çıkış nöronu bağımsız bir sigmoid ile olasılık üretir; softmax'ın aksine sınıflar birbirini dışlamaz.
- check_circle Dikkat ve kapılama katmanları: Bazı dikkat uygulamalarında ve Squeeze-and-Excitation gibi kanal kapılama bloklarında her pozisyon ya da kanal için bağımsız bir ağırlık üretmek amacıyla softmax yerine sigmoid tercih edilir.
compare_arrows Sigmoid ve ReLU Karşılaştırması
İki fonksiyon farklı işler için tasarlanmış gibidir ve genellikle birbirinin yerine değil, birbirini tamamlayacak biçimde kullanılır. Sigmoid, çıktının bir olasılık ya da 0 ile 1 arasında normalize edilmiş bir katsayı olması gerektiği durumlarda öne çıkar: ikili sınıflandırma çıkışı, çok etiketli sınıflandırma ve LSTM kapıları bunun tipik örnekleridir. ReLU ise derin ağların gizli katmanlarında tercih edilir; pozitif bölgede türevi sabit 1 olduğundan gradyan kaybına yol açmaz, max(0, x) işlemi üstel hesaplamaya göre çok daha hızlıdır ve negatif girdileri sıfırlayarak seyrek aktivasyon üretir. ReLU'nun kendi sorunu olan ölü nöron problemi ise Leaky ReLU, ELU ve GELU gibi türevlerle giderilir. Pratik kural basittir: gizli katmanlarda ReLU ailesi, ikili olasılık gereken çıkış katmanında sigmoid, çok sınıflı ve birbirini dışlayan çıkışlarda softmax.
hub Tanh ve Softmax ile İlişkisi
Sigmoid, iki yakın akrabasıyla birlikte düşünüldüğünde daha iyi anlaşılır. Hiperbolik tanjant fonksiyonu tanh, sigmoid'in ölçeklenip kaydırılmış halidir: tanh(x) = 2σ(2x) - 1. Çıktısı -1 ile 1 arasında ve sıfır merkezli olduğundan gizli katmanlarda sigmoid'e göre daha dengeli gradyanlar üretir; klasik RNN ve LSTM hücrelerinin aday değerleri bu nedenle tanh ile hesaplanır. Softmax ise sigmoid'in çok sınıflı genellemesidir: K adet girdiyi toplamı 1 olan bir olasılık dağılımına dönüştürür. Yalnızca iki sınıf olduğunda softmax matematiksel olarak sigmoid'e indirgenir, çünkü iki logit arasındaki fark tek bir sigmoid girdisine eşdeğerdir. Bu ilişki, ikili sınıflandırmada tek çıkışlı sigmoid ile iki çıkışlı softmax'ın aynı modeli temsil ettiğini gösterir. Modern büyük dil modellerinde de sigmoid, SiLU (Swish) aktivasyonunun x · σ(x) biçimindeki tanımı içinde yaşamaya devam eder.
help Sık Sorulan Sorular
- check_circle Sigmoid neden 0 ve 1 değerlerini tam olarak almaz? Formüldeki e^(-x) terimi her zaman pozitif olduğundan payda daima 1'den büyüktür; çıkış 0 ve 1 değerlerine asimptotik olarak yaklaşır ama hiçbir zaman ulaşmaz. Pratikte çok büyük |x| değerlerinde kayan nokta yuvarlaması nedeniyle tam 0 veya 1 döndürülebilir; bu yüzden log kaybı hesaplarken sayısal kararlılık için küçük bir epsilon eklenir.
- check_circle Sigmoid ile softmax arasındaki fark nedir? Softmax, çok sınıflı problemlerde tüm çıkışların toplamını 1 yapar; sınıflar birbirini dışlar ve yalnızca biri seçilir. Sigmoid her çıkışı bağımsız değerlendirir; çok etiketli sınıflandırmada birden fazla sınıf aynı anda aktif olabilir. İki sınıflı durumda ikisi matematiksel olarak eşdeğerdir.
- check_circle Sigmoid kullanırken gradyan kaybını nasıl azaltabilirim? Ağırlıkları Xavier/Glorot yöntemiyle başlatmak, batch normalization eklemek ve atlamalı bağlantılar (residual connection) kullanmak sorunu hafifletir. Ancak derin ağların gizli katmanları için en pratik çözüm, sigmoid yerine ReLU tabanlı bir aktivasyona geçmek ve sigmoid'i yalnızca çıkış katmanında tutmaktır.
- check_circle Sigmoid neden logit ile ilişkilidir? Logit, log-odds dönüşümüdür: logit(p) = log(p / (1 - p)). Sigmoid bu dönüşümün ters fonksiyonudur; doğrusal modelin ham çıktısını, yani log-odds değerini olasılığa çevirir. Derin öğrenme kütüphanelerinde sigmoid'e giren ham değerlere bu nedenle logit denir.
- check_circle Sigmoid hangi tarihte ve nerede ortaya çıktı? Lojistik fonksiyon, 1838'de Pierre François Verhulst tarafından nüfus artışını modellemek için tanımlandı. Yapay sinir ağlarına girişi 1980'lerde, özellikle 1986'da geri yayılım algoritmasının yaygınlaşmasıyla oldu; 2010'lara kadar gizli katmanlarda en yaygın aktivasyon fonksiyonu olarak kaldı.