AI & Analytics

GELU: werking en toepassing in transformers

Analytics Vidhya
GELU: werking en toepassing in transformers

Samenvatting

GELU verwerkt inputs vloeiend en verklaart waarom BERT deze activatiefunctie boven ReLU gebruikt.

GELU in transformers: wat er gebeurt

GELU staat voor Gaussian Error Linear Unit en bepaalt hoeveel van een invoer naar de volgende laag gaat. Anders dan ReLU verwijdert GELU niet alle negatieve waarden, maar schaalt elke invoer op basis van zijn waarde.

Sterk positieve inputs gaan bijna onveranderd door. Waarden rond nul worden gedeeltelijk onderdrukt, terwijl gematigd negatieve inputs een kleine negatieve uitvoer kunnen behouden. Bij een invoer van -1 geeft GELU ongeveer -0,159 terug; bij 2 ongeveer 1,954. ReLU geeft in diezelfde gevallen respectievelijk 0 en 2.

De functie gebruikt de cumulatieve verdelingsfunctie van de standaardnormale verdeling. De auteurs Dan Hendrycks en Kevin Gimpel introduceerden GELU in 2016. Het artikel laat ook zien hoe je GELU en ReLU met Python vergelijkt.

Waarom GELU belangrijk is

Het verschil tussen beide functies zit niet alleen in de formule, maar in de manier waarop informatie door een neuraal netwerk stroomt. ReLU hanteert een harde grens: negatieve invoer valt weg. GELU maakt een geleidelijke, invoerafhankelijke keuze.

Dat gedrag past bij de werking van modellen zoals BERT en andere transformers, waarin kleine verschillen in de representatie van woorden en context door meerdere lagen heen lopen. GELU is bovendien niet overal strikt stijgend: in het negatieve gebied bevat de functie eerst een kleine dip voordat de uitvoer naar nul nadert.

Voor BI-professionals die machine-learningmodellen evalueren, helpt dit onderscheid bij het lezen van modelarchitecturen. ReLU blijft een directe referentie, terwijl GELU meer nuance toevoegt rond nul en bij negatieve waarden. Het artikel bespreekt ook benaderingen voor efficiëntere berekening, plus beperkingen en situaties waarin je beide functies kunt toepassen.

Concrete takeaway voor GELU

Vergelijk GELU en ReLU in Python met dezelfde invoerreeks, vooral rond nul en in het negatieve gebied. Controleer daarna welke activatiefunctie de gebruikte transformer werkelijk bevat voordat je modelgedrag interpreteert.

Lees het volledige artikel
Meer over AI & Analytics →