Co znamená gradientní sestup
Gradientní sestup (gradient descent) je optimalizační algoritmus, kterým se učí většina modelů strojového učení. Model má tisíce až miliardy vnitřních čísel, kterým se říká váhy, a jejich správné hodnoty dopředu nikdo nezná. Gradientní sestup je najde tak, že opakovaně změří, jak moc se model plete, a pak váhy o kousek posune směrem, který chybu zmenší.
Chybu měří ztrátová funkce (loss function), jediné číslo, které říká, jak daleko jsou předpovědi modelu od správných odpovědí. Gradient je sklon této chyby: ukazuje, kterým směrem každou váhu změnit, aby ztráta klesla. Sestup znamená, že po tomto sklonu pořád scházíte dolů, dokud chyba není co nejmenší.
Lidsky řečeno
Představte si, že stojíte se zavázanýma očima na svahu a chcete se dostat do nejnižšího bodu. Ohmatáte zem kolem nohou, zjistíte, kterým směrem klesá nejprudčeji, a uděláte tam krok. Pak znovu ohmatáte a znovu vykročíte. Gradientní sestup dělá přesně tohle s chybou modelu: nahmatá sklon, sejde o krok dolů, opakuje, dokud není na dně údolí.
Proč na tom záleží
- Takhle učení doopravdy probíhá. Trénování neuronové sítě, doladění jazykového modelu i jednoduchá regrese, to všechno se nakonec scvrkne na gradientní sestup.
- Velikost kroku je skutečné rozhodnutí. Rychlost učení (learning rate) určuje, jak velký každý krok je. Když je moc velký, model údolí přeskočí. Když je moc malý, trénink trvá věčnost.
- Škáluje. Varianty jako stochastický gradientní sestup se dívají vždy na malou dávku dat, a právě to dělá trénink na obrovských datech zvládnutelným.
Na co si dát pozor
- Špatně nastavená rychlost učení. To je nejčastější příčina toho, že trénink utíká do nekonečna nebo se ploužím. Obvykle je to první věc, kterou se vyplatí ladit.
- Uvíznutí v lokálním minimu. Algoritmus najde nízký bod, ale ne ten úplně nejnižší. V praxi pomáhají z mělkých prohlubní ven setrvačnost (momentum) a moderní optimalizátory jako Adam.
- Špatná nebo neškálovaná data. Když mají vstupní hodnoty výrazně různé rozsahy, sklon ukazuje špatným směrem a trénink se trápí. Vstupy nejdřív normalizujte.
Související články
- Co je neuronová síť? - Struktura, kterou gradientní sestup vlastně trénuje.
- Machine learning vs deep learning - Kam tenhle způsob učení v širším obrázku patří.
- Co je fine-tuning? - Doladění existujícího modelu, které také běží na gradientním sestupu.
Chcete být o krok napřed?
Nenechte si utéct naše nejlepší postřehy. Žádný spam, jen praktické analýzy, pozvánky na exkluzivní eventy a shrnutí podcastů přímo do vaší schránky.
