Garfield
YZF Admin
Aktivasyon fonksiyonu, yapay sinir ağındaki bir nöronun ağırlıklı toplamını işleyerek bir sonraki katmana aktaracağı çıktıyı belirleyen matematiksel fonksiyondur. Bu fonksiyon kullanılmadığında katmanlar yalnızca doğrusal hesaplama yapar ve çok katmanlı ağ, tek bir doğrusal modele indirgenir. Aktivasyon fonksiyonu bu nedenle ağa doğrusal olmayan ilişkileri öğrenme yeteneği kazandırır.
Bir nöron önce girdileri ağırlıklarıyla çarpar, bunları toplar ve bias değerini ekler. Elde edilen değer aktivasyon fonksiyonuna verilir:
Burada
Aşağıdaki seçim, fonksiyonların tipik kullanım alanlarını ve önemli sınırlamalarını karşılaştırır.
Tablodaki kullanım alanları katı kurallar değildir. Modelin kayıp fonksiyonu, sınıflandırma türü, çıktı biçimi ve eğitim davranışı birlikte değerlendirilmelidir. Özellikle gizli katmanlarda ReLU ve türevleri sık tercih edilirken, çıkış katmanındaki fonksiyon tahminin türüne göre seçilir.
ReLU, negatif değerleri sıfırlar ve pozitif değerleri olduğu gibi bırakır:
Sigmoid, herhangi bir gerçek sayıyı 0 ile 1 arasına sıkıştırır:
Softmax ise birden fazla sınıfa ait ham skorları olasılık benzeri değerlere dönüştürür. Örneğin bir modelin üç sınıf için ham çıktıları
Gizli katmanlar için başlangıçta çoğunlukla ReLU kullanılabilir. İkili sınıflandırmada, örneğin bir e-postanın istenmeyen ileti olup olmadığını tahmin ederken, çıkış katmanında sigmoid tercih edilebilir. Bir örneğin yalnızca bir sınıfa ait olduğu çok sınıflı sınıflandırmada Softmax uygundur. Sayısal bir değer tahmin edilen regresyonda ise çıkış katmanında çoğu zaman doğrusal çıktı kullanılır; böylece sonuç belirli bir aralığa zorlanmaz.
Aktivasyon fonksiyonu modelin ne öğreneceğini tek başına belirlemez. Eğitim verisi, ağırlıklar, kayıp fonksiyonu, optimizasyon yöntemi ve ağ mimarisi de sonucu etkiler. Ayrıca sigmoid veya tanh değerlerinin doygun bölgelere girmesi gradyanların küçülmesine ve eğitimin yavaşlamasına yol açabilir. ReLU ise negatif bölgede gradyan üretmediği için bazı nöronların eğitim boyunca sürekli sıfırda kalmasına neden olabilir.
Bu nedenle seçim yapılırken önce problem türünü belirleyin: gizli katman mı, ikili sınıflandırma çıkışı mı, çok sınıflı çıkış mı, yoksa sınırsız sayısal tahmin mi? Ardından çıktı aralığını ve kullandığınız kayıp fonksiyonuyla uyumu kontrol edin. Aktivasyon fonksiyonu ile kayıp fonksiyonunun uyumsuz seçilmesi, model çalışıyor görünse bile öğrenme davranışını bozabilir.
Bir nöronda nasıl çalışır?
Bir nöron önce girdileri ağırlıklarıyla çarpar, bunları toplar ve bias değerini ekler. Elde edilen değer aktivasyon fonksiyonuna verilir:
z = w₁x₁ + w₂x₂ + ba = f(z)Burada
z aktivasyon öncesi toplamı, f aktivasyon fonksiyonunu, a ise nöronun çıktısını ifade eder. Örneğin varsayımsal olarak z = -2 olsun. ReLU kullanılırsa çıktı 0, sigmoid kullanılırsa yaklaşık 0,119 olur. Aynı ara değer farklı fonksiyonlarda farklı anlam ve aralıklara dönüşür.Yaygın aktivasyon fonksiyonları
Aşağıdaki seçim, fonksiyonların tipik kullanım alanlarını ve önemli sınırlamalarını karşılaştırır.
| Fonksiyon | Çıktı aralığı | Yaygın kullanım | Dikkat edilmesi gereken |
|---|---|---|---|
| ReLU | 0 ile sonsuz | Gizli katmanlar | Negatif girdilerde çıktı 0 olur; bazı nöronlar etkisiz kalabilir. |
| Sigmoid | 0 ile 1 | İkili sınıflandırma çıkışı | Büyük mutlak değerlerde gradyan küçülebilir. |
| Tanh | -1 ile 1 | Bazı gizli katmanlar ve eski ağ yapıları | Doygunluk nedeniyle öğrenme yavaşlayabilir. |
| Softmax | Toplamı 1 olan olasılıklar | Birden fazla sınıftan birini seçme | Çıkış sınıfları birbirini dışlamalıdır. |
Temel fonksiyonların matematiksel karşılığı
ReLU, negatif değerleri sıfırlar ve pozitif değerleri olduğu gibi bırakır:
ReLU(z) = max(0, z)Sigmoid, herhangi bir gerçek sayıyı 0 ile 1 arasına sıkıştırır:
sigmoid(z) = 1 / (1 + e⁻ᶻ)Softmax ise birden fazla sınıfa ait ham skorları olasılık benzeri değerlere dönüştürür. Örneğin bir modelin üç sınıf için ham çıktıları
2,0,1 ise Softmax bu değerleri toplamı 1 olan üç çıktıya çevirir. En yüksek değer modelin en güçlü tahminini gösterir; ancak bu değer tek başına tahminin kesin doğru olduğunu kanıtlamaz.Hangi durumda hangisi seçilir?
Gizli katmanlar için başlangıçta çoğunlukla ReLU kullanılabilir. İkili sınıflandırmada, örneğin bir e-postanın istenmeyen ileti olup olmadığını tahmin ederken, çıkış katmanında sigmoid tercih edilebilir. Bir örneğin yalnızca bir sınıfa ait olduğu çok sınıflı sınıflandırmada Softmax uygundur. Sayısal bir değer tahmin edilen regresyonda ise çıkış katmanında çoğu zaman doğrusal çıktı kullanılır; böylece sonuç belirli bir aralığa zorlanmaz.
Aktivasyon fonksiyonu modelin ne öğreneceğini tek başına belirlemez. Eğitim verisi, ağırlıklar, kayıp fonksiyonu, optimizasyon yöntemi ve ağ mimarisi de sonucu etkiler. Ayrıca sigmoid veya tanh değerlerinin doygun bölgelere girmesi gradyanların küçülmesine ve eğitimin yavaşlamasına yol açabilir. ReLU ise negatif bölgede gradyan üretmediği için bazı nöronların eğitim boyunca sürekli sıfırda kalmasına neden olabilir.
Bu nedenle seçim yapılırken önce problem türünü belirleyin: gizli katman mı, ikili sınıflandırma çıkışı mı, çok sınıflı çıkış mı, yoksa sınırsız sayısal tahmin mi? Ardından çıktı aralığını ve kullandığınız kayıp fonksiyonuyla uyumu kontrol edin. Aktivasyon fonksiyonu ile kayıp fonksiyonunun uyumsuz seçilmesi, model çalışıyor görünse bile öğrenme davranışını bozabilir.