ReLU (Doğrultulmuş Doğrusal Birim)

Yapay sinir ağlarında gizli katmanlarda kullanılan, pozitif girdileri olduğu gibi geçiren, negatif girdileri sıfıra indirgeyen aktivasyon fonksiyonu.

ReLU, yapay sinir ağlarında nöronların çıktısını belirleyen bir aktivasyon fonksiyonudur. Formülü basittir: girdi sıfırdan büyükse olduğu gibi geçer, sıfır veya altındaysa sıfır döner. Bu basitlik, derin ağlarda on yıl boyunca hâkim olan sigmoid ve tanh fonksiyonlarının yerini almasının asıl nedenidir. Sigmoid ve tanh, girdi değerleri çok büyüdüğünde ya da çok küçüldüğünde gradyanları neredeyse sıfıra yaklaştırır. Geri yayılım sırasında bu küçük gradyanlar katman katman çarpılır; on, yirmi katmanlı bir ağda en baştaki katmanlara ulaşan gradyan fiilen yokolur. Ağırlıklar güncellenemez, ağ öğrenemez. Bu soruna kaybolan gradyan problemi denir ve 1990'larda derin ağ araştırmalarının önündeki en büyük engellerden biriydi. ReLU bu problemi doğrudan çözer. Pozitif girdiler için gradyan her zaman 1'dir; çarpma işlemi değeri küçültmez. Bunun yanı sıra üs veya üstel fonksiyon gerektirmediğinden hesaplaması sigmoid ve tanh'a göre çok daha hızlıdır. GPU'larda paralel işlem yapıldığında bu fark büyük ağlarda ciddi zaman tasarrufuna dönüşür. Pratikteki etkisi 2012 AlexNet modeliyle belgelenmiştir. Krizhevsky ve ekibi, aynı mimaride sigmoid yerine ReLU kullanarak eğitim süresini altıda bire indirmiştir. O tarihten bu yana derin öğrenmede gizli katman aktivasyonu denildiğinde varsayılan seçenek ReLU olmuştur. Ancak ReLU kusursuz değildir. Negatif girdi alan nöronlar sürekli sıfır çıktısı üretir ve gradyanları sıfır olduğundan bir daha güncellenemezler. Buna ölü ReLU problemi denir. Yüksek öğrenme hızı kullanıldığında veya ağırlıklar olumsuz başlatıldığında ağdaki nöronların önemli bir kısmı bu duruma düşebilir. Bu soruna karşı geliştirilen varyantlar mevcuttur: Leaky ReLU negatif girdiler için küçük bir eğim (genellikle 0,01) kullanır. PReLU bu eğimi öğrenilebilir bir parametre haline getirir. ELU negatif bölgede üstel bir eğri kullanarak ortalama aktivasyonu sıfıra yaklaştırır. GELU ise girdiyi bir olasılık ağırlığıyla çarpar ve özellikle dil modellerinde (BERT, GPT) tercih edilir. ReLU bugün evrişimli sinir ağlarında, derin tam bağlantılı ağlarda ve görüntü sınıflandırma modellerinin büyük çoğunluğunda gizli katman aktivasyonu olarak kullanılmaktadır.

Tanım ve Matematiksel Formül

ReLU (Rectified Linear Unit), f(x) = max(0, x) formülüyle tanımlanır. Girdi pozitifse olduğu gibi iletilir; sıfır veya negatifse çıktı sıfırdır. Türevi x > 0 için 1, x ≤ 0 için 0'dır. x = 0 noktasında türev teknik olarak tanımsız olmakla birlikte uygulamada bu değer genellikle 0 kabul edilir. Adı İngilizcede 'doğrultucu doğrusal birim' anlamına gelir ve bu isim fonksiyonun negatif değerleri sıfıra 'doğrultma' davranışını yansıtır.

Sigmoid ve Tanh ile Karşılaştırma

Sigmoid fonksiyonu çıktıyı 0-1 aralığına, tanh ise -1 ile 1 arasına sıkıştırır. Bu sıkıştırma işlemi, büyük girdi değerlerinde gradyanları neredeyse sıfıra düşürür. ReLU pozitif bölgede doğrusal davrandığından gradyan kaybolmaz. Hesaplaması da bir karşılaştırma işlemiyle sınırlı olduğundan sigmoid ve tanh'a göre belirgin biçimde hızlıdır; bu fark GPU'larda büyük ölçekte ciddi avantaja dönüşür.

Kaybolan Gradyan Problemi ve ReLU'nun Çözümü

Geri yayılım sırasında gradyanlar katman katman çarpılır. Sigmoid/tanh gibi doyuran fonksiyonlarda bu çarpımlar her katmanda küçülür; derin ağlarda ilk katmanlara ulaşan gradyan pratikte sıfır olur. Ağırlıklar güncellenemez, ağ öğrenemez. ReLU'nun pozitif bölgedeki gradyanı sabit 1 olduğundan bu çarpım zinciri değeri küçültmez ve 10-20 katmanlı derin ağlar bile etkili biçimde eğitilebilir hale gelir.

Ölü ReLU Problemi

Bir nöron negatif net girdi aldığında ReLU çıktısı sıfır olur ve gradyan da sıfır olur. Bu nöron bir daha güncelleme almaz ve 'ölü' hale gelir. Yüksek öğrenme hızı veya kötü ağırlık başlatma bu durumu tetikler. Ağdaki nöronların önemli bir kısmı ölü kalırsa model kapasitesi ciddi ölçüde düşer. He başlatma ve uygun öğrenme hızı seçimi bu riski önemli ölçüde azaltır.

ReLU Varyantları

  • check_circle Leaky ReLU: Negatif girdiler için küçük sabit bir eğim (α ≈ 0,01) kullanır: f(x) = x (x>0), αx (x≤0). Ölü nöron sorununu büyük ölçüde azaltır.
  • check_circle PReLU (Parametric ReLU): Leaky ReLU'nun negatif eğimini öğrenilebilir bir parametre haline getirir. Eğitim sırasında bu eğim veri tarafından optimize edilir.
  • check_circle ELU (Exponential Linear Unit): Negatif bölgede üstel bir eğri kullanarak ortalama aktivasyonu sıfıra yaklaştırır; bu durum eğitimi kararlı kılar ve yakınsama hızını artırır.
  • check_circle GELU (Gaussian Error Linear Unit): Girdiyi Gaussian kümülatif dağılım fonksiyonuyla ağırlıklandırır; hem türevli bir geçiş sağlar hem de negatif değerleri tamamen bastırmaz. BERT ve GPT başta olmak üzere modern dil modellerinde standart tercih haline gelmiştir.

Kullanım Alanları

ReLU, evrişimli sinir ağlarında (CNN) tüm gizli katmanlar için varsayılan aktivasyon fonksiyonudur. ResNet, VGG, Inception gibi görüntü modelleri ReLU ile eğitilir. Tam bağlantılı derin ağlarda da gizli katmanlar için standart seçimdir. Çıkış katmanında kullanılmaz; çıkış genellikle sigmoid (ikili sınıflandırma), softmax (çok sınıflı) veya doğrusal (regresyon) fonksiyona bırakılır. Dil modellerinin transformer bloklarında ise büyük ölçüde GELU tercih edilir.

Sık Sorulan Sorular

  • check_circle ReLU neden sigmoid'dan daha iyi?: Sigmoid derin ağlarda gradyan kaybına yol açar; ReLU pozitif bölgede gradyanı 1 tutarak bu sorunu ortadan kaldırır. Ayrıca hesaplaması çok daha hızlıdır.
  • check_circle Ölü ReLU nasıl önlenir?: Leaky ReLU veya ELU gibi varyantlar kullanılabilir. Öğrenme hızını düşürmek ve He başlatma gibi iyi ağırlık başlatma yöntemleri de ölü nöron oranını azaltır.
  • check_circle ReLU çıkış katmanında kullanılır mı?: Hayır. Çıkış katmanı göreve göre sigmoid, softmax veya doğrusal aktivasyon kullanır; ReLU negatif değerlere izin vermediğinden çıkışta uygunsuz olur.
  • check_circle GELU ile ReLU arasındaki fark nedir?: GELU girdiyi Gaussian olasılık ağırlığıyla çarpar; hem türevli bir geçiş sağlar hem de negatif değerleri tamamen bastırmaz. Modern dil modellerinde (BERT, GPT) GELU tercih edilir.