træningsbatch
En underopdeling af træningsdata, som anvendes i én frem- og tilbagepassage under træning af en neural netværksmodel.
Kort fortalt
Et træningsbatch er en lille gruppe af eksempler, som modellen ser på én gang for at justere sine vægte.
- Kategori
- teknik
- Niveau
- begynder
- Udtale
- ˈtrɛːnɪŋsˌbætʃ
Betydninger
1- 1
En delmængde af træningsdata, der behandles samlet i én iteration af modeltræning.
- Modellen trænes med batches af størrelse 32 for at balancere hastighed og støj i gradienterne.
- Valget af batchstørrelse påvirker både træningstiden og modelgeneralisation.
Hvornår bruges det
Træningsbatches bruges i mini-batch gradient descent, hvor modellen opdateres efter hvert batch i stedet for efter hvert enkelt eksempel (stokastisk gradient descent) eller hele datasættet (batch gradient descent). Batchstørrelsen er en hyperparameter, der påvirker træningshastighed og modelkonvergens.
Kodeeksempel
from torch.utils.data import DataLoader, TensorDataset
data = TensorDataset(inputs, labels)
loader = DataLoader(data, batch_size=32, shuffle=True)
for batch_inputs, batch_labels in loader:
outputs = model(batch_inputs)
loss = loss_fn(outputs, batch_labels)
loss.backward()
optimizer.step()Eksempel på brug af batches i PyTorch: DataLoader opdeler datasættet i batches af størrelse 32.
Oprindelse
Begrebet stammer fra statistik og machine learning, hvor data opdeles i batches for effektiv beregning.
Afledte ord
2Kilder
1- Deep Learning (Goodfellow et al., 2016)