Nejstrmější spád a cena za podmíněnost
Nejjednodušší nápad na světě: jdi tam, kde to klesá nejrychleji, tedy proti gradientu.
Funguje to a je to skoro vždycky špatný nápad. Důvod je geometrický a jde vidět na jednom obrázku: gradient míří kolmo na vrstevnici, a to není směr k minimu. Jsou to tytéž směry jen tehdy, když jsou vrstevnice kružnice.
Chyba klesá nejvýš faktorem (κ−1)/(κ+1) = 0,9048 za krok — proto to při κ = 1 trvá jeden krok a při κ = 60 desítky.
Kolik to stojí
Pro kvadratickou funkci se dá rychlost dokázat, a je nepříjemně konkrétní. Chyba klesá nejvýš faktorem
Při κ = 1 je faktor nula — hotovo na jeden krok. Při κ = 100 je to 0,980, takže na zlepšení o řád je potřeba přes sto kroků. A κ = 100 není patologie; je to běžný stav úlohy, kde jedna proměnná je v milimetrech a druhá v metrech.
Odtud plyne praktická rada, která nemá s optimalizací nic společného: škálujte proměnné. Když se vstupy převedou tak, aby všechny byly řádově jednotkové, číslo podmíněnosti spadne a s ním počet kroků. Je to nejlacinější zrychlení, jaké existuje, a nevyžaduje změnit ani řádek metody.
Kdy má tedy smysl
Když je proměnných tolik, že se Hessián nevejde do paměti — u neuronové sítě s miliony parametrů se nic jiného dělat nedá. Pak se ovšem používají varianty s hybností a adaptivním krokem, které dělají přesně to, co dělá zakřivení: pamatují si, kterým směrem už se šlo.
V robotice, kde má úloha typicky jednotky až desítky parametrů, je čistý gradientní sestup skoro vždy špatná volba. Je tady proto, aby bylo vidět, proti čemu se ostatní metody vymezují.