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. 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).

Afledte ord

2

Kilder

1