Activation Function
Aktivasyon fonksiyonu, bir nöronun ağırlıklı girdisine uyguladığı doğrusal olmayan fonksiyondur; ağların eğrisel örüntüleri öğrenmesini sağlar. Yaygın seçenekleri karşılaştırır.
Aktivasyon fonksiyonu, bir sinir ağı (NN) içindeki nöronun çıktısını üretmek için girdilerinin ağırlıklı toplamına uyguladığı fonksiyondur. Temel görevi doğrusal olmayanlık kazandırmaktır: Onsuz, katmanlardan oluşan herhangi bir yığın tek bir doğrusal dönüşüme indirgenir ve derinlik hiçbir şey kazandırmaz. Bununla bir ağ, el yazısıyla yazılmış rakamların çizgilerinden bir kamera karesindeki yayanın dış hatlarına kadar uzanan eğri karar sınırlarını temsil edebilir. Aktivasyon fonksiyonları iki rol oynar. Gizli katmanlarda ReLU, SiLU ve GELU gibi fonksiyonlar ağın özellikler oluşturmasını sağlar. Çıkış katmanında sigmoid ve softmax gibi fonksiyonlar ham skorları olasılıklara dönüştürür.
Ağların Doğrusal Olmayanlığa Neden İhtiyacı Var#
Etkinleştirme işlevi olmayan bir katman Wx + b hesaplar. Bu tür iki katman W₂(W₁x + b₁) + b₂ ifadesini verir; bu da (W₂W₁)x + (W₂b₁ + b₂) eşitliğine, yani yine tek bir doğrusal katmana karşılık gelir. Katmanların arasına etkinleştirme işlevi eklemek bu indirgenmeyi önler. Evrensel yaklaşım teoremi, yeterli sayıda doğrusal olmayan birime sahip tek bir gizli katmanın, sınırlı bir alandaki her sürekli işleve yaklaşabileceğini gösterir.
Etkinleştirme işlevinin türevi, şekli kadar önemlidir; çünkü geriye yayılım bu türevleri katman katman çarpar. Sigmoid'in türevi 0,25'i, tanh'ın türevi ise büyük girdilerde sıfıra yaklaşır. Bu nedenle gradyanlar doyuma ulaşan pek çok katmandan geçerken küçülür; buna kaybolan gradyan sorunu denir. ReLU'nun türevi her pozitif girdi için tam olarak 1'dir; bu, çok derin ağların uygulanabilir biçimde eğitilmesini sağlayan başlıca nedenlerden biridir.
Yaygın Etkinleştirme İşlevleri#
- ReLU: max(0, x). Hesaplama maliyeti düşüktür; pozitif girdilerde gradyanı 1, negatif girdilerde ise tam olarak sıfırdır. AlexNet'in 2012'de ortaya çıkışından bu yana CNN'lerin gizli katmanları için varsayılan etkinleştirme işlevi olmuştur; ancak yalnızca negatif girdiler gören birimler öğrenmeyi durdurur.
- Leaky ReLU: Negatif girdileri 0.01 veya 0.1 gibi küçük bir eğimle çarpar; böylece her birimin gradyanı korunur.
- SiLU (Swish): x · σ(x); negatif girdilerde sıfırın biraz altına inen yumuşak bir eğri. Verimli CNN'lerde ve gerçek zamanlı algılayıcılarda yaygındır.
- GELU: x · Φ(x); burada Φ standart normal kümülatif dağılım işlevidir. BERT, GPT-2 ve görsel Transformer modellerinde standart etkinleştirme işlevi olarak kullanılır.
- Tanh: Girdileri sıfır merkezli −1 ile 1 arasına sıkıştırır. GRU gibi yinelenen ağların gizli durumunu biçimlendirir.
- Sigmoid: Girdileri 0 ile 1 arasına sıkıştırır; ikili ve çok etiketli çıktılar ile yinelenen hücrelerin kapıları için uygundur.
- Softmax: Bir puan vektörünün tamamını toplamı 1 olan bir olasılık dağılımına dönüştürür; tek etiketli sınıflandırmada ve dikkat ağırlıklarında kullanılır.
- SwiGLU: SiLU aktivasyonlu bir projeksiyonu ikinci bir öğrenilmiş projeksiyonla çarpan kapılı bir katmandır. Bu katman, son dönemdeki pek çok büyük dil modeli (LLMs) için ileri beslemeli katmanlardaki yalın aktivasyonun yerini aldı.
PyTorch, her öğeye ayrı ayrı uygulanan işlevleri torch.nn içinde modül olarak sunar; böylece aynı girdilerle kolayca karşılaştırılabilirler:
import torch
from torch import nn
x = torch.tensor([-3.0, -1.0, 0.0, 1.0, 3.0])
# Common activations, each applied element-wise to the same inputs
activations = {
"ReLU": nn.ReLU(),
"Leaky ReLU": nn.LeakyReLU(0.1),
"SiLU": nn.SiLU(),
"GELU": nn.GELU(),
"Tanh": nn.Tanh(),
"Sigmoid": nn.Sigmoid(),
}
for name, act in activations.items():
print(f"{name:>10}: {[round(v, 3) for v in act(x).tolist()]}")−3, −1, 0, 1 ve 3 girdileri için ReLU [0.0, 0.0, 0.0, 1.0, 3.0], Leaky ReLU ise [-0.3, -0.1, 0.0, 1.0, 3.0] değerlerini verir. SiLU [-0.142, -0.269, 0.0, 0.731, 2.858], GELU ise [-0.004, -0.159, 0.0, 0.841, 2.996] çıktısını üretir: Her ikisi de küçük negatif değerleri geçirir ve büyük girdilerde ReLU'ya yaklaşır. Tanh [-0.995, -0.762, 0.0, 0.762, 0.995], sigmoid ise [0.047, 0.269, 0.5, 0.731, 0.953] değerlerini verir; her ikisi de gradyanlarının zaten küçük olduğu ±3'te yataylaşır.
Etkinleştirme İşlevi Seçimi#
Gizli katmanlarda genellikle mimari ailesinin yerleşik tercihi izlenir; çıkış katmanında ise görev belirleyicidir. Her girdinin tam olarak bir sınıfa ait olduğu görevlerde softmax, birlikte görülebilen etiketlerde sigmoid uygundur; regresyon çıktıları ise herhangi bir değer alabilmeleri için hiçbir etkinleştirme işlevi kullanmaz. Donanım da seçimi kısıtlayabilir: Bazı uç hızlandırıcılar yalnızca ReLU, Leaky ReLU ve Hard-Swish gibi basit işlevleri yerel olarak çalıştırır. YOLO26, her Evrişim ve yığın normalizasyonu sonrasında her Conv bloğunda SiLU uygular; her algılama sınıfının puanını bağımsız bir sigmoid ile hesapladığından kutunun sınıf puanlarının toplamı 1 olmak zorunda değildir. Sınıflandırma modellerinde ise ImageNet sınıflarının 1.000'i üzerinde softmax uygular.
Etkinleştirme İşlevleri ve İlgili Terimler#
- Kayıp fonksiyonu: İleri geçiş sırasında etkinleştirme işlevi her nöronun çıktısını biçimlendirir; kayıp fonksiyonu ise ağın son tahminini etiketle karşılaştırarak puanlar. Sayısal kararlılık için kütüphaneler çoğu zaman son etkinleştirme işlevini kayıp fonksiyonuyla birleştirir;
CrossEntropyLosssoftmax için bunu yapar. - Yığın normalizasyonu: Yığın veya katman normalizasyonu, istatistikler ve öğrenilmiş parametreler kullanarak etkinleştirmeleri kararlı bir aralığa yeniden ölçeklendirir. Etkinleştirme işlevinin yanında, genellikle hemen öncesinde yer alır ve kendisi doğrusal olmayanlık eklemez.
- Etkinleştirmeler: Çoğul isim olarak etkinleştirmeler, bir katmanın ürettiği çıktı değerleridir. "Doğrusal olmayanlık" ve daha eski bir terim olan "aktarım işlevi", etkinleştirme işlevinin eş anlamlılarıdır. Eğitim sırasında çerçeveler, geriye geçiş için her katmanın etkinleştirmelerini bellekte tutar. Bu nedenle gradyan kontrol noktası, bazı etkinleştirmeleri atıp geriye yayılım sırasında yeniden hesaplayarak bellekten tasarruf sağlar.










