Middle — Senior
Čo je GELU a prečo je lepší ako ReLU v transformátoroch?
sobes.tech AI
Odpoveď od AI
GELU (Gaussova chybová lineárna jednotka) je aktivačná funkcia, ktorá sa často používa v transformeroch a iných moderných neurónových sieťach. Od klasického ReLU sa líši tým, že je hladká a zohľadňuje pravdepodobnostnú povahu aktivácie.
Približná formula GELU vyzerá takto:
[ \text{GELU}(x) = x \cdot \Phi(x) ]
kde ( \Phi(x) ) je funkcia rozdelenia štandardného normálneho rozdelenia.
Výhody GELU oproti ReLU:
- Hladkosť: GELU je spojitá a diferencovateľná, čo zlepšuje učenie.
- Stochastickosť: GELU zohľadňuje pravdepodobnosť aktivácie neurónu, čo pomáha modelu lepšie zvládať šum a neistotu.
- Lepšia reprezentácia dát: pri NLP úlohách a transformeroch GELU podporuje efektívnejšie učenie a zlepšuje kvalitu modelu.
Príklad použitia v PyTorch:
import torch
import torch.nn.functional as F
def gelu(x):
return 0.5 * x * (1 + torch.tanh(torch.sqrt(torch.tensor(2 / 3.1415)) * (x + 0.044715 * x ** 3)))
x = torch.tensor([-1.0, 0.0, 1.0])
print(gelu(x))
Takto GELU poskytuje plynulejšiu a informatívnejšiu aktiváciu v porovnaní s ReLU, čo je dôležité pre zložité modely, ako sú transformery.