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
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.01Eksempel 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
2Kilder
1- Glorot, X., & Bengio, Y. (2010). Understanding the difficulty of training deep feedforward neural networks.