GELU (Gaussian Error Linear Unit)
Gaussian Error Linear Unit (GELU) aktivasyon fonksiyonunu keşfet. Pürüzsüz, olasılıksal doğrusalsızlığının Transformer'lara, BERT'e ve modern yapay zekaya nasıl güç verdiğini öğren.
The Gaussian Error Linear Unit (GELU) is a sophisticated activation function that plays a pivotal role in the performance of modern artificial intelligence (AI) systems, particularly those based on the Transformer architecture. Unlike traditional functions that apply a rigid, deterministic threshold to neuron inputs, GELU introduces a probabilistic aspect inspired by the properties of the Gaussian distribution. By weighing inputs by their magnitude rather than simply gating them, GELU provides a smoother nonlinearity that aids in the optimization of deep learning (DL) models. This unique characteristic allows networks to model complex data patterns more effectively, contributing significantly to the success of massive foundation models.
Link to this sectionGELU Nasıl Çalışır#
Herhangi bir sinir ağının merkezinde, aktivasyon fonksiyonları bir nöronun giriş sinyaline bağlı olarak "ateşlenip ateşlenmeyeceğini" belirler. Rectified Linear Unit (ReLU) gibi eski fonksiyonlar bir anahtar gibi çalışır; negatif girişler için sıfır, pozitif değerler içinse girişin kendisini çıktı olarak verir. Verimli olmasına rağmen bu keskin kesim noktası, eğitim dinamiklerini engelleyebilir.
GELU, girişi bir Gauss dağılımının kümülatif dağılım fonksiyonu ile ö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 aniden değil kademeli olarak gerçekleştiği anlamına gelir. Bu eğrilik, tüm noktalarda türevlenebilir, pürüzsüz ve monoton olmayan bir fonksiyon oluşturur. Bu pürüzsüzlük, gradyanların daha iyi geriye yayılımına olanak tanıyarak derin ağların eğitimini durdurabilen kaybolan gradyan problemi gibi sorunların azaltılmasına yardımcı olur.
Link to this sectionGerçek Dünya Uygulamaları#
GELU'nun sağladığı daha pürüzsüz optimizasyon alanı, onu makine öğrenmesi (ML) alanındaki en gelişmiş uygulamaların bazıları için varsayılan tercih haline getirmiştir.
- Büyük Dil Modelleri (LLM): GELU, Google araştırmacıları tarafından BERT (Bidirectional Encoder Representations from Transformers) modelinin tanıtılmasıyla öne çıktı. Artık GPT serisinde ve diğer üretken metin modellerinde standart bir bileşendir. 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.
- Vision Transformer (ViT): Bilgisayarlı görü alanında, Transformer mimarisini görüntü sınıflandırma için uyarlayan modeller, büyük ölçüde GELU'ya güvenir. Görüntüleri yama dizileri olarak işleyen bu modeller, zengin özellik bilgilerini derin katmanlar boyunca korumak ve ImageNet gibi kıyaslamalarda yüksek doğruluk elde etmek için GELU'yu kullanır.
Link to this sectionİlgili Terimlerle Karşılaştırma#
GELU'yu anlamak, genellikle onu Ultralytics sözlüğünde bulunan diğer popüler aktivasyon fonksiyonlarından ayırt etmeyi gerektirir.
- GELU ile ReLU Karşılaştırması: ReLU hesaplama açısından daha basittir ve seyreklik (tam sıfırlar) yaratır, bu da verimli olabilir. Ancak sıfır noktasındaki "keskin köşe" yakınsamayı yavaşlatabilir. GELU, karmaşık görevlerde genellikle daha yüksek doğruluk sağlayan ancak biraz daha yüksek bir hesaplama maliyetine sahip pürüzsüz bir yaklaşım sunar.
- GELU ile SiLU (Swish) Karşılaştırması: Sigmoid Linear Unit (SiLU), yapısal olarak GELU'ya çok benzer ve onun pürüzsüz, monoton olmayan özelliklerini paylaşır. GELU Doğal Dil İşleme (NLP) alanında baskın olsa da, SiLU uç donanımlardaki verimliliği ve tespit görevlerindeki mükemmel performansı nedeniyle YOLO26 gibi yüksek düzeyde optimize edilmiş nesne dedektörlerinde sıklıkla tercih edilir.
- GELU ile Leaky ReLU Karşılaştırması: Leaky ReLU, negatif girişler için küçük ve sabit bir lineer eğime izin vererek standart ReLU'nun "ölen nöron" problemini çözmeye çalışır. Buna karşılık GELU, negatif değerler için non-lineerdir ve çok derin ağlarda genellikle daha iyi temsil öğrenimi sağlayan daha karmaşık ve uyarlanabilir bir yanıt sunar.
Link to this sectionUygulama Örneği#
GELU uygulaması, PyTorch gibi modern derin öğrenme kütüphaneleri kullanılarak oldukça basittir. Aşağıdaki örnek, fonksiyonun bir giriş verisi tensörüne nasıl uygulanacağını göstermektedir.
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 Platform, tüm iş akışını basitleştirir. Verileri etiketlemek, YOLO26 (SiLU gibi optimize edilmiş aktivasyonlar kullanan) gibi mimarileri kullanarak modelleri eğitmek ve bunları bulut veya uç cihazlara verimli bir şekilde dağıtmak için birleşik bir arayüz sağlar.






