
Wat is een Activatiefunctie?
Een activatiefunctie is een wiskundige functie die wordt toegepast op de output van een neuron in een neuraal netwerk om niet-lineariteit toe te voegen. Zonder activatiefuncties zou een neuraal netwerk — ongeacht het aantal lagen — slechts een lineaire transformatie zijn en alleen lineaire relaties kunnen modelleren.
Waarom het ertoe doet
Activatiefuncties zijn wat neurale netwerken krachtig maakt. Ze introduceren de niet-lineariteit die het netwerk in staat stelt om complexe patronen te leren — van beeldherkenning tot taalmodelering. De keuze van activatiefunctie beïnvloedt de trainingssnelheid, stabiliteit en prestaties van het model direct.
Hoe het werkt
Het neuron-proces:
- Input × weight + bias = gewogen som
- Activatiefunctie(gewogen som) = output
- Deze output wordt de input voor de volgende laag
Veelgebruikte activatiefuncties:
ReLU (Rectified Linear Unit):
- f(x) = max(0, x)
- De standaard voor verborgen lagen
- Snel te berekenen, voorkomt vanishing gradients
- Nadeel: "dode neuronen" (output altijd 0 voor negatieve input)
GELU (Gaussian Error Linear Unit):
- Zachte versie van ReLU
- De standaard voor transformers (GPT, BERT)
- Combineert niet-lineariteit met een lichte smoothing
Sigmoid:
- f(x) = 1/(1+e^(-x)), output tussen 0 en 1
- Gebruikt voor de outputlaag bij binaire classificatie
- Nadeel: vanishing gradients bij extreme waarden
Softmax:
- Zet een vector om naar een kansverdeling (alle waarden optellend tot 1)
- Standaard outputlaag voor multiclass classificatie en het volgende-token-voorspellen in LLM's
SiLU/Swish:
- f(x) = x × sigmoid(x)
- Gebruikt in modernere architecturen (LLaMA, PaLM)
Tanh:
- Output tussen -1 en 1
- Historisch populair, grotendeels vervangen door ReLU/GELU
Voorbeeld
In een transformer-laag van GPT-4 berekent elk neuron een gewogen som van zijn inputs. De GELU-activatiefunctie zet vervolgens negatieve waarden om naar waarden dicht bij nul en laat positieve waarden grotendeels door. Dit simpele niet-lineaire "filter" — herhaald over miljoenen neuronen en tientallen lagen — is wat het model in staat stelt om complexe taalpatronen te leren.