Povedú výkonnejšie počítače k vývoju chytrých robotov?

Moorov zákon hovorí, že počet obvodov na čipe a teda výkon počítačov sa zdvojnásobí približne každé dva roky. Nižšie prikladám grafiku z Wikipédie ktorá znázorňuje evolúciu procesorov (počet elektrických obvodov na čipe) a takisto evolúciu kapacity pevných diskov. Mierka ypsilónovej osy je logaritmická a teda lineárny súvis vyjadruje exponenciálny rast.

Pre bežného uživatela od určitého momentu prestal byť tento vývoj taký vzrušujúci. Ja napríklad nevyužijem viac ako 50 gigabajtov pevného disku. Podobne, vyššia výkonnosť procesora napríklad reakčné časy internetového prehliadača nevylepší, keďže tieto sú prakticky nulové. (Výrobcovia hardwaru preto vytvorili s výrobcovami softvéru niečo ako kartel. Softvérové firmy vyrábajú exponenciálne pomalší softvér, napr. OS Microsoftu, ktorý núti užívateľov kupovať exponenciálne rýchlejšie procesory. )
Pre vedcov je však tento vývoj dôležitý. Modely na ktorých výpočet ste pred desiatimi rokmi potrebovali univerzitné výpočtové centrum môžete dnes simulovať doma na laptope. Bayesiánska štatistika sa stala do veľkej miery vôbec aplikovateľnou vďaka nárastu výpočtovej kapacity. Ak si prelistujete 15 rokov starú učebnicu bayesiánskych analýz nájdete v nej návody ako analyticky zjednodušiť vyhodnotiť modely a aj to len pre zopár prípadov pohodlného gausovského rozdelenia. Dnes by tieto modely nikoho nenapadlo zjednodušovať a analyticky vyhodnocovať. Simulácie modelov pomocou MCMC metód sú jednoduché, rýchle a zanedbateľne presné a môžete ich aplikovať bez problémov na negausovské prípady.

Od exponenciálneho rastu výpočtovej kapacity si viacerí výskumníci učenia strojov a umelej inteligencie sľubujú inteligentnejšie stroje. Výpočtová kapacita systémov, ktoré nájdete momentálne popísané v publikovanom výskume je primitívne jednoduchá oproti výpočtovej kapacite ľudského mozgu. Je tomu jednoducho pre to, že dostupné počítače nie sú dostatočne výkonné, aby umožnili simulácie komplexnejších modelov. To sa však časom zmení a ak sa Moorov zákon potvrdí aj do budúcnosti môžeme mať za 20 rokov počítače s výkonom ľudského mozgu. Vedci ako Jürgen Schmidhuber očakávajú, že vyvoju umelej inteligencie nestojí nič v ceste a dostaví sa automaticky. Kritici namietajú, že je naivné si myslieť, že stačí posunúť súčasné primitívne modely do ríše ziliónbajtov a zrazu z nich vyskočí niečo inteligentné. Stačí si spomenúť napríklad na Deep Blue, ktorý dokázal hrať šach vďaka vysokej výpočtovej kapacite avšak inak bol dosť sprostý. V konečnom dôsledku však až budúcnosť ukáže nakoľko je vyššia výpočtová kapicita kľúčom k umelej inteligencii. Najpravdepodobnejší scenár je, že  aplikácia súčasných modelov vo väčšej mierke nebude dostatočná. Avšak táto aplikácia umožní identifikovať ich limity a nové problémy. Nové problémy zasa povedú k vývoju lepších modelov.

Medzičasom sa samozrejme môžeme pozrieť na občasné výskumné expedície na hranice výpočtovej techniky. Naposledy zveril minulý rok Google Profesorovi Ng zo Stanfordovej Univerzity klúče od miešačky. Ng s kolegami (Le et al., 2012) postavili obrovskú neurónovú sieť pozostávajúcu z deviatich vrstiev s približne miliardou spojení (synáps). Tento kybermozog rozbehli po dobu troch dní na 16 tisíc (!!!) jadrách v labákoch Googlu v Kalifornií. Neurónovú sieť kŕmili 200×200 pixlovými obrázkami z internetu. Tréningovú vzorku tvorilo 10 miliónov obrázkov, ktoré autori získali ako snapshoty z videi na youtube.

Tréning prebiehal trochu inak ako u typických neurónových sietí. Vedci nepovedali neurónovej sieti čo sa má naučiť, ale trénovali ju, aby dokázala zrekonštruovať svoje vstupy – teda obrázky. Inak povedané neurónová sieť bola trénovaná aby výstupné neuróny na konci vypľuli rovnaký obrázok, ktorý enkódujú vstupné neuróny. Táto úloha nevyzerá moc zaujímavo. Úloha začne byť zaujímavá až keď určíme, že počet neurónov v skrytých vrstvách je menší ako počet vstupný/výstupných neurónov. To znamená, že systém musí redukovať a komprimovať vstupný obrázok tak aby stratil čo najmenej obsiahnutej informácie – aby ho dokázali na výstupe znova rekonštruovať. Keďže vzorka obrázkov je omnoho väčšia ako počet skrytých neurónov, neurónová sieť sa zároveň musí naučiť extrahovať informáciu ktorá umožní obrázky optimálne kategorizovať. Získaná komprimovaná informácia musí v konečnom popísať celú vzorku obrázkov.

Týmto systémom sa hovorí auto-asociatívne neurónové siete a sú dávno známe. V podstate sa jedná o regulárne neurónové siete, ktoré možno rovnako trénovať pomocou backpropagation akurát sú výstupy v tréningovej vzorke identické s vstupmi a počet skrytých neurónov je nižší ako počet vstupných/výstupných neurónov. Ng s kolegami prebrali tento jednoduchý koncept a aplikovali ho v merítku 16 tisíc jadier, ktoré zrejme len tak ležia a nemajú čo robiť v sídle Googlu. Môžeme si skúsiť predstaviť 16 tisíc jadier. Laptop na ktorom tento príspevok píšem má procesor s dvoma jadrami. Na našom psychologickom inštitúte sú dve počítačové miestnosti (určené pre študentov) s ca. 30 počítačmi pospájaními v jednej sieti. Ak by som chcel túto sieť využiť mám k dispozícii ca. 60 jadier. K náročnejším výpočtom stojí univerzitným pracovníkom k dispozícii BW grid, počítačový cluster združujúci počítačové centrá na univerzitách v bádensku-würtembersku. BW grid poskytuje z 2800 jadier. Najrýchlejším výpočtovým centrom v Európe je SuperMUC v Leibnitz Rechenzentrum v Garchingu pri Mníchove. SuperMUC ponúka 160 tisíc jadier.

Treba dodať, že výstavba a prevádzka takýchto výpočtových centier so superpočítačmi je nákladná a výber a prevedenie projektov podlieha prísnym kritériám. Prednosť majú samozrejme projekty, ktoré sú relevantné pre národnú bezpečnosť – simulácie zemetrasení a cunami vĺn v Japonsku alebo simulácie dráh balistických a jadrových rakiet v USA. V dôležitosti nasleduje vyhodnocovanie astronomických dát, simulácie buniek, baktérii, vírusov a iných biochemických systémov. Neurónová sieť s miliardou spojení patrí do kategórie algoritmických hračiek, ktorých praktická relevancia je nízka. Zrejme však nie pre Google.

Identifikácia objektov – napríklad tvári, osôb na obrázkoch a vo videách je v súčasnosti stále ťažký problém. Obrázky objektov podliehajú obrovskej variabilite. Napr. osvetlenie, uhol pohľadu, tvar objektu sťažuje identifikáciu. Pre Google je však tento problém zjavne zaujímavý. Robustný algoritmus by dokázal vyhľadávať obsah nielen v popiskoch videa, ale aj na základe obsahu samotného videa/obrázku. Ngeho s kolegami zaujímalo, či neurónová sieť dokáže bez explicitných inštrukcii extrahovať z obrázkov nejaké zaujímavé objekty. Na to zobrali vzorku obrázkov tvárí a iných objektov a pohľadali neurón v celej sieti, ktorý je najúspešnejší pri identifikácii týchto tvárí. Výkon tohoto neurónu následne otestovali na nezávislej vzorke obrázkov. Najlepší neurón bol úspešný v identifikácii tvárí. Autori následne našli stimulus pre ktorý daný neurón produkuje najsilnejšiu reakciu. To nám umožní do určitej miery zistiť sémantiku daného neurónu. Nižšie je znázornený výsledný obrázok.

Daný neurón vskutku enkódoval archetypálnu tvár.Podobný experiment spravili pre kategóriu mačky a tela osoby.

Tieto výsledky sú povzbudivé avšak úspešnosť algoritmov možno posúdiť až v porovnaní s inými state-of-art riešeniami. K tomuto účelu existujú určité benchmarkové databázy, ktorých cieľom je umožniť porovnanie výkonnosti algoritmov naprieč publikáciami. Ak chcete publikovať výskum musíte ukázať, že algoritmus aj prakticky je úspešný. Algoritmus musíte vyhodnotiť na takejto databáze obrázkov a porovnať jeho výkon s výkonom iných algoritmov v predchádzajúcich publikáciach. Jednou takou databázou je ImageNet. ImageNet obsahuje 14 miliónov obrázkov s 20000 kategóriami objektov. Tieto databázy poskytujú tréningovú vzorku, v ktorej sú objekty pomenované a testovaciu vzorku, kde identitu objektu musí určiť algoritmus. Ng s kolegami dodatočne použili tréningovú vzorku aby doladili neurónovú sieť. Test ukázal úspešnosť identifikácie ca. 15 % čo je obrovský pokrok oproti predchádzajúcemu najlepšiemu výkonu na úrovni 9 %.

Myslím, že zaujímavé je, že spomenutá neurónová sieť sa naučila rozpoznávať tváre bez toho aby dostala feedback alebo vôbec informáciu že nejaké tváre existujú. Za zmienku takisto stojí, že autori štrukturovali architektúru siete po vzore ľudského vizuálneho areálu a táto štruktúra sa ukázala úspešnejšia ako iné štruktúry navrhnuté a rutinne používané v literatúre. (Tieto architektúry testovali v separátnych trojdňových výpočtových orgiách.) Pre psychológiu to znamená napr. že vývin vnímania tvári nemusí byť nijak geneticky preprogramovaný a neurónové detektory na tvár ktoré sa našli v mozgu nemusia byť modulárne izolované. Experiment s neurónovou sieťou ukazuje alternatívne možnosti ako tieto detektory vznikajú bez akéhokoľvek feedbacku z prostredia. Zároveň treba dodať, že výkon 15 % je stále mizerný na to aby sme mohli začať neurónovú sieť prakticky využiť na čítanie obsahu obrázkov a videa.

Nakoniec, čo sa týka nárastu výpočtových zdrojov, Ngeho štúdia ukazuje, že môžeme byť optimistický. Podobný čerstvý prípad aplikácie hlbokých neurónových sietí v ríši ziliónbajtov tvoria prekladateľské aplikácie, ktorých praktické využitie už nemusí byť ďaleko.

Le, V., Q. et al. (2012). Building High-level Features Using Large Scale Unsupervised Learning.

Pridaj komentár

Zadajte svoje údaje, alebo kliknite na ikonu pre prihlásenie:

WordPress.com Logo

Na komentovanie používate váš WordPress.com účet. Log Out / Zmeniť )

Twitter picture

Na komentovanie používate váš Twitter účet. Log Out / Zmeniť )

Facebook photo

Na komentovanie používate váš Facebook účet. Log Out / Zmeniť )

Google+ photo

Na komentovanie používate váš Google+ účet. Log Out / Zmeniť )

Connecting to %s