szó jelentését keresi. A DICTIOUS-ban nem csak a
szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
szót egyes és többes számban mondani. Minden, amit a
szóról tudni kell, itt található. A
szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Főnév
batch normalization (tsz. batch normalizations)
- (informatika, mesterséges intelligencia) Batch Normalization (röviden: BatchNorm) egy hatékony technika a mély neurális hálózatok tanításának felgyorsítására és stabilizálására. Az eljárás lényege, hogy egy adott réteg bemenetét normáljuk (átlag és szórás szerint), így csökkentve az ún. internal covariate shift hatását.
🧠 Alapötlet
A mély tanulás során a rétegek bemenete folyamatosan változik a tanítás alatt, ami lassíthatja vagy instabillá teheti a tanulást. A batch normalization ezt a hatást csökkenti azzal, hogy minden mini-batch-re újraszámítja és normálja az aktivációkat.
🔍 Működése
Tegyük fel, hogy egy réteg aktivációs kimenete:
1. Számítsuk ki a batch átlagát és szórását:
2. Normáljuk:
(ahol
egy kis szám a nullával való osztás elkerülésére)
3. Skálázzuk és toljuk el tanulható paraméterekkel:
: skálázási tényező (tanulható)
: eltolási tényező (tanulható)
🧮 Összefoglaló képlettel
📊 Hol használjuk?
- Convolutional Neural Networks (CNN-ek): jellemzően a konvolúciós réteg után, aktiváció előtt
- Fully Connected rétegekben: szintén aktiváció előtt
- Generative modellekben: pl. GAN-ek
✅ Előnyök
Előny
|
Leírás
|
🧠 Gyorsabb konvergencia
|
Csökkenti a tanulási időt
|
🔁 Nagyobb tanulási ráta megengedett
|
Kevésbé érzékeny a tanulási rátára
|
📉 Regularizáló hatás
|
Enyhén csökkenti az overfitting esélyét
|
🔒 Stabilabb tanulás
|
Mérsékli a belső változások miatti instabilitást
|
⚠️ Hátrányok / Kihívások
- Mini-batch méretfüggő: kis batch esetén a statisztika pontatlan lehet
- Nem minden modellbe illeszkedik jól (pl. RNN-eknél nehezebb használni)
- Futtatási idő megnőhet inference során, ha nem cache-eljük az értékeket
🧠 Alternatívák
Alternatíva
|
Használat
|
Layer Normalization
|
Főként RNN-eknél, batchfüggetlen
|
Instance Normalization
|
Képstílus-transzferben
|
Group Normalization
|
Kis batch méretekhez hatékony
|
Weight Normalization
|
Súlyokra alkalmazott normálás, más koncepció
|
💻 Példa: PyTorch
import torch.nn as nn
model = nn.Sequential(
nn.Linear(100, 50),
nn.BatchNorm1d(50), # teljesen összekapcsolt réteghez
nn.ReLU(),
nn.Linear(50, 10)
)
CNN-nél:
nn.BatchNorm2d(num_features) # feature map csatornák száma
📌 TL;DR
Batch normalization egy technika, amely normálja a hálózat egy rétegének bemeneteit mini-batch szinten, hogy gyorsabb és stabilabb tanulást tegyen lehetővé. Aktiváció előtt illesztjük be, és tanulható eltolást/skálázást alkalmaz.