Előreterjesztés
A tanítási folyamat két fázisból áll: előreterjesztésből és visszaterjesztésből. Az előreterjesztés (forward pass) során a bemeneti adatok áthaladnak a hálózat rétegein, és a végén kiszámítódik az előrejelzés — a modell kimenete.
Ezután a veszteségfüggvény (loss function) méri az előrejelzés és a valós érték eltérését. Osztályozási feladatoknál általánosan használt a keresztentrópia-veszteség (cross-entropy loss), regressziónál az átlagos négyzetes eltérés (MSE). A veszteség skalár értéke azt jelzi, mennyire pontatlan a jelenlegi modell.
A láncszabály alkalmazása
A visszaterjesztés matematikai alapja a differenciálszámításból ismert láncszabály (chain rule). Azt mondja ki, hogy egy összetett függvény deriváltja a belső és külső függvények deriváltjainak szorzata.
A hálózatban a veszteség egy adott súlytól való függése közvetett: a súly a következő réteg kimenetét befolyásolja, amely befolyásolja az utána következő réteg kimenetét, és így tovább egészen a végső veszteségig. A láncszabály lehetővé teszi, hogy ezt a hosszú közvetett összefüggést egyetlen gradienssé bontsuk fel.
A számítás a kimeneti rétegtől indul és visszafelé halad a bemeneti réteg felé — innen az elnevezés. Minden rétegben kiszámítódik a veszteség adott súlyra vett parciális deriváltja (gradiens).
Súlyfrissítés: gradiens alapú módszerek
Sztochasztikus gradiens módszer (SGD)
Az alapvető gradiens módszer minden egyes tanítási minta (vagy mini-batch) után frissíti a súlyokat a gradiens ellentétes irányába. A tanulási sebesség (learning rate) egy hiperparaméter, amely meghatározza a frissítés lépésnagyságát.
Túl nagy tanulási sebesség esetén a frissítés átugrorja a minimumot, túl kicsi esetén a konvergencia igen lassú. A tanulási sebesség megválasztása és ütemezése (learning rate schedule) a gyakorlati tanítás egyik kritikus aspektusa.
Momentum
A momentum mechanizmus az előző frissítések irányát is figyelembe veszi, ezzel simítva az optimalizálás trajektóriáját és segítve az oszcilláció csökkentését sekély területeken. A Nesterov-féle momentum variáns egy lépéssel előre tekint a gradiens kiszámítása előtt.
Adam
Az Adam (Adaptive Moment Estimation) optimalizáló 2014-ben jelent meg Kingma és Ba munkájában. Egyszerre adaptálja a tanulási sebességet minden paraméterre az első és második momentum becslések alapján. Robusztusabbnak és kevésbé érzékynek bizonyult a tanulási sebesség kezdeti értékének megválasztására, ezért napjaink egyik leggyakoribb alapválasztása lett.
Forrás: Kingma, D. P., Ba, J. (2015). „Adam: A Method for Stochastic Optimization". ICLR 2015. Az eredeti cikk elérhető: arxiv.org/abs/1412.6980
Regularizáció és túltanulás
Túltanulás (overfitting) akkor lép fel, amikor a modell a tanítóhalmazon nagyon jól teljesít, de általánosítási képessége gyenge — az ismeretlen adatokon rossz eredményt ad. A visszaterjesztés önmagában nem akadályozza meg ezt a jelenséget.
Elterjedt regularizációs módszerek:
- L2 regularizáció (weight decay): A veszteségfüggvényhez hozzáadja a súlyok négyzetének összegét, büntetve a nagy súlyértékeket.
- Dropout: Tanítás közben véletlenszerűen nulláz ki neuronokat, ami arra kényszeríti a hálózatot, hogy redundáns reprezentációkat tanuljon.
- Batch normalization: A rétegek bemenetét normalizálja mini-batch szinten, stabilizálva a tanítást és lehetővé téve nagyobb tanulási sebességek használatát.
- Korai leállítás (early stopping): A tanítást leállítja, ha az ellenőrzőhalmaz veszteséga meghatározott számú lépésen át nem csökken.
Gradienssel kapcsolatos problémák
Nagyon mély hálózatokban két ellentétes probléma léphet fel:
- Elhalványuló gradiens (vanishing gradient): A visszaterjesztett gradiens értéke egyre kisebb lesz, ahogy visszafelé halad a rétegeken keresztül, ami a korai rétegek tanulását lassítja vagy megakadályozza. Részleges megoldások: ReLU aktiváció, batch normalization, skip connections.
- Felrobbanó gradiens (exploding gradient): A gradiens értéke exponenciálisan nő, ami instabil tanítást okoz. Megoldás: gradiens vágás (gradient clipping), amelynél a gradiens értékét egy maximális küszöb alatt tartják.
A ResNet korábban említett skip connection mechanizmusa célzottan az elhalványuló gradiens problémájára adott strukturális megoldás, lehetővé téve a gradiens közvetlen áramlását több rétegen át.