Normalizarea batch (batch normalization) este o tehnică folosită în antrenarea rețelelor neuronale profunde, care standardizează valorile de ieșire ale fiecărui strat al rețelei — ajustându-le astfel încât să aibă o medie apropiată de zero și o variație (deviație standard) constantă — înainte ca acestea să fie transmise stratului următor.
Fără această tehnică, distribuția valorilor din interiorul rețelei se poate schimba semnificativ pe parcursul antrenamentului, pe măsură ce ponderile straturilor anterioare se actualizează — un fenomen numit „internal covariate shift” — forțând straturile ulterioare să se adapteze continuu la aceste schimbări, ceea ce încetinește și destabilizează procesul de învățare.
Prin normalizarea valorilor la nivelul fiecărui „batch” (grup de exemple procesate simultan) de antrenament, tehnica stabilizează și accelerează semnificativ convergența rețelei, permițând folosirea unor rate de învățare mai mari fără riscul de divergență, și reducând sensibilitatea rezultatului final la modul specific de inițializare a ponderilor rețelei.
Un efect secundar valoros al normalizării batch este un anumit grad de regularizare implicită — reduce ușor tendința rețelei de a se supraadapta (overfitting) la datele de antrenament, deoarece introduce o mică variație aleatorie prin dependența calculelor de compoziția specifică a fiecărui batch. Datorită acestor beneficii, normalizarea batch a devenit o componentă standard în aproape toate arhitecturile moderne de rețele neuronale profunde folosite pentru viziune computerizată și, în variante adaptate, pentru procesarea limbajului natural.
