He initialization
En metode til at initialisere vægte i neurale netværk, der tager højde for ReLU-aktiveringsfunktionens egenskaber ved at sætte variansen til 2/n_in.
Kort fortalt
He initialization er en teknik, der initialiserer vægte, så signalet ikke forsvinder eller eksploderer i dybe netværk med ReLU-aktivieringer.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En initialiseringsstrategi for vægte i neurale netværk, der sætter variansen til 2/n_in for at kompensere for ReLU-aktiveringsfunktionens ikke-linearitet og bevare signalets størrelse gennem lagene.
- Ved brug af He initialization i et dybt CNN med ReLU forbedredes konvergensen markant sammenlignet med Xavier initialization.
- Implementeringen i PyTorch sker via torch.nn.init.kaiming_normal_ eller kaiming_uniform_.
Hvornår bruges det
He initialization bruges typisk ved opbygning af dybe convolutional neural networks (CNN'er) med ReLU-aktivieringer. Det er standardvalget i mange deep learning-rammer som TensorFlow og PyTorch for netværk med ReLU.
Formel
Varians = 2 / n_in for normalfordeling; uniform fordeling: U[-√(6/n_in), √(6/n_in)] (hvor n_in er antal input-neuroner)Kodeeksempel
import torch.nn as nn
# He initialization (normal) for a linear layer
layer = nn.Linear(256, 128)
nn.init.kaiming_normal_(layer.weight, mode='fan_in', nonlinearity='relu')Eksempel på He normal initialisering i PyTorch for et lineært lag med ReLU.
Oprindelse
Opkaldt efter Kaiming He, der foreslog metoden i artiklen 'Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification' (2015).