GELU (Gaussian Error Linear Unit)
Gaussian Error Linear Unit (GELU) aktivasyon fonksiyonunu keşfet. Pürüzsüz, olasılıksal doğrusal olmayan yapısının Transformer'ları, BERT'i ve modern yapay zekâyı nasıl güçlendirdiğini öğren.
Gauss Hata Doğrusal Birimi (GELU), modern yapay zekâ (AI) sistemlerinin, özellikle Transformer mimarisini temel alanların performansında kritik rol oynayan gelişmiş bir aktivasyon fonksiyonudur. Nöron girdilerine katı ve deterministik bir eşik uygulayan geleneksel fonksiyonların aksine GELU, Gauss dağılımının özelliklerinden esinlenen olasılıksal bir yaklaşım sunar. GELU, girdileri basitçe kapılamaktansa büyüklüklerine göre ağırlıklandırarak derin öğrenme (DL) modellerinin optimizasyonuna yardımcı olan daha yumuşak bir doğrusal olmayanlık sağlar. Bu benzersiz özellik, ağların karmaşık veri örüntülerini daha etkili biçimde modellemesine olanak tanır ve büyük temel modellerin başarısına önemli katkıda bulunur.
GELU Nasıl Çalışır#
Her sinir ağının temelinde, aktivasyon fonksiyonları bir nöronun giriş sinyaline göre "ateşleyip ateşlemeyeceğini" belirler. Düzeltilmiş Doğrusal Birim (ReLU) gibi eski fonksiyonlar bir anahtar gibi çalışır; negatif her giriş için sıfır, pozitif değerler içinse girişin kendisini üretir. Verimli olsa da bu keskin eşik, eğitim dinamiklerini olumsuz etkileyebilir.
GELU, Gauss dağılımının kümülatif dağılım fonksiyonuyla girdiyi ölçeklendirerek bunu iyileştirir. Sezgisel olarak bu, giriş değeri azaldıkça nöronun devre dışı kalma olasılığının arttığı, ancak bunun ani değil kademeli biçimde gerçekleştiği anlamına gelir. Bu eğrilik, her noktada türevlenebilir, yumuşak ve monoton olmayan bir fonksiyon oluşturur. Bu yumuşaklık, gradyanların geri yayılımını kolaylaştırarak derin ağların eğitimini durdurabilen kaybolan gradyan problemi gibi sorunların azaltılmasına yardımcı olur.
Gerçek Dünya Uygulamaları#
GELU'nun sağladığı daha yumuşak optimizasyon manzarası, onu makine öğrenmesindeki (ML) en gelişmiş uygulamalardan bazılarında varsayılan tercih haline getirmiştir.
- Büyük Dil Modelleri (LLMs): GELU, Google araştırmacılarının BERT'i (Transformer'lardan Çift Yönlü Kodlayıcı Gösterimleri) kullanıma sunmasıyla öne çıktı. Günümüzde GPT serisinin ve diğer üretken metin modellerinin standart bir bileşenidir. Metin özetleme veya duygu analizi gibi görevlerde GELU, modelin katı aktivasyonların gözden kaçırabileceği dil temsillerindeki ince nüansları yakalamasına yardımcı olur.
- Görsel Transformer'lar (ViT): Bilgisayarlı görü alanında, Transformer mimarisini görüntü sınıflandırmasına uyarlayan modeller büyük ölçüde GELU'ya dayanır. Bu modeller, görüntüleri parça dizileri olarak işleyerek derin katmanlar boyunca zengin özellik bilgilerinin korunması için GELU'yu kullanır ve ImageNet gibi kıyaslamalarda yüksek doğruluk elde eder.
İlgili Terimlerle Karşılaştırma#
GELU'yu anlamak, çoğu zaman onu Ultralytics sözlüğünde bulunan diğer popüler aktivasyon fonksiyonlarından ayırt etmeyi gerektirir.
- GELU ve ReLU karşılaştırması: ReLU, hesaplama açısından daha basittir ve verimli olabilen bir seyreklik (tam sıfırlar) oluşturur. Ancak sıfırdaki "keskin köşe" yakınsamayı yavaşlatabilir. GELU, genellikle biraz daha yüksek hesaplama maliyeti karşılığında karmaşık görevlerde daha yüksek doğruluk sağlayan yumuşak bir yaklaşım sunar.
- GELU ve SiLU (Swish) karşılaştırması: Sigmoid Doğrusal Birimi (SiLU), yapısal olarak GELU'ya çok benzer ve onun yumuşak, monoton olmayan özelliklerini paylaşır. GELU Doğal Dil İşleme (NLP) alanında baskınken SiLU, uç donanımlardaki verimliliği ve algılama görevlerindeki mükemmel performansı nedeniyle YOLO26 gibi yüksek düzeyde optimize edilmiş nesne algılayıcılarda sıklıkla tercih edilir.
- GELU ve Leaky ReLU karşılaştırması: Leaky ReLU, negatif girdiler için küçük ve sabit bir doğrusal eğime izin vererek standart ReLU'nun "ölen nöron" sorununu çözmeye çalışır. Buna karşılık GELU, negatif değerler için doğrusal değildir ve çok derin ağlarda çoğu zaman daha iyi temsil öğrenmeye yol açan daha karmaşık ve uyarlanabilir bir tepki sunar.
Uygulama Örneği#
GELU'yu PyTorch gibi modern derin öğrenme kütüphanelerini kullanarak uygulamak kolaydır. Aşağıdaki örnek, fonksiyonun giriş verilerinden oluşan bir tensöre nasıl uygulanacağını gösterir.
import torch
import torch.nn as nn
# Initialize the GELU activation function
gelu_activation = nn.GELU()
# Create sample input data including negative and positive values
input_data = torch.tensor([-3.0, -1.0, 0.0, 1.0, 3.0])
# Apply GELU to the inputs
output = gelu_activation(input_data)
# Print results to see the smoothing effect on negative values
print(f"Input: {input_data}")
print(f"Output: {output}")Bu gelişmiş aktivasyon fonksiyonlarından kendi bilgisayarlı görü projelerinde yararlanmak isteyen geliştiriciler için Ultralytics Platformu tüm iş akışını basitleştirir. Platform, verileri açıklamak, YOLO26 gibi mimarileri (SiLU gibi optimize edilmiş aktivasyonları kullanır) kullanarak modelleri eğitmek ve bunları buluta ya da uç cihazlara verimli biçimde dağıtmak için birleşik bir arayüz sağlar.









