Sklon klesání - Gradient descent

Gradient Descent ve 2D

Gradient klesání je prvního řádu iterativní optimalizační algoritmus pro nalezení lokálního minima o diferencovatelné funkce . Cílem je provést opakované kroky v opačném směru gradientu (nebo přibližného gradientu) funkce v aktuálním bodě, protože toto je směr nejstrmějšího klesání. Naopak vykročení ve směru gradientu povede k lokálnímu maximu této funkce; postup je pak znám jako gradientový výstup .

Gradientový sestup je obecně přisuzován Cauchymu , který jej poprvé navrhl v roce 1847. Hadamard nezávisle navrhl podobnou metodu v roce 1907. Jeho konvergenční vlastnosti pro problémy s nelineární optimalizací poprvé studoval Haskell Curry v roce 1944, přičemž metoda se stále více studovala. a používané v následujících desetiletích, často také nazývané nejstrmější klesání.

Popis

Ilustrace přechodu sestupu na sérii sad úrovní

Gradient klesání je založen na pozorování, že v případě, že multi-variabilní funkce je definována a diferencovatelná v okolí bodu , pak klesá nejrychleji pokud jde od ve směru záporného gradientu na . Z toho vyplývá, že pokud

tedy na dostatečně malou . Jinými slovy, výraz je odečten, protože se chceme pohybovat proti přechodu směrem k místnímu minimu. S ohledem na toto pozorování člověk začíná odhadem lokálního minima a považuje sekvenci za takovou

Máme monotónní posloupnost

doufejme, že posloupnost konverguje k požadovanému místnímu minimu. Všimněte si toho, že hodnota velikosti kroku se může měnit při každé iteraci. S určitými předpoklady funkce (například konvexní a Lipschitz ) a konkrétními možnostmi (např. Zvolenými buď pomocí řádkového vyhledávání, které splňuje podmínky Wolfe , nebo metodou Barzilai – Borwein ukázanou níže),

lze zaručit konvergenci na místní minimum. Je-li funkce je konvexní , všechny lokální minima jsou také globální minima, takže v tomto případě gradientu sestupu může konvergovat ke globálnímu řešení.

Tento proces je znázorněn na sousedním obrázku. Zde se předpokládá, že je definován v rovině, a že jeho graf má tvar misky . Modré křivky jsou vrstevnice , tj. Oblasti, ve kterých je hodnota konstantní. Červená šipka pocházející z bodu ukazuje směr negativního přechodu v tomto bodě. Všimněte si, že (negativní) gradient v bodě je ortogonální k vrstevnici procházející tímto bodem. Vidíme, že gradientový sestup nás vede ke dnu mísy, tedy do bodu, kde je hodnota funkce minimální.

Analogie pro pochopení gradientového sestupu

Mlha v horách

Základní intuici za klesáním lze ilustrovat na hypotetickém scénáři. Člověk uvízl v horách a snaží se dostat dolů (tj. Snaží se najít globální minimum). Je hustá mlha, takže viditelnost je extrémně nízká. Proto cesta dolů z hory není vidět, a tak musí k nalezení minima použít místní informace. Mohou použít metodu gradientového klesání, která zahrnuje pohled na strmost kopce v jejich aktuální poloze, poté postup ve směru s nejstrmějším klesáním (tj. Z kopce). Pokud se pokoušeli najít vrchol hory (tj. Maximum), postupovali by ve směru nejstrmějšího stoupání (tj. Do kopce). Pomocí této metody by nakonec našli cestu dolů z hory nebo by se mohli zaseknout v nějaké díře (tj. Místním minimu nebo sedlovém bodě ), jako horské jezero. Předpokládejme však také, že strmost kopce není při jednoduchém pozorování hned zřejmá, ale spíše vyžaduje promyšlený nástroj k měření, který dotyčný v danou chvíli náhodou má. Měření strmosti kopce nástrojem trvá docela dlouho, a proto by měli minimalizovat používání nástroje, pokud se chtěli dostat z hory před západem slunce. Obtížností pak je zvolit frekvenci, s jakou by měli měřit strmost kopce, aby nevyjížděli ze stopy.

V této analogii osoba představuje algoritmus a cesta vedená po horách představuje posloupnost nastavení parametrů, které algoritmus prozkoumá. Strmost kopce představuje sklon chybové plochy v daném bodě. Přístroj používaný k měření strmosti je diferenciace (sklon chybové plochy lze vypočítat derivací funkce čtvercové chyby v daném bodě). Směr, kterým se rozhodnou cestovat, je v souladu s gradientem chybové plochy v daném bodě. Doba, kterou stráví před provedením dalšího měření, je velikost kroku.

Příklady

Gradientový sestup má problémy s patologickými funkcemi, jako je zde zobrazená Rosenbrockova funkce .

Funkce Rosenbrock má úzké zakřivené údolí, které obsahuje minimum. Dno údolí je velmi ploché. Kvůli zakřivenému plochému údolí optimalizace pomalu kličkuje s malými velikostmi kroků směrem k minimu. Whiplash Gradient Descent řeší tento problém zvlášť.

Banana-SteepDesc.gif

Klikatá povaha metody je také evidentní níže, kde je aplikována metoda sestupného gradientu

Algoritmus sestupu gradientu v akci.  (1: obrys)Algoritmus sestupu gradientu v akci.  (2: povrch)

Volba velikosti kroku a směru klesání

Protože použití příliš malé velikosti kroku by zpomalilo konvergenci a příliš velké by vedlo k divergenci, je nalezení dobrého nastavení důležitým praktickým problémem. Philip Wolfe také obhajoval používání „chytrých voleb směru [sestupu]“ v praxi. Zatímco použití směru, který se odchyluje od nejstrmějšího směru sestupu, se může zdát neintuitivní, myšlenka je, že menší sklon může být kompenzován tím, že bude udržován na mnohem delší vzdálenosti.

Abychom o tom mohli uvažovat matematicky, použijme velikost směru a kroku a zvažme obecnější aktualizaci:

.

Nalezení dobrého nastavení a vyžaduje trochu přemýšlení. Nejprve bychom chtěli, aby směr aktualizace směřoval z kopce. Matematicky, nechat označovat úhel mezi, a to vyžaduje, abychom řekli více, potřebujeme více informací o objektivní funkci, kterou optimalizujeme. Za poměrně slabého předpokladu, který je průběžně diferencovatelný, můžeme dokázat, že:

 

 

 

 

( 1 )

Tato nerovnost znamená, že částka, o kterou si můžeme být jisti, že je funkce snížena, závisí na kompromisu mezi těmito dvěma termíny v hranatých závorkách. První člen v hranatých závorkách měří úhel mezi směrem sestupu a záporným přechodem. Druhý termín měří, jak rychle se přechod mění ve směru sestupu.

V zásadě by nerovnost ( 1 ) mohla být optimalizována a zvolit optimální velikost a směr kroku. Problém je v tom, že vyhodnocení druhého členu v hranatých závorkách vyžaduje vyhodnocení a další hodnocení gradientů je obecně nákladné a nežádoucí. Některé způsoby, jak tento problém vyřešit, jsou:

  • Zřekněte se výhod chytrého směru sestupu nastavením a pomocí řádkového vyhledávání najděte vhodnou velikost kroku , například takovou, která splňuje podmínky Wolfe .
  • Za předpokladu, že je to dvakrát diferencovatelné, použijte jeho pytlovinu k odhadu Pak vyberte a optimalizací nerovnosti ( 1 ).
  • Za předpokladu, že je to Lipschitz , použijte jeho Lipschitzovu konstantu k ohraničení Pak zvolte a optimalizací nerovnosti ( 1 ).
  • Vytvořte si vlastní model pro . Poté zvolte a optimalizací nerovnosti ( 1 ).
  • Za silnějších předpokladů funkce, jako je konvexita , mohou být možné pokročilejší techniky .

Obvykle při dodržení jednoho z výše uvedených receptů lze zaručit konvergenci k místnímu minimu. Je-li funkce je konvexní , všechny lokální minima jsou také globální minima, takže v tomto případě gradientu sestupu může konvergovat ke globálnímu řešení.

Řešení lineárního systému

Algoritmus nejstrmějšího klesání aplikovaný na Wienerův filtr

Gradient descent lze použít k řešení soustavy lineárních rovnic

přeformulován jako problém kvadratické minimalizace. Pokud je matice systému skutečná symetrická a pozitivně definovaná , je objektivní funkce definována jako kvadratická funkce s minimalizací

aby

Pro obecný skutečné matice , lineární metodou nejmenších čtverců definovat

V tradičních lineární metodou nejmenších čtverců pro skutečné a na euklidovské normy se používá, a v tomto případě

Linka vyhledávání Minimalizace, zjištění místně optimální velikost kroku na každé iteraci, může být provedena analyticky pro kvadratické funkce a explicitních vzorců pro místně optimální nejsou známy.

Například pro skutečnou symetrickou a pozitivně definovanou matici může jednoduchý algoritmus vypadat následovně,

Abychom se vyhnuli násobení dvakrát za iteraci, poznamenáváme, že to znamená , což dává tradiční algoritmus,

Metoda se zřídka používá k řešení lineárních rovnic, přičemž metoda konjugovaného gradientu je jednou z nejpopulárnějších alternativ. Počet poklesu gradientu iterací je obecně úměrná spektrální číslo stavu systémové matrice (poměr maximální na minimální vlastní hodnoty o ) , přičemž konvergence metody sdružených gradientů je obvykle určena odmocnině počtu stavu, tedy , je mnohem rychlejší. Obě metody mohou těžit z předběžného kondicionování , kde gradientový sestup může vyžadovat méně předpokladů na kondicionéru.

Řešení nelineárního systému

Gradient descent lze také použít k řešení soustavy nelineárních rovnic . Níže je uveden příklad, který ukazuje, jak pomocí sestupu přechodu vyřešit tři neznámé proměnné x 1 , x 2 a x 3 . Tento příklad ukazuje jednu iteraci gradientového sestupu.

Uvažujme nelineární soustavu rovnic

Pojďme si představit přidruženou funkci

kde

Nyní lze definovat objektivní funkci

které se pokusíme minimalizovat. Jako počáteční odhad použijme

Víme, že

kde je jakobijská matice dána vztahem

Vypočítáme:

Tím pádem

a

Na tento příklad byla použita animace zobrazující prvních 83 iterací klesání. Plochy jsou povrchy podle aktuálního odhadu a šipky ukazují směr sestupu. Vzhledem k malé a konstantní velikosti kroku je konvergence pomalá.

Nyní se musí najít vhodný takový, aby

To lze provést pomocí libovolného z řady algoritmů pro řádkové vyhledávání . Dalo by se také jednoduše hádat, co dává

Vyhodnocení objektivní funkce na této hodnotě, výnosy

Snížení z na hodnotu následujícího kroku

je značný pokles objektivní funkce. Další kroky by jeho hodnotu dále snižovaly, dokud by nebylo nalezeno přibližné řešení systému.

Komentáře

Gradient descent funguje v prostorech libovolného počtu dimenzí, dokonce i v nekonečně dimenzionálních. V druhém případě je vyhledávací prostor obvykle funkčním prostorem a vypočítá se Fréchetova derivace funkčního prvku, který má být minimalizován, aby se určil směr sestupu.

Že gradientový sestup funguje v libovolném počtu dimenzí (alespoň konečný počet), lze považovat za důsledek Cauchy-Schwarzovy nerovnosti . Tento článek dokazuje, že velikost vnitřního (tečkového) součinu dvou vektorů jakékoli dimenze je maximalizována, když jsou kolineární. V případě gradientového sestupu by to bylo tehdy, když je vektor nezávislých variabilních úprav úměrný gradientovému vektoru parciálních derivací.

Pokud je zakřivení v různých směrech pro danou funkci velmi odlišné, může gradientový sestup počítat mnoho iterací pro výpočet lokálního minima s požadovanou přesností . U takových funkcí předkondicionování , které mění geometrii prostoru tak, aby tvarovalo sady úrovní funkcí, jako jsou soustředné kruhy , léčí pomalou konvergenci. Konstrukce a použití předběžné úpravy však mohou být výpočetně nákladné.

Klesání gradientu lze kombinovat s hledáním řádků , při každé iteraci se najde lokálně optimální velikost kroku. Provádění řádkového vyhledávání může být časově náročné. Naopak použití fixní malé může vést ke špatné konvergenci.

Lepšími alternativami mohou být metody založené na Newtonově metodě a inverzi Hessianů pomocí technik konjugovaného gradientu . Obecně se takové metody sbližují v menším počtu iterací, ale náklady na každou iteraci jsou vyšší. Příkladem je metoda BFGS, která spočívá ve výpočtu na každém kroku matice, pomocí které se násobí vektor přechodu, aby se dostal do „lepšího“ směru, v kombinaci se sofistikovanějším algoritmem pro vyhledávání řádků , abychom našli „nejlepší“ hodnotu For extrémně velké problémy, kde dominují problémy s pamětí počítače, měla by být použita metoda omezené paměti, jako je L-BFGS, místo BFGS nebo nejstrmější klesání.

Na gradientový sestup lze pohlížet jako na použití Eulerovy metody pro řešení běžných diferenciálních rovnic na gradientový tok . Na druhé straně může být tato rovnice odvozena jako optimální regulátor pro řídicí systém s uvedením ve formě zpětné vazby .

Modifikace

Gradientový sestup se může sbíhat na místní minimum a zpomalovat v sousedství sedlového bodu . I pro neomezenou kvadratickou minimalizaci gradientový sestup vyvíjí cik-cak vzor následných iterací, jak iterace postupují, což má za následek pomalou konvergenci. K řešení těchto nedostatků bylo navrženo několik modifikací klesání.

Metody rychlého přechodu

Yurii Nesterov navrhl jednoduchou modifikaci, která umožňuje rychlejší konvergenci konvexních problémů a od té doby se dále generalizuje. Pro neomezené hladké problémy se tato metoda nazývá metoda rychlého přechodu (FGM) nebo metoda zrychleného přechodu (AGM). Konkrétně, pokud je diferencovatelná funkce konvexní a je Lipschitzova a nepředpokládá se, že je silně konvexní , pak bude chyba v objektivní hodnotě generované v každém kroku metodou gradientového sestupu ohraničena . Pomocí Nesterovovy akcelerační techniky se chyba snižuje při . Je známo, že míra pro snížení nákladové funkce je optimální pro optimalizační metody prvního řádu. Existuje však příležitost vylepšit algoritmus snížením konstantního faktoru. Optimalizována metoda gradientu (OGM) snižuje, že konstanta o faktor dva a je metoda optimální prvního řádu pro problémy ve velkém měřítku.

U omezených nebo nehladkých problémů se Nesterovova FGM nazývá metoda rychlého proximálního gradientu (FPGM), zrychlení metody proximálního gradientu .

Metoda hybnosti nebo těžkého míče

Snaží prolomit klikatá vzor poklesu gradientu se hybnost nebo těžký způsob koule používá hybnost termín v analogii k těžkým míč posuvné na povrchu hodnot funkce je minimalizována, nebo pohybu hmoty v newtonovské dynamiky prostřednictvím Viskozní médium v ​​konzervativním silovém poli. Gradient descent with hybnost si pamatuje aktualizaci řešení při každé iteraci a určuje další aktualizaci jako lineární kombinaci přechodu a předchozí aktualizace. Pro neomezenou kvadratickou minimalizaci je hranice teoretické míry konvergence metody těžké koule asymptoticky stejná jako pro metodu optimálního gradientu konjugátu .

Tato technika se používá v Stochastic gradient descent#Momentum a jako rozšíření algoritmů zpětné propagace používaných k trénování umělých neuronových sítí .

Rozšíření

Klesání gradientu lze prodloužit tak, aby zvládalo omezení zahrnutím projekce na sadu omezení. Tato metoda je realizovatelná pouze tehdy, když je projekce efektivně vyčíslitelná na počítači. Za vhodných předpokladů tato metoda konverguje. Tato metoda je specifickým případem dopředně-zpětného algoritmu pro monotónní inkluze (který zahrnuje konvexní programování a variační nerovnosti ).

Viz také

Reference

Další čtení

externí odkazy

arxiv.org/2108.1283