Weight initialization

Teknik til at fastsætte startværdier for en neural netværks vægte før træning.

Kort fortalt

At vælge de rigtige startværdier for neurale netværks vægte, så træningen starter stabilt.

Kategori
teknik
Niveau
øvet

Betydninger

2
  1. 1

    Proces med at tildele indledende numeriske værdier til de parametre (vægte og bias) i et neuralt netværk før træningsstart, med det formål at forbedre konvergens og undgå problemer som forsvindende/eksploderende gradienter.

    • Korrekt vægtinitialisering er afgørende for at træne dybe neurale netværk effektivt.
    • Uden omhyggelig initialisering kan netværket have svært ved at lære.
  2. 2

    Specifikke metoder til initialisering af vægte, såsom Xavier (Glorot) initialisering til sigmoide/tanh aktiveringer og He initialisering til ReLU-aktiveringer, der tager hensyn til antallet af neuroner i laget.

    • Til ReLU-baserede netværk anbefales He-initialisering, hvor vægte trækkes fra en normalfordeling med varians 2 / fan_in.He et al., 2015
    • Xavier-initialisering bruger varians 1 / fan_avg for at holde signaler i et passende område.Glorot & Bengio, 2010

Hvornår bruges det

Bruges i starten af træningsprocessen for at undgå problemer som forsvindende eller eksploderende gradienter. Vælges typisk baseret på aktiveringsfunktion og netværksdybde.

Kodeeksempel

import torch.nn as nn

# Xavier uniform initialization for Linear layer
layer = nn.Linear(10, 20)
nn.init.xavier_uniform_(layer.weight)

# He (Kaiming) normal initialization for Conv2d
conv = nn.Conv2d(3, 16, 3)
nn.init.kaiming_normal_(conv.weight, mode='fan_in', nonlinearity='relu')

Eksempel på brug af PyTorch's indbyggede initialiseringsfunktioner.

Oprindelse

Begrebet stammer fra behovet for at starte neurale netværk med velafbalancerede vægte for at lette optimering.

Afledte ord

4

Kilder

3
  • Understanding the difficulty of training deep feedforward neural networks (Glorot & Bengio, 2010)
  • Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification (He et al., 2015)
  • Deep Learning (Goodfellow, Bengio, Courville, 2016)