Otázka:
Neuronové sítě vs všechno ostatní
MiloMinderbinder
2018-05-03 21:13:19 UTC
view on stackexchange narkive permalink

Nenašel jsem uspokojivou odpověď na tuto otázku od google .

Samozřejmě, pokud jsou data, která mám, řádově miliony, pak je cestou hluboké učení.

A četl jsem, že když nemám velká data, možná je lepší použít jiné metody ve strojovém učení. Uvedený důvod je přehnaně vhodný. Strojové učení: tj. Prohlížení dat, extrakce funkcí, tvorba nových funkcí ze shromažďovaných dat atd. Věci, jako je odstraňování silně korelovaných proměnných atd., Celé strojové učení 9 yardů.

A přemýšlel jsem: proč je to tak, že neurální sítě s jednou skrytou vrstvou nejsou všelékem na problémy se strojovým učením? Jsou to univerzální odhady, nadměrné přizpůsobení lze zvládnout s výpadkem, regulací l2, regularizací l1, dávkovou normalizací. Rychlost tréninku není obecně problém, pokud máme jen 50 000 příkladů tréninku. V testovacím čase jsou lepší než, řekněme, náhodné lesy.

Tak proč ne - vyčistit data, spočítat chybějící hodnoty, jako byste to obvykle dělali, vycentrovat data, standardizovat data, vrhnout je na soubor neuronových sítí s jednou skrytou vrstvou a aplikovat regularizaci, dokud neuvidíte žádné přílišné a pak je trénovat až do konce. Žádné problémy s přechodovou explozí nebo mizením přechodu, protože se jedná pouze o dvouvrstvou síť. Pokud by byly potřeba hluboké vrstvy, znamená to, že se mají naučit hierarchické funkce, a potom nejsou dobré ani jiné algoritmy strojového učení. Například SVM je neurální síť pouze se ztrátou pantů.

Byl by oceněn příklad, kdy by nějaký jiný algoritmus strojového učení překonal pečlivě regulovanou 2vrstvou (možná 3?) neuronovou síť. Můžete mi dát odkaz na tento problém a já bych trénoval tu nejlepší neuronovou síť, jakou umím, a uvidíme, jestli dvouvrstvá nebo třívrstvá neuronová síť nedosáhne žádného jiného srovnávacího algoritmu strojového učení.

Neuronové sítě JSOU algoritmus strojového učení ...
Určitě existují domény, kde je hluboké učení kralováním, jako je rozpoznávání obrázků, ale ve většině ostatních oblastí jim obvykle dominuje podpora gradientu, jak je zřejmé z pohledu výsledků soutěží Kaggle.
@MatthewDrury - opravdu je!omlouvám se, že jsem v terminologii mizerný.Doufám, že zpráva byla sdělena.změnou otázky, aby byla robustnější.Děkuji za poukázání
Pokud jde o hloubku sítě, určitě to zkontrolujte: https://stats.stackexchange.com/questions/182734/
https://en.wikipedia.org/wiki/No_free_lunch_in_search_and_optimization
V 90. letech Radford Neal ukázal, že se sítě 1 vrstvy stávají gaussovskými procesy na hranici skrytých uzlů.Lidé se tím nadchli a 20 let zkoumali praktické lékaře a počítali.Po 10–15 letech došlo k Deep Learning a v mnoha „tvrdých“ problémech si vedlo lépe.Podřizuji se tedy, že to není tak slibný nápad, jak se na první pohled zdá.
Dva odpovědi:
shimao
2018-05-03 21:41:40 UTC
view on stackexchange narkive permalink

Každý algoritmus strojového učení má jiné indukční zkreslení, takže není vždy vhodné používat neuronové sítě. Lineární trend se vždy naučí nejlépe jednoduchou lineární regresí, nikoli souborem nelineárních sítí.

Pokud se podíváte na vítěze minulých soutěží Kaggle, s výjimkou jakýchkoli výzev týkajících se obrazových / video dat, rychle zjistíte, že neuronové sítě nejsou řešením všeho. Některá minulá řešení zde.

uplatňujte regularizaci, dokud neuvidíte žádné nadměrné přizpůsobení, a poté je trénujte až do konce

Neexistuje žádná záruka, že můžete použít dostatečnou regularizaci, abyste zabránili přetížení, aniž byste úplně zničili kapacitu sítě, abyste se mohli cokoli naučit. V reálném životě je zřídka možné odstranit mezeru ve zkoušce vlaku, a proto papíry stále uvádějí výkon vlaku a zkoušky.

jsou to univerzální odhady

To platí pouze v mezích neomezeného počtu jednotek, což není realistické.

můžete mi dát odkaz na tento problém a já bych trénoval tu nejlepší neuronovou síť, jakou umím, a uvidíme, jestli dvouvrstvá nebo třívrstvá neurální síť nedosáhne žádného jiného srovnávacího algoritmu strojového učení

Příklad problému, který podle mě neurální síť nikdy nedokáže vyřešit: Vzhledem k celému číslu jej klasifikujte jako prime nebo non-prime.

Věřím, že by to bylo možné dokonale vyřešit jednoduchým algoritmem, který iteruje všechny platné programy ve vzestupné délce a najde nejkratší program, který správně identifikuje prvočísla. Tento třináctimístný řetězec regulárního výrazu se ve skutečnosti může shodovat s prvočísly, což by nebylo výpočetně náročné na vyhledávání.


Může regularizace převzít model z modelu, který převažuje nad modelem, který má svou reprezentační sílu, vážně omezenou regularizací? Nebude mezi tím vždycky to sladké místo?

Ano, má to své místo, ale je to obvykle tak, než přestanete přeplňovat. Viz tento obrázek:

http://gluon.mxnet.io/_images/regularization-overfitting.png

Pokud převrátíte vodorovnou osu a označíte ji jako „míru regularizace“, je to docela přesné - pokud ji budete regularizovat, dokud nedojde k žádnému přeplnění, bude vaše chyba obrovská. „Sweet spot“ nastane, když dojde k přeplnění, ale ne příliš.

Jak je jednoduchý algoritmus, který iteruje přes všechny platné programy v vzestupně a najde nejkratší program, který správně identifikuje prvočísla. “ algoritmus, který se učí?

Najde parametry $ \ theta $ tak, že máme hypotézu $ H (\ theta) $, která vysvětluje data, stejně jako backpropagation najde parametry $ \ theta $, které minimalizují ztrátu (a proxy, vysvětluje data). Pouze v tomto případě je parametrem řetězec namísto mnoha hodnot s plovoucí desetinnou čárkou.


Takže pokud vás správně pochopím, děláte argument, že pokud data nejsou podstatná, hluboká síť nikdy nedosáhne přesnosti ověření nejlepší mělké sítě vzhledem k nejlepším hyperparametrům pro oba?

Ano. Tady je ošklivá, ale doufejme, že účinná postava pro ilustraci mého názoru. https://i.imgur.com/nM3aI2l.png

ale to nedává smysl. hluboká síť se může naučit 1-1 mapování nad mělkým

Otázka nezní „může“, ale „bude“, a pokud trénujete backpropagation, odpověď pravděpodobně není.

Diskutovali jsme o tom, že větší sítě budou vždy fungovat lépe než menší sítě

Bez další kvalifikace je toto tvrzení špatné.

Děkuji ti za odpověď!Může regularizace převzít model z modelu, který převažuje nad modelem, který má svou reprezentační sílu vážně omezenou regularizací?Nebude mezi tím vždycky to sladké místo?
Pokud jde o váš problém s hračkou.Jak funguje „jednoduchý algoritmus, který iteruje se všemi platnými programy ve vzestupné délce a najde nejkratší program, který správně identifikuje prvočísla.“algoritmus, který se učí?
Vezměte prosím na vědomí poznámky k přednášce cs231n - „Diskutovali jsme o tom, že větší sítě budou vždy fungovat lépe než menší sítě, ale jejich vyšší kapacita modelu musí být odpovídajícím způsobem řešena silnější regularizací (například úbytkem vyšší hmotnosti), jinak by mohly být nadměrné.V dalších částech uvidíme více forem regularizace (zejména výpadku). 'http://cs231n.github.io/neural-networks-1/
@user46478 Upravil jsem odpověď na vaše otázky výše
"Neexistuje žádná záruka, že můžete použít dostatečnou regularizaci, abyste zabránili přetížení, aniž byste úplně zničili kapacitu sítě, abyste se mohli cokoli naučit."- Je mi líto, ale stále nerozumím tomuto tvrzení.Beru tréninková data, {vlak, val} rozdělit, vytvořit největší síť, kterou můj stroj umožňuje, zvýšit pravděpodobnost předčasného ukončení, dokud neuvidím minimalizovanou chybu ověření mezi chybami ověření, které dostávám při různých pravděpodobnostech předčasného ukončení.Může tento proces vést k zbytečnosti z příliš vybaveného modelu, aniž by prošel dobrým modelem?
@user46478 klíčový rozdíl spočívá v tom, že bod, ve kterém je minimalizována chyba ověření, se liší od bodu, ve kterém je minimalizováno overfitting.
ale je mi to jedno, že?ať je to model, který podle tohoto parametru overfituje.moje přesnost při ověřování je nejlepší proxy mám pro testovací data.Takže můžu udělat model opravdu obrovský, jak to dovolují moje výpočetní zdroje, a poté jej upravit, abych se dostal do bodu, kde je přesnost ověření maximální.Ukládám také modely, kde byla přesnost ověření maximální, nikoli tam, kde je chyba při tréninku minimální
pamatujte, že toto je vše, co je v rozporu s bodem, strojové učení vs hluboké učení, debaty mají ve prospěch strojového učení, že pokud je datová sada malá, model hlubokého učení bude přebírat, a proto PERFORM POORLY ON TEST SET
Než svůj hluboký model dostatečně upravíte, bude to horší než mělký model, který regularizaci nepotřebuje.
Ano, minimální ztráta ověření hluboké sítě bude pravděpodobně vyšší než minimální ztráta ověření nízké, pokud jsou data malá.
Nemůže fungovat horší než jiný model v módě „v čase“.buď bude vždy fungovat horší než nejlepší mělká, nebo bude horší než a bude lepší než nejlepší mělká síť.protože výkon je konečným výkonem na ověřovací sadě, nikoli na tréninkové sadě.takže pokud vás správně pochopím, děláte argument, že pokud data nejsou podstatná, hluboká síť nikdy nenarazí na přesnost ověření nejlepší mělké sítě vzhledem k nejlepším hyperparametrům pro oba?
ale to nedává smysl.hluboká síť se může naučit mapování 1: 1 nad mělkým
Vezměte prosím na vědomí poznámky k přednášce cs231n - „Diskutovali jsme o tom, že větší sítě budou vždy fungovat lépe než menší sítě, ale jejich vyšší kapacita modelu musí být odpovídajícím způsobem řešena silnější regularizací (například úbytkem vyšší hmotnosti), jinak by mohly překonat.V dalších částech uvidíme více forem regularizace (zejména výpadku). 'cs231n.github.io/neural-networks-1
Přečetl jsem si úpravy, které jste provedli v odpovědi.je to pokořující množství úsilí, které věnujete tomu, abyste mě vzdělávali.Děkuji!Pokud jde o nárok cs231n.Byla to chyba z mé strany.Znovu jsem prošel notami a jejich definice větší sítě je více neuronů ve stejné vrstvě na rozdíl od subjektu, spíše než větší počet vrstev.Přijímám odpověď.
user3684792
2018-05-04 01:21:54 UTC
view on stackexchange narkive permalink

Chtěl bych dodat, že neexistuje nic jako všelék na strojové učení:

Podle teorému žádný oběd zdarma:

Pokud si algoritmus vede dobře u určité třídy problémů, pak je to nutně platí za snížený výkon na množině všech zbývající problémy

To je velmi depresivní (ale nebojte se, nebudu argumentovat důsledky) 1. Při čtení toho chápu, že jde o algoritmy se stejným rozdělením na funkce, které se mohou naučit (což by znamenalo také stejnou doménu).Neuronové sítě lze tedy litovat pouze proti univerzálním odhadcům.2. Toto nemluví o tom, jak rychle se prohledává funkční prostor.Můžeme říci, že neurální síť se 2 skrytými vrstvami je nutně ekvivalentní nebo lepší než neurální síť s jednou skrytou vrstvou u každého problému?Myslím, že zde musí hodně fungovat předpoklad kontinuity
se správným vyladěním hyperparametru skáče dvě skryté vrstvené neurální sítě přes funkce, které mají podobné společné domény rychleji než jedna skrytá vrstvená neurální síť.vaše vstupy?
„Můžeme říci, že neurální síť se 2 skrytými vrstvami je nutně ekvivalentní nebo lepší než neurální síť s jednou skrytou vrstvou na každém problému.“Ne, bohužel ne.Jako pultový příklad si představte logistickou regresi (nn s nulovými skrytými vrstvami) vs 1vrstvá neuronová síť s počtem skrytých jednotek rovným počtu datových bodů pro plně oddělitelnou datovou sadu.Neexistují žádné informace o hranici rozhodnutí, že l.r.nemůže zachytit a vysoká složitost n.n.pravděpodobně přeplní
Souhlasím s prohlášením zde, ale chtěl jsem přidat standardní upozornění do NFL, také převzato ze stránky wikipedia: „Všimněte si, že NFL platí pouze v případě, že je cílová funkce vybrána z jednotného rozdělení všech možných funkcí“.
@user3684792 - Neexistují žádné informace o hranici rozhodnutí, které nedokáže zachytit také dvouvrstvá síť.Může se jednoduše naučit mapování 1: 1 na skryté vrstvě z 0. vrstvy a být logistickou regresí
@user3684792 - doprovázející mé prohlášení poznámkami z přednášky cs231n.„Diskutovali jsme o tom, že větší sítě budou vždy fungovat lépe než menší sítě, ale jejich vyšší kapacita modelu musí být odpovídajícím způsobem řešena silnější regularizací (například úbytkem vyšší hmotnosti), jinak by mohly být nadměrné.V dalších částech uvidíme více forem regularizace (zejména výpadku). 'http://cs231n.github.io/neural-networks-1/
@mkt - jen aby bylo jasno.se kterými výroky souhlasíte?
@user46478 Souhlasím s významem věty NFL v reakci na vaši otázku „proč je to tak, že neuronové sítě s jednou skrytou vrstvou nejsou všelékem na problémy strojového učení?“
@user46478 Toto tvrzení není pravdivé, pokud je v malé síti dostatečná kapacita modelu, aby se naučil hranici rozhodnutí, podle příkladu, který jsem uvedl.Druhá odpověď správně poznamenává, že prostřednictvím l2 atd. Nemůžete svévolně regulovat.
@user3684792 - zapomněl jsem sem dodat, že tam je definice větší sítě více neuronů v dané vrstvě.To NENÍ prohlášení o hloubce sítě.byla to chyba z mé strany, že jsem to nečetl správně.prosím downvote komentář, kde jsem se o tom zmínil


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 4.0, pod kterou je distribuován.
Loading...