Random initialization

Teknik til at sætte en models parametre (vægte og bias) til tilfældige værdier inden træning.

Kort fortalt

Inden man træner en AI-model, giver man alle dens knapper et tilfældigt tal for at undgå, at de alle opfører sig ens.

Kategori
teknik
Niveau
begynder
Udtale
/ˈrændəm ɪˌnɪʃəlaɪˈzeɪʃən/

Betydninger

1
  1. 1

    Processen med at tildele startværdier til en models parametre, typisk via en tilfældig sandsynlighedsfordeling, før træningsprocessen begynder.

    • Før træning initialiseres alle vægte i netværket med tilfældige små tal.Generel praksis

Hvornår bruges det

Random initialization bruges som standard i næsten al neurale netværkstræning for at bryde symmetri og muliggøre gradientbaseret optimering. Typisk initialiseres vægte med små tilfældige værdier fra en uniform eller normal fordeling.

Kodeeksempel

import numpy as np

# Random initialization of weights for a layer with 10 input and 5 output neurons
np.random.seed(42)
weights = np.random.randn(10, 5) * 0.01

Eksempel på random initialization af vægte i NumPy. Små tilfældige værdier fra en standardnormalfordeling ganget med 0.01.

Oprindelse

Udtrykket stammer fra maskinlæring og neurale netværk, hvor man allerede i 1980'erne observerede, at deterministisk initialisering (fx alle nul) forhindrer læring.

Afledte ord

2

Kilder

1
  • Glorot, X., & Bengio, Y. (2010). Understanding the difficulty of training deep feedforward neural networks.