Otázka:
Jaké jsou alternativy přechodu?
Tropa
2014-05-09 12:21:38 UTC
view on stackexchange narkive permalink

Gradient Descent má problém se zaseknout v Local Minima. Abychom našli globální minima, musíme spustit exponenciální časy gradientního sestupu.

Může mi někdo říci o jakýchkoli alternativách gradientního sestupu, které se používají při učení neuronových sítí, spolu s jejich klady a zápory.

šest odpovědi:
Dikran Marsupial
2014-05-09 14:49:24 UTC
view on stackexchange narkive permalink

Jedná se spíše o problém s minimalizovanou funkcí než s použitou metodou, pokud je důležité najít skutečné globální minimum, použijte metodu jako simulované žíhání. Toto bude schopno najít globální minimum, ale může to trvat velmi dlouho.

V případě neuronových sítí nejsou místní minima nutně tak velkým problémem. Některá místní minima jsou způsobena skutečností, že můžete získat funkčně identický model permutací jednotek skryté vrstvy nebo negací vstupních a výstupních vah sítě atd. Také v případě, že místní minima jsou jen mírně neoptimální, pak rozdíl ve výkonu bude minimální, takže na tom nebude záležet. A konečně, a to je důležitý bod, klíčovým problémem přizpůsobení neurální sítě je přetížení, takže agresivní hledání globálních minim nákladové funkce pravděpodobně povede k přetížení a modelu, který funguje špatně.

Přidání regularizačního výrazu, např úbytek hmotnosti, může pomoci vyhladit nákladovou funkci, což může trochu omezit problém místních minim, a je to něco, co bych stejně doporučil jako prostředek, jak se vyhnout nadměrnému vybavení.

Nejlepší způsob, jak se vyhnout místním minimem v neuronových sítích je použití modelu Gaussova procesu (nebo neurální sítě s funkcí Radial Basis Function), které mají menší problémy s místními minimy.

Velmi pravdivé. Problém s nalezením globálního minima je přeceňován.
Overfitting se stane, když v modelu použijete mnoho parametrů (typický případ použití NN), _ne_ souvisí s místními minimy - alespoň ne zjevnými způsoby.Můžete se zaseknout ve špatném lokálním minimu i při malém NN, tj. S velmi málo volnými parametry.
@carlosayam regularizace pomáhá vyhnout se nadměrnému vybavení v parametrizovaných modelech (všimněte si, že existuje rozdíl) tím, že zabrání tomu, aby ztráta na cvičném vzorku byla příliš optimalizována.Do určité míry jsou minima (globální a místní) způsobena sadou hodnot parametrů využívajících nesmyslnou variaci vzorkování ve cvičném vzorku, což snižuje výkon generalizace.Hledání globálních minim v zásadě zaručuje, že dojde k vykořisťování.
@DikranMarsupial, můžete mít mnoho místních minim, a to i s jediným parametrem modelu.Závisí to na tvaru ztrátové funkce.Vymyšlený, ale jednoduchý příklad: $ L (\ omega) = (x _ {(1)} - \ omega) ^ 2 + (x _ {(2)} - \ omega) ^ 2 $, kde $ x _ {(1)},x _ {(2)} $ jsou nejbližší a 2. nejbližší sousedé k $ \ omega $.Je snadné vidět, že mezi dvěma po sobě jdoucími body je lokální minimum, tj. Čím více dat, tím více lokálních minim!Globální je dosaženo mezi nejbližšími body v datové sadě.To je extrémní, vím, ale viděl jsem podobné chování při řešení problémů se změnami.
@carlosayam samozřejmě hovoříme o neuronových sítích, nejvýznamnějším problémem, který má tendenci převyšovat nadparametrický model, takže agresivní hledání globálních minim pravděpodobně tento problém ještě zhorší.
@DikranMarsupial - Neměl jsem dost znaků na dokončení věty :) Viděl jsem podobné chování řešící problémy se změnami ... pomocí neuronových sítí.U tohoto druhu problémů je místní minimum obvykle špatné;takže nesouhlasím s tím, že tento problém je přeceňován.
@carlosayam „nadhodnocený“ neznamená „nedůležitý“, jen to, že se jedná o problém s neuronovými sítěmi, je obecně nadhodnocen.Se všemi metodami učení bude vždy problém, na všechno neexistuje všelék a vždy musíte diagnostikovat problémy s jakýmkoli modelem.
@DikranMarsupial, ano.Boční poznámka: jak můžete vidět [zde] (https://blog.keras.io/how-convolutional-neural-networks-see-the-world.html), gradientní sestup se používá k vizualizaci skrytých vrstev v konvolučních neuronových sítích, populární přístup.„Straku“ vidím jen jako jedno z mnoha místních minim - autor to ale takto nevidí a já věřím, že žádný orgán ne.Velká chyba podle mého názoru.
@carlosayam v takovém případě musíte prokázat, že existuje nižší minima, kde se to nestane - je třeba testovat hypotézy, aby byla víra oprávněná.
V takovém případě by to už nebyla víra.
@carlosayam omlouvám se, musím udělat lepší věci, než se dohadovat o formulaci.Ve vědě a statistikách, pokud chcete, aby vaše hypotézy byly přijímány ostatními, musíte spíše podávat důkazy, než si stěžovat na SE.
Všechno nejlepší kámo.
alfa
2014-05-20 17:53:59 UTC
view on stackexchange narkive permalink

Sestup gradientu je optimalizační algoritmus .

Existuje mnoho optimalizačních algoritmů, které pracují s pevným počtem skutečných hodnot silné>, které jsou korelované ( neoddělitelné ). Můžeme je rozdělit zhruba do 2 kategorií: optimalizátory založené na gradientech a optimalizátory bez derivací. Obvykle chcete použít přechod k optimalizaci neuronových sítí v supervizovaném prostředí, protože je to podstatně rychlejší než optimalizace bez derivací. Existuje mnoho optimalizačních algoritmů založených na gradientech, které byly použity k optimalizaci neuronových sítí:

  • Stochastic Gradient Descent (SGD), minibatch SGD, ...: You don Nemusíme hodnotit gradient pro celou tréninkovou sadu, ale pouze pro jeden vzorek nebo minibatch vzorků, je to obvykle mnohem rychlejší než dávkový gradientový sestup. Minibatche byly použity k vyhlazení přechodu a paralelizaci dopředné a zpětné propagace. Výhodou oproti mnoha dalším algoritmům je, že každá iterace je v O (n) (n je počet vah ve vašem NN). SGD obvykle nezasekne v lokálních minimech (!), Protože je stochastické.
  • Nelineární konjugovaný přechod: zdá se být velmi úspěšný v regresi, O (n), vyžaduje dávkový gradient (proto nemusí být tou nejlepší volbou pro velké datové sady)
  • L-BFGS: zdá se být velmi úspěšný při klasifikaci, používá hesenskou aproximaci, vyžaduje dávkový gradient
  • Levenberg-Marquardtův algoritmus (LMA): Toto je vlastně nejlepší optimalizační algoritmus, jaký znám. Má tu nevýhodu, že jeho složitost je zhruba O (n ^ 3). Nepoužívejte jej pro velké sítě!

A pro optimalizaci neuronových sítí bylo navrženo mnoho dalších algoritmů, můžete si vygooglit optimalizaci bez pytloviny nebo v-SGD (existuje mnoho typy SGD s adaptivními rychlostmi učení, viz např. zde).

Optimalizace pro NN není vyřešeným problémem! Podle mých zkušeností není největší výzvou najít dobré místní minimum. Úkolem však je dostat se z velmi plochých oblastí, vypořádat se s chybně podmíněnými chybovými funkcemi atd. To je důvod, proč LMA a další algoritmy, které používají aproximace hesenského zkratky, v praxi obvykle fungují tak dobře a lidé se snaží vyvíjet stochastické verze kteří používají informace druhého řádu s nízkou složitostí. Často velmi dobře vyladěná sada parametrů pro minibatch SGD je však lepší než jakýkoli složitý optimalizační algoritmus.

Obvykle nechcete najít globální optimum. Protože to obvykle vyžaduje přeplnění tréninkových dat.

Nechápu, jak tento příkaz souvisí s odpovědí.
anna-earwen
2014-05-12 15:34:33 UTC
view on stackexchange narkive permalink

Zajímavou alternativou k sestupu gradientu jsou populační tréninkové algoritmy, jako jsou evoluční algoritmy (EA) a optimalizace roje částic (PSO). Základní myšlenkou přístupů založených na populaci je, že je vytvořena populace kandidátních řešení (váhové vektory NN) a kandidátní řešení iterativně prozkoumávají prostor pro hledání, výměnu informací a případně konvergenci na minima. Protože se používá mnoho výchozích bodů (kandidátských řešení), výrazně se zvyšuje šance na sblížení globálních minim. Ukázalo se, že PSO a EA fungují velmi konkurenceschopně, často (i když ne vždy) a překonávají gradientní sestup v komplexních problémech tréninku NN.

+1 Je třeba mít na paměti, že agresivní optimalizace tréninkového kritéria pravděpodobně povede k přílišnému přizpůsobení, pokud nebudou přijata opatření k jeho prevenci, takže bych se vyhnul PSO a EA, pokud tréninkové kritérium nezahrnuje nějakou formu regularizace nebo jiné složitosti založené trest.
@anna-earwen, mohl byste prosím uvést nějaké reference, kde PSO funguje konkurenčně ve srovnání s SGD?
Bo Tian
2016-12-02 16:54:20 UTC
view on stackexchange narkive permalink

Vím, že toto vlákno je poměrně staré a ostatní odvedli skvělou práci při vysvětlování konceptů, jako jsou místní minima, overfitting atd. Protože však OP hledal alternativní řešení, pokusím se jedním přispět a doufám, že bude více inspirovat zajímavé nápady.

Myšlenkou je nahradit každou váhu w na w + t, kde t je náhodné číslo po Gaussově rozdělení. Konečný výstup sítě je pak průměrným výstupem přes všechny možné hodnoty t. To lze provést analyticky. Poté můžete problém optimalizovat pomocí gradientního klesání nebo LMA nebo jiných optimalizačních metod. Po dokončení optimalizace máte dvě možnosti. Jednou z možností je snížit sigma v Gaussově distribuci a provádět optimalizaci znovu a znovu, dokud sigma nedosáhne 0, pak budete mít lepší místní minimum (ale potenciálně by to mohlo způsobit přeplnění). Další možností je nadále používat ten s náhodným číslem v jeho vahách, obvykle má lepší vlastnost generalizace.

První přístup je optimalizační trik (říkám tomu konvoluční tunelování, protože používá konvoluci přes parametry pro změnu cílové funkce), vyhlazuje povrch krajiny nákladových funkcí a zbavuje se některých místních minim, čímž usnadňuje hledání globálního minima (nebo lepšího lokálního minima).

Druhý přístup souvisí se vstřikováním hluku (na vahách). Všimněte si, že se to provádí analyticky, což znamená, že konečným výsledkem je jedna síť namísto více sítí.

Následující příklady jsou příkladem výstupů pro problém se dvěma spirálami. Síťová architektura je pro všechny tři stejná: existuje pouze jedna skrytá vrstva 30 uzlů a výstupní vrstva je lineární. Použitý optimalizační algoritmus je LMA. Levý obrázek je pro nastavení vanilky; prostřední používá první přístup (jmenovitě opakované snižování sigma směrem k 0); třetí používá sigma = 2.

Result of two-spirals problem by three approaches

Vidíte, že vanilkové řešení je nejhorší, konvoluční tunelování odvádí lepší práci a vstřikování šumu (s konvolučním tunelováním) je nejlepší (z hlediska vlastnosti generalizace).

Obakonvoluční tunelování a analytický způsob vstřikování hluku jsou mé původní nápady.Možná jsou alternativou, kterou by někdo mohl zajímat.Podrobnosti naleznete v mé práci Kombinace nekonečného počtu neuronových sítí do jedné .Upozornění: Nejsem profesionální akademický spisovatel a příspěvek není recenzován.Pokud máte dotazy k přístupům, které jsem zmínil, zanechte prosím komentář.

alex
2015-03-10 08:01:10 UTC
view on stackexchange narkive permalink

Extreme Learning Machines V zásadě se jedná o neurální síť, kde váhy spojující vstupy se skrytými uzly jsou přiřazeny náhodně a nikdy nejsou aktualizovány. Váhy mezi skrytými uzly a výstupy se učí v jednom kroku řešením lineární rovnice (inverzní matice).

Tomasz Bartkowiak
2019-11-10 18:59:02 UTC
view on stackexchange narkive permalink

Pokud jde o úkoly Global Optimisation (tj. pokus o nalezení globálního minima objektivní funkce), možná byste se měli podívat na:

  1. Hledání vzoru (známé také jako přímé vyhledávání, vyhledávání bez derivátů nebo vyhledávání v černé skříni), které používá vzor (sada vektorů $ {\ {v_i \}} $ ) k určení bodů, které se mají hledat při další iteraci.
  2. Genetický algoritmus , který používá koncept mutace, křížení a výběru k definování populace bodů, které mají být hodnoceny při další iteraci optimalizace.
  3. Optimalizace roje částic , která definuje skupinu částic, které „procházejí“ prostorem a hledají minimum.
  4. Optimalizace náhrady , která používá model náhradní k aproximaci objektivní funkce. Tuto metodu lze použít, když je objektivní funkce nákladná na vyhodnocení.
  5. Optimalizace pro více cílů (také známá jako Paretova optimalizace ), kterou lze použít pro problém a kterou nelze vyjádřit ve formě, která má jedinou objektivní funkci (ale spíše vektor cílů).
  6. Simulované žíhání , které využívá koncept žíhání (neboli teploty) jako kompromis mezi průzkumem a těžbou. Navrhuje nové body pro vyhodnocení při každé iteraci, ale jak se počet iterací zvyšuje, „teplota“ klesá a algoritmus je stále méně pravděpodobný, že prozkoumá prostor, a tak se „sblíží“ k jeho aktuálnímu nejlepšímu kandidátovi.

Jak již bylo zmíněno výše, Simulované žíhání, Optimalizace rojů částic a Genetické algoritmy jsou dobré algoritmy globální optimalizace, které dobře procházejí obrovskými vyhledávacími prostory a na rozdíl od Gradient Descent nepotřebují žádnéinformace o přechodu a lze je úspěšně použít s objektivními funkcemi černé skříňky a problémy, které vyžadují spuštění simulací.



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...