Funcțiile de activare introduc proprietatea de neliniaritate în rețelele neuronale, permițându-le să aproximeze funcții matematice complexe. În arhitecturile moderne de transformatoare (LLM) și modele de difuzie, clasicul ReLU a fost înlocuit de variante netede și diferențiabile continuu:
- ReLU:
max(0, x)— viteză extremă, dar poate suferi de fenomenul neuronilor morți (Dying ReLU). - GELU (Gaussian Error Linear Unit): Ponderează intrarea prin distribuția normală standard. Este activarea de bază din BERT, GPT-2 și ViT.
- SiLU / Swish:
x * sigmoid(x)— utilizată masiv în Llama, Mistral și rețelele YOLO.
import torch
import torch.nn as nn
x = torch.linspace(-3.0, 3.0, 5)
relu = nn.ReLU()
gelu = nn.GELU()
silu = nn.SiLU()
print("Intrare:", x)
print("GELU: ", gelu(x))
print("SiLU: ", silu(x))
Modelele moderne cu activare SwiGLU combină proiecțiile liniare cu activarea SiLU pentru a obține o convergență superioară.
Întrebări & Exemple practice:
Funcții de Activare Neliniară: ReLU, GELU, SiLU (Swish) și MishAi o întrebare despre Funcții de Activare Neliniară: ReLU, GELU, SiLU (Swish) și Mish sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.