Novinky / Hry

Matematické vysvětlení hlubokého učení

Hluboké učení dramaticky změnilo oblast strojového učení (a v důsledku toho i svět), protože strojové učení je nyní mnohem šířeji aplikováno na různé aplikační scénáře – jako jsou doporučovací systémy, rozpoznávání řeči, autonomní řízení a automatické hraní. V roce 2018 byli profesor Joshua Bengio, Geoffrey Hinton a Yann Lecun oceněni Turingovou cenou (často označovanou jako „Nobelova cena za výpočetní techniku“) za jejich přínos k hlubokému učení. Hluboké učení je však stále mnohými výzkumníky a odborníky považováno za černou skříňku a teoretická vysvětlení základního mechanismu jsou stále netrpělivě očekávána. Pojďme tedy prozkoumat, proč je základní princip hlubokého učení docela obecný prostřednictvím vztahů mezi nejmodernějšími modely hlubokého učení a několika ranými modely, které nespadají pod hlavičku hlubokého učení (včetně modelu, který jsem společně vymyslel).

Neuronové sítě lze interpretovat buď jako univerzální aproximátory funkcí nebo jako informační procesory. Pokusíme se vysvětlit mechanismus hlubokého učení z pohledu univerzálních aproximátorů funkcí. Univerzální funkční aproximace je tradičním tématem a podíváme se na některé neuronové sítě před a v éře hlubokého učení. Prostřednictvím jejich podobností a rozdílů ukážeme, proč musí být neuronové sítě hluboké a jak hluboké skutečně musí být. A naše teorie se velmi dobře shoduje s konvolučními neuronovými sítěmi, které se v současnosti používají.

Tradiční neuronové sítě

Modely neuronových sítí mají dlouhou historii. A jeho aktivační funkcí je typicky sigmoidální funkce nebo hyperbolická tečná funkce. Vícevrstvé neuronové sítě byly nazývány vícevrstvým perceptronem (MLP) [1]. A mohl by být trénován metodou backpropagation, kterou navrhli David Rumelhart, Geoffrey Hinton a Ronald Williams v roce 1986, což je v podstatě metoda založená na gradientu. Tyto aktivační funkce jsou nelineární a plynulé. Mají také časné zvonovité deriváty a pevné rozsahy. Například sigmoidální funkce rychle posouvá výstupní hodnotu směrem k 0 nebo 1, zatímco funkce hyperbolické tečny rychle posouvá výstupní hodnotu směrem k -1 nebo 1. Díky tomu se dobře hodí pro klasifikační problémy. S přibývajícím počtem vrstev však začnou gradienty mizet díky použití metody backpropagation. Modely MLP se skrytou vrstvou byly proto v té době asi nejrozšířenější.

Je také široce známo, že rektifikovaná lineární jednotka (ReLU) byla použita jako aktivační funkce v modelech hlubokého učení jako náhrada za sigmoidální a hyperbolické tečné funkce. Jeho matematický tvar je tak jednoduchý jako max {0, x} a má jiný název funkce rampy. Důvodem pro jeho použití je, že jeho sklon vzhledem k x je 1, takže gradient nikdy nezmizí, když se zvýší počet vrstev. Podívejme se blíže na hluboké neuronové sítě z pohledu ReLU.

Po částech spojité lineární funkce

Jedním z prvních modelů využívajících ReLU pro regresi a klasifikaci byly modely kloubových nadrovin, které navrhl Leo Breiman v roce 1993 [2]. Profesor Breiman byl průkopníkem ve strojovém učení a jeho práce široce překlenuje oblasti statistiky a informatiky. Model je součtem řady pantů, a proto jej lze považovat za základní funkční model jako B-spline a waveletový model. Každý pant ve svém modelu je ve skutečnosti maximální nebo minimální funkcí dvou lineárních funkcí. Tento model lze použít jak pro regresi, tak pro klasifikaci. Binární klasifikační problém lze považovat přímo za regresní problém, zatímco vícetřídní klasifikační problém lze považovat za vícenásobný regresní problém.

Model navržený Breimanem lze považovat za jednorozměrné spojité po částech lineární (CPWL) funkce. Shunning Wang v roce 2004 prokázal, že tento model může reprezentovat libovolné spojité po částech lineární funkce v jedné dimenzi a vnoření takových typů modelů je nezbytné pro reprezentaci libovolných funkcí CPWL s vícerozměrnými vstupy. [3]. Na základě tohoto teoretického výsledku navrhl Ian Goodfellow v roce 2013 hlubokou neuronovou síť ReLU s názvem Maxout networks [4]. Teoretickým základem pro použití funkcí CPWL k aproximaci libovolných nelineárních funkcí je jednoduše Taylorův teorém pro vícerozměrné funkce v počtu.

Od 1970. let minulého století Leon O. Chua a další výzkumníci navrhovali celulární neuronovou síť, která by reprezentovala funkce CPWL se vstupy v různých dimenzích [5][6][7]. Profesor Leon Chua významně přispěl na poli obvodů a systémů a tato práce získala prestižní ocenění od komunity neuronových sítí. Potřeba komplikovanější nelineární komponenty pro reprezentaci struktury se vstupy dvou nebo více dimenzí byla způsobena široce známým problémem lineární oddělitelnosti ve strojovém učení. V Breimanově modelu se všechny limity odehrávají, když jsou dvě lineární funkce v každém pantu stejné, takže všechny limity jsou lineární a účinné v celé doméně. Nemůže tedy reprezentovat funkce CPWL s dvourozměrnými vstupy jako příklad na obrázku 1 [8].

Obrázek 1. Funkce CPWL s dvourozměrným vstupem

Chuaův model zvolil použití vnořených absolutních funkcí pro konstrukci nelineárních komponent modelu a úroveň vnoření se rovná rozměru vstupu. Takže tento model může mít spoustu parametrů, když je vstupní rozměr vysoký.

V roce 2005 Shunning Wang a Xusheng Sun zobecnili model kloubové nadroviny na libovolné rozměry [8]. Dokázali, že libovolnou CPWL funkci lze reprezentovat součtem maximálních nebo minimálních funkcí nejvýše N + 1 lineárních funkcí, kde N je rozměr vstupu. Rovněž poukázali na to, že je ekvivalentní hluboké neuronové síti se dvěma charakteristikami: za prvé, funkce rampy se používá jako aktivační funkce; za druhé, maximální počet vrstev je strop log2(N+1), kde N je rozměr vstupu. To značně snížilo teoretický limit počtu vrstev. A obecně lze tento model trénovat pomocí metod založených na gradientech. Během posledního desetiletí bylo v oblasti algoritmů a architektury vykonáno mnoho práce, aby se školení zlepšilo a zjednodušilo.

Modely hlubokého učení

Jedním z velkých milníků v historii hlubokého učení je AlexNet použitý v soutěži ImageNet v roce 2012 [9]. Alex Krizhevsky, Ilya Sutskever a Geoffrey Hinton navrhli model hluboké neuronové sítě, který se skládá z 8 konvolučních nebo hustých vrstev a několika vrstev maximálního shlukování. Síť dosáhla chyby v testu 5 nejlepších 15,3 %, což je o více než 10,8 procentních bodů méně než druhá. Jeho vstup je 224*224 v každém z RGB kanálů, takže jeho celkový rozměr je 224*224*3. Náš limit hloubky neuronové sítě je tedy 18. Pokud je tedy limit významný, byly by možné hlubší neuronové sítě pro zvýšení přesnosti. Karen Simonyan a Andrew Zisserman navrhli model VGG v roce 2014 [10]. Má typické varianty s 16 nebo 19 konvolučními nebo hustými vrstvami a dále vylepšenou přesností podle očekávání. To se dobře shoduje s naší teorií a existuje alespoň jedna další věc, kterou lze udělat, aby se přesnost v některých případech ještě zvýšila.

V AlexNet a VGG je hloubka zakončení podsítě u každé funkce povolení stejná. Ve skutečnosti stačí zaručit, že dostatečný počet prvků v sítích nebude mělčí než limit. Jinými slovy, počet lineárních funkcí v každé maximální nebo minimální funkci ve zobecněném kloubovém modelu nadroviny by mohl být v praxi flexibilní. A mohlo by být parametricky efektivnější mít některé součásti s ještě větší hloubkou a některé součásti s menší hloubkou. Kaiming He, Xiangyu Zhang, Shaoqing Ren a Jian Sun navrhli model ResNet v roce 2015 [11]. Tento model se rozhodl nechat některé komponenty obejít některé předchozí vrstvy. Obecně je tento model hlubší a užší a má variantu hlubokou až 152 vrstev a má ještě lepší přesnost.

V tomto článku jsme se zaměřili na konvoluční neuronové sítě. Další hluboké neuronové sítě, jako jsou rekurentní neuronové sítě, je třeba vysvětlit jinými teoriemi. Kromě toho stále existují nové inovace v oblasti aktivačních funkcí, jako je exponenciální lineární jednotka (ELU) [12]. Podle mého názoru se díky modelovacím a školicím algoritmům, dostupnosti dat, výpočetní infrastruktuře a aplikačním scénářům v dnešní době široce uplatňuje hluboké učení.

Reference:

[1] DE Rumelhart, GE Hinton a RJ Williams (1986) Učení reprezentací zpětným šířením chyb. Nature, 323, 533-536.

[2] L. Breiman, „Articulated Hyperplanes for Function Regression, Classification, and Approximation“, IEEE Trans. Inf. Teorie, sv. 39, č. 3, str. 999-1013, květen 1993.

[3] S. Wang, „Obecné konstruktivní reprezentace pro spojité lineární funkce po kusech“, IEEE Trans. Systémové obvody Já, Reg. Papers, sv. 51, č.p. 9, str. 1889-1896, září 2004.

[4] IJ Goodfellow, D. Warde-Farley, M. Mirza, A. Courville a Y. Bengio. „Maxout Networks“, ICML, 2013.

[5] LO Chua a SM Kang, “Piecewise Sectional Linear Functions: Canonical Representation, Properties and Applications”, IEEE Trans. System Circuits, sv. CAS-30, č. 3, str. 125-140, březen 1977.

[6] LO Chua a AC Deng, „Kanonická po částech lineární reprezentace“, IEEE Trans. System Circuits, sv. 35, č. 1, str. 101-111, leden 1988.

[7] J. Lin a R. Unbehauen, “Canonical Piecewise Linear Networks,” IEEE Trans. Neural Netw., sv. 6, č. 1, str. 43-50, leden 1995.

[8] S. Wang a X. Sun, „Zobecnění závěsných nadrovin“, v IEEE Transactions on Inf. Teorie, sv. 51, č.p. 12, str. 4425-4431, prosinec 2005.

[9] A. Križevskij, I. Sutskever a G. Hinton. Klasifikace Imagenet s hlubokými konvolučními neuronovými sítěmi. NIPS, 2012.

[10] K. Simonyan a A. Zisserman. „Velmi hluboké konvoluční sítě pro rozpoznávání obrazu ve velkém měřítku“, ICLR, 2015.

[11] K. He, X. Zhang, S. Ren a J. Sun. Hluboké zbytkové učení pro rozpoznávání obrazu. CVPR, 2015.

[12] D.-A. Clevert, T. Unterthiner a S. Hochreiter, „Fast and Accurate Deep Network Learning by Exponencial Linear Units (ELUS)“, ICLR, 2016.


Ani Roblox Corporation, ani tento blog nepodporuje ani nepodporuje žádnou společnost nebo službu. Dále se neposkytují žádné záruky ani sliby týkající se přesnosti, spolehlivosti nebo úplnosti informací obsažených v tomto blogu.

Tento blogový příspěvek se původně objevil na blogu Roblox Tech.