Conditionering & zigzag

Hoe modellen daadwerkelijk leren, van gewone gradient descent tot Adam

Gradiëntafdaling gedraagt zich heel anders op een rond verliesoppervlak dan op een uitgerekt oppervlak. Conditionering meet die uitrekking. Slechte conditionering laat de optimizer zigzaggen: de ene richting is steil, de andere vlak.

Voor een kwadratisch verlies wordt de conditionering bepaald door de eigenwaarden van de Hessiaan. Het conditiegetal κ is de verhouding van de grootste tot de kleinste kromming.

In een flipperkast met strakke zijbumpers en een lange smalle uitgang stuitert een harde tik de bal heen en weer terwijl hij maar langzaam vooruit beweegt. Slechte conditionering doet hetzelfde met gradiëntafdaling: het stuitert in de steile richting en kruipt in de vlakke richting. De figuur hieronder is precies die machine. Schuif κ om de kom uit te rekken, laat de afdaling lopen, en kijk hoe het pad heen en weer kaatst over de smalle richting terwijl het langzaam vordert langs de lange. (Laat β voorlopig op 0 staan; hij krijgt de hoofdrol in de les over Momentum.)

Waar dit voorkomt in MLConditionering is één reden waarom de architectuur van een neuraal netwerk ertoe doet. Residuele verbindingen, normalisatielagen, initialisatieschema's en adaptieve optimizers maken het verlies allemaal makkelijker navigeerbaar door de effectieve meetkunde te veranderen die het gradiëntgebaseerde trainen ziet.
▶ Conditionering & zigzag
← Schema's & warmupMomentum →