Aktivasyon Fonksiyonları
Bu derste derin öğrenmenin en kritik yapı taşlarından biri olan aktivasyon fonksiyonlarını baştan sona işliyoruz: ne işe yararlar, en sık kullanılanları hangileridir ve hangi durumda hangisini seçmelisiniz? Konunun temeli için önce Nöron nedir? dersimize göz atmanızı öneririz. Serinin tamamı için ise Yapay Zekâ dersleri sayfasına bakabilirsiniz.
Aktivasyon Fonksiyonu Nedir?
Bir yapay sinir ağı nöronu, kendisine gelen girdileri ağırlıklarıyla çarpıp toplar ve üzerine bir sapma (bias) değeri ekler. Buraya kadar elde edilen sayı bir "ham toplam"dır ve tek başına anlamlı bir karar değildir. Aktivasyon fonksiyonu tam bu noktada devreye girer: ham toplamı alır ve nöronun çıkışını belirleyen yeni bir değere dönüştürür. Kısaca nöronun ne kadar ve hangi biçimde ateşleneceğine karar veren matematiksel bir filtredir. Matematiksel olarak: çıkış = f(w1·x1 + w2·x2 + … + b). Buradaki f harfi işte aktivasyon fonksiyonudur.
Neden Aktivasyon Fonksiyonuna İhtiyaç Duyarız?
Cevap tek kavramda gizli: doğrusallığı kırmak. Doğrusal fonksiyonların bileşimi yine doğrusaldır; yani aktivasyon olmadan on katmanı üst üste koysan bile ağ, tek bir doğrusal modelden farksız çalışır. Oysa gerçek problemler doğrusal değildir: bir fotoğrafta kedi ile arabayı ayıran sınır, pikseller ile etiket arasındaki düz bir çizgiyle tanımlanamaz. Aktivasyon fonksiyonları ağa kıvrımlı, karmaşık karar sınırları öğrenme gücü verir; derin öğrenmenin gücünün sırrı buradadır.
Aktivasyon fonksiyonunun ağa kazandırdıklarını üç maddeyle özetleyebiliriz:
- Doğrusal olmayan öğrenme: Karmaşık desenlerin (yüz, ses, dil) temsil edilmesini sağlar.
- Çıkışı aralığa oturtma: Gerektiğinde çıktıyı 0-1 gibi yorumlanabilir bir aralığa sabitler.
- Seçici davranma: Hangi nöronların aktif olacağına karar vererek her katmanın farklı özellikler öğrenmesini kolaylaştırır.
Yaygın Kullanılan Aktivasyon Fonksiyonları
Her fonksiyonun kendine özgü bir çıkış aralığı, güçlü ve zayıf yanı vardır. Aşağıdaki set, hem klasik hem güncel modellerde karşına çıkacak çekirdek bilgiyi oluşturur.
Sigmoid
f(x) = 1 / (1 + e^(-x)) formülüyle hesaplanır ve çıktıyı 0 ile 1 arasına sıkıştırır. "Bu e-posta spam mi, değil mi?" gibi ikili sınıflandırma problemlerinde çıkış katmanında kullanılır; 0,5 eşiğiyle evet/hayır kararı verilir. Zayıf yanı, girdi çok büyük ya da çok küçük olduğunda doygunlaşması ve derin ağlarda gradyan kaybolması (vanishing gradient) sorununa yol açmasıdır; bu yüzden gizli katmanlarda artık tercih edilmez.
Tanh
Hiperbolik tanjant, sigmoidin genişletilmiş hâlidir ve çıktıyı -1 ile 1 arasında verir. Çıktısı sıfır merkezli olduğu için gizli katmanlarda sigmoidden genellikle daha dengeli çalışır; klasik RNN mimarilerinde yoğun biçimde kullanılır. Doygunluk ve gradyan kaybolması sorunları burada da vardır.
ReLU
Rectified Linear Unit son derece basit bir kural uygular: f(x) = max(0, x). Negatifleri 0 yapar, pozitifleri aynen geçirir. Hesabı çok hızlıdır ve pozitif bölgede gradyanı kaybolmaz; bu iki özellik onu derin ağların varsayılan seçimi hâline getirmiştir. Bilinmesi gereken risk ise "ölü ReLU"dur: bir nöronun girdileri hep negatif çıkarsa çıktısı sürekli 0 kalır ve o nöron bir daha öğrenemez.
Leaky ReLU
Ölü ReLU sorununu hafifletmek için negatif bölgede 0 yerine küçük bir eğim kullanır; örneğin f(x) = 0,01x. Böylece negatif bölgedeki nöronlar da zayıf da olsa gradyan akışı alır. Uygulamada ReLU yerine güvenle denenebilir.
Softmax
Softmax, çıkış katmanındaki tüm nöronlar birlikte düşünülerek uygulanır: her sınıfa 0 ile 1 arasında bir olasılık verir ve tüm olasılıkların toplamını 1 yapar. El yazısı rakam tanıyıcıda 10 sınıf için çıkış "0,02; 0,01; 0,90; …" gibi bir dağılımdır ve en yüksek değer tahmin olarak seçilir. Çok sınıflı sınıflandırmanın standart çıkış fonksiyonudur.
GELU ve güncel varyantlar
Son yılların büyük dil modellerinde gizli katmanlarda GELU (Gaussian Error Linear Unit) yaygınlaşmıştır; bazı güncel mimariler ise SwiGLU gibi kapı mekanizmalı türevlerini kullanır. Fikir ReLU'ya yakındır ama negatif bölge tamamen yok edilmez; pürüzsüz geçiş, derin modellerde daha istikrarlı eğitim sağlar.
Hangi Katmanda Hangi Aktivasyon Kullanılır?
Doğru tek bir cevap yoktur; görev ve katman belirleyicidir. Yeni başlayanlar için sağlam bir başlangıç şeması şudur:
- Gizli katmanlar: ReLU ile başla; sorun görürsen Leaky ReLU veya GELU dene.
- İkili sınıflandırma çıkışı: Tek nöron + sigmoid.
- Çok sınıflı sınıflandırma çıkışı: Sınıf sayısı kadar nöron + softmax.
- Çok etiketli problem: Her etiket için ayrı sigmoid (bir örnek aynı anda birden çok etiket alabilir).
- Regresyon (sayı tahmini): Çıkışta aktivasyon kullanma; nöron doğrusal değer üretsin.
Bu şemayı örneklerle somutlaştıralım: ev fiyatı tahmininde çıkışta aktivasyon yoktur, çünkü fiyat 0 ile 1 arasında bir olasılık değildir. Spam filtresinde tek nöronlu sigmoid, haber sitesinde haberi spor/ekonomi/teknoloji olarak ayıran modelde softmax kullanılır. Katman türlerinin genel işleyişini merak ediyorsan Katmanlar dersine, ağın bütünsel resmi için Yapay sinir ağları dersine göz atabilirsin.
Sık Yapılan Hatalar ve Yanılgılar
- "Aktivasyon isteğe bağlıdır" yanılgısı: Yeni başlayanların en yaygın hatasıdır. Aktivasyonsuz derin ağ tek bir doğrusal katmana indirgenir ve karmaşık problemlerde başarısız olur.
- Gizli katmanlarda sigmoid kullanmak: Derin ağlarda gradyan kaybolmasına yol açar; model "öğrenmiyor" gibi görünür. Suçlu çoğu zaman mimari değil, aktivasyon seçimidir.
- Softmax'i yanlış problemde kullanmak: Softmax sınıfların birbirine rakip olduğunu varsayar. Bir fotoğrafta hem "deniz" hem "gün batımı" etiketi bulunabilecekse softmax değil, sınıf başına sigmoid gerekir.
- ReLU çıktısını olasılık sanmak: ReLU 0'dan büyük herhangi bir sayı üretebilir; olasılık yorumu yalnızca sigmoid ve softmax çıkışında yapılır.
- Çıkış aktivasyonunu görevden bağımsız seçmek: Olasılık gereken yerde doğrusal çıkış, sayı gereken yerde softmax kullanmak hem mantıksızdır hem de eğitimi bozar.
- Çok yüksek öğrenme oranıyla ReLU nöronlarını öldürmek: Aşırı büyük ağırlık güncellemeleri nöronları kalıcı olarak 0 çıkışına sabitleyebilir; öğrenme oranı, aktivasyon sağlığıyla doğrudan ilgilidir.
Evrişimli ağlarda ReLU'nun pratikteki yerini CNN nedir? dersinde bulabilirsin; dikkat mekanizmasıyla çalışan büyük modellerin genel resmini görmek istersen Transformer mimarisi dersi iyi bir yol göstericidir. Derin öğrenme yolculuğuna daha yeni başladıysan Derin öğrenme nedir? dersiyle temeli atmanı öneririz.
Sık Sorulan Sorular
Aktivasyon fonksiyonu nedir?
Sinir ağı nöronunun girdileri ağırlıklandırıp topladıktan sonra elde ettiği ham değeri dönüştüren matematiksel fonksiyondur. Ağa doğrusal olmayan öğrenme gücü kazandırır; aktivasyon olmadan derin bir ağ tek bir doğrusal modele eşdeğer kalır.
ReLU ile sigmoid arasındaki fark nedir?
ReLU negatif girdileri 0'a indirir, pozitifleri aynen geçirir ve gizli katmanlarda hızlı öğrenme sağlar. Sigmoid ise çıktıyı 0-1 arasına sıkıştırır ve daha çok ikili sınıflandırmanın çıkış katmanında kullanılır; derin gizli katmanlarda gradyan kaybolması yüzünden tercih edilmez.
Çıkış katmanında hangi aktivasyon fonksiyonu kullanılır?
Göreve bağlıdır: ikili sınıflandırmada sigmoid, çok sınıflı sınıflandırmada softmax, sayı tahmininde (regresyon) ise genelde aktivasyonsuz doğrusal çıkış kullanılır. Gizli katmanlarda ReLU ve türevleri standart tercihtir.