Som technologický prielom. Dnes ráno som čítal viac ako 4000 vedeckých publikácií o leukémii, za menej ako sekundu. Zvládnem plynulo hovoriť akýmkoľvek novým jazykom, za pár týždňov praxe. Dokážem porozumieť eufemizmom, idiómom a komplexným metaforám. Poznám každý detail zo všetkých verejne dostupných finančných reportov firiem za posledných 20 rokov. A to som sa ešte len začal rozohrievať. Vitajte v kognitívnej ére.

Toto sú slová zaujímavej reklamy spoločnosti IBM, ktorá predvádza svoje systémy Watson postavené na niekoľkých typoch neurónových sietí a iných technológiách umelej inteligencie. Marketingové oddelenia sa pravdaže radi nechajú uniesť a občas popustia uzdu fantázii trochu viac. Avšak to, ako veľmi sa tieto systémy zlepšujú v posledných rokoch je skutočne dych berúce. IT firmy investujú do vývoja umelej inteligencie obrovské množstvo peňazí. Prioritnými oblasťami výskumu je rozpoznávanie objektov na fotografiách a porozumenie kontextu, v akom sa objekty nachádzajú, ďalej porozumenie významu textov a reči v neposlednom rade takisto inteligentní asistenti a samoriadiace vozidlá.

Vidieť efekt pokroku v tomto odbore je pre bežného používateľa často problematické. Typickým príkladom je napríklad rozpoznávanie reči. Kým v roku 2011 sa tieto systémy pohybovali na chybovosti okolo 25 %, dnes chybovosť klesá pod 8 %. Podobne obrovské zlepšenia sa udiali aj v rámci strojového prekladu, avšak ľudia považujú tieto mechanizmy obvykle za „hlúpe“ pretože, nezriedkavo robia chyby, ktoré sú až na smiech.

Človek však v týchto oblastiach operuje vo veľmi úzkom rozsahu, a preto sa mu každá, hoc aj malá odchýlka od normálu, zdá veľmi neprirodzená. Vo výsledku má dojem, že vývoj sa skrátka neposúva, pretože stroj je stále horší ako on. Rozhodujúci skok ho následne môže zaskočiť. Systém sa napríklad môže zlepšovať postupne len o 5 % a pritom ešte pri kroku, keď dosahuje 97 či 98 % schopností človeka v danej úlohe, pôsobí smiešne, ťarbavo a hlúpo, avšak pri ďalšom malom skoku prejde zrazu do nadľudskej úrovne, kde človeka všetok smiech okamžite prejde.

Dnes existuje niekoľko oblastí, kde neurónové siete prešli do nadľudskej úrovne a v mnohých iných sa začali výrazne tejto úrovni približovať. Aj keď ide často o rôzne experimenty, ktoré môžu na prvý pohľad pôsobiť neužitočne. V skutočnosti sú dôležitou súčasťou skladačky, ktorá v budúcnosti umožní mnohoúčelové použitie.

Ahoj, som neurónová sieť

Softvérové neurónové siete patria do odboru umelej inteligencie, respektíve jej špecializovanej časti, označovanej ako deep learning (systémy hlbokého učenia sa). Ich obvyklým cieľom je vyextrahovanie hlbšieho významu z dát, na základe čoho je systém schopný porozumieť abstraktným pojmom a reagovať na rôzne úlohy a situácie podobne ako človek. Môžete do systému vložiť napríklad fotografie psov, na základe ktorých si systém určí, ako pes zhruba vyzerá a následne túto znalosť uplatní inde a rozpozná psov aj na nových fotografiách, ktoré nikdy predtým nevidel. Nedeje sa pri tom to, že by do neurónovej siete podobu psa niekto naprogramoval.

Systému sa skrátka poskytne informácia, že na tejto konkrétnej fotke pes je, na ďalšej nie a na tretej zas áno a tak ďalej. Neurónová sieť sa snaží rozoznať nejaké špecifické prvky a sama svoje metódy následne overuje. Zistí pri tom napríklad to, že popis typu „pes je súhrn pixelov v tvare valca so štyrmi výstupkami zospodu (nohy), jedným tenkým vzadu (chvost) a hrubým vpredu (hlava)“, ju ďaleko nedostane.

Na fotkách totiž môže byť pes zobrazený z mnohých uhlov, pričom niekde sú mu vidieť len tri nohy, inde zas leží, skáče, sedí a takisto niekedy je na obrázku namiesto neho líška či mačka. Systém teda hľadá popis, ktorý by pasoval na všetkých psov, pričom tie lepšie výsledky skúša ďalej modifikovať a viac zlepšovať, zatiaľ čo tie, ktoré dávajú horšie výsledky, postupne zavrhuje. Všetko pri tom robí celkom autonómne a interný popis, na základe ktorého psa následne rozoznáva, je pre nás celkom cudzí.

V rámci spracovania obrazovej informácie sú tie najvýkonnejšie deep learnig systémy založené na tzv. konvolučných (spletitých) neurónových sieťach. Ide o softvérové siete, ktoré pozostávajú z vrstiev malých výpočtových jednotiek, tzv. neurónov, ktoré si hierarchicky posielajú spracovávanú informáciu. Keď sú konvolučné neurónové siete trénované v rámci rozpoznávacieho procesu, vytvoria reprezentáciu obrázka, ktorého komplexnosť sa v rámci hierarchického procesu stupňuje.

Dá sa to mierne prirovnať k postupnému zaostrovaniu. Kým prvá vrstva určuje, kde sú na fotke svetlé a tmavé miesta, nasledujúca vrstva už začína rozpoznávať hrany, ďalšia tvary, nasledujúca objekty (napr. že na obrázku je človek), ďalšia typy objektov (muž) a napokon môže dôjsť aj k celkovému hodnoteniu situácie a pochopeniu významu (poloha muža, prítomnosť trávy a lopty indikuje, že hrá futbal).

Systém je koncepčne (ale nie exaktne) podobný biologickému systému neurónov a synapsií mozgu, odkiaľ pochádza aj jeho názov. Konvolučné neurónové siete nie sú jediným typom takéhoto riešenia. Sú však najrobustnejšie a používajú sa predovšetkým na úlohy, ktoré súvisia so spracovaním obrazovej informácie. Iné typy sietí, ako napríklad rekurentné (zvratné) neurónové siete, pri ktorých informácia neprechádza od jednoduchších po pokročilejšie vrstvy a namiesto toho dynamicky cykluje, sa používajú hlavne pri rozpoznávaní reči.

Vývojár umelej inteligencie Demis Hassabis z tímu Google DeepMind

Už viem, čo je na obrázku …

Vlajkovou loďou konvolučných neurónových sietí je bezpochyby identifikácia objektov. Niet sa čomu čudovať. Pre Google, Microsoft či Facebook sú tieto technológie esenciálne, pretože ich potrebujú v mnohých svojich produktoch. S pokrokom tohto smeru vývoja sú obvykle oboznámení aj bežní používatelia, pretože si za posledné tri roky môžu všímať veľké zlepšenie vyhľadávania obrázkov napríklad v Google vyhľadávači a takisto napríklad čoraz lepšiu identifikáciu tvárí na Facebooku, ktorý ponúka „otagovanie“ osôb. Koniec koncov, pokročilí správcovia fotokolekcií dnes dokážu vaše fotky roztriediť napríklad na západy slnka, „selfie“, fotky na ktorých je vaša teta, vaša sestra či vy sami.

V súčasnosti je zrejme najprominentnejším vývojárom konvolučných neurónových sietí britský informatik Geoffrey Hinton. Ten v roku 2006 vyvinul úplne nový spôsob učenia sa jednotlivých vrstiev softvérových neurónov a celý odbor posunul o značný kus dopredu. To, o koľko to bolo, sa ukázalo v roku 2012, keď sa so svojou novou konvolučnou neurónovou sieťou zúčastnil renomovanej súťaže rozpoznávania fotografií (IMAGENET).

Takto vyzerá priebeh detekcie objektov v súťaži IMAGENET

Takto vyzerá priebeh detekcie objektov v súťaži IMAGENET

Všetku konkurenciu založenú na starších systémoch umelej inteligencie totiž deklasoval rozdielom triedy (ostatné tímy dosiahli dvoj- až trojnásobne väčšiu chybovosť). Vzhľadom na to, že medzi porazenými bol aj z hľadiska výpočtového výkonu mnohonásobne silnejší systém Googlu, odpoveď nenechala na seba dlho čakať. Hinton dnes pracuje na neurónových sieťach práve tejto spoločnosti. Google Hintonov projekt a jeho tím kúpil v roku 2013 za nezverejnenú sumu a od tejto doby je dobre vidieť aj výrazné stupňovanie kvality jeho obrázkového vyhľadávača.

„Najnovšiu súťaž v klasifikácii vyhral na jeseň minulého roku tím výskumného laboratória Microsoftu, ktorého konvolučná neurónová sieť MSRA dosiahla úspešnosť až 96,5 %“

V nasledujúcich rokoch sa do podobných systémov pustili všetky relevantné vývojové spoločnosti a práve na spomenutej súťaži IMAGENET, ktorá je považovaná za ukážku aktuálnych schopností týchto systémov, pokrok vidieť najlepšie. V roku 2012 sa súťaž skladala z klasifikácie, pri ktorej dostávajú siete nejaký náhodný obrázok, pričom vyberú päť popisov, zoradených podľa dôležitosti, ktoré označujú, čo na obrázku je.

Ak je na obrázku nemecký ovčiak a sieť odpovie najistejšie, že je to nemecký ovčiak, ide o správnu odpoveď a nezáleží na tom, že ako štyri ďalšie možnosti použije mená doberman, pudlík, bernardín, jazvečík, s ktorými si istá nie je. Opačné poradie by bolo nesprávne. Systém viacerých odpovedí zaručuje kontrolu toho, aby sieť nebola penalizovaná za správne odpovede pri detekcii viacerých objektov. Ak je napríklad na obrázku nemecký ovčiak, ktorý má v tlame loptu a systém použije päť odpovedí v poradí lopta, nemecký ovčiak, doberman, pudlík, bernardín, takisto je to správne.

Súťaž prebieha tak, že siete dostanú najprv 1,2 milióna tréningových obrázkov s popisom (1000 typov klasifikácií), na ktorých sa učia a následne dostanú 100 000 nových nepopísaných obrázkov, pre ktoré majú niektorý z tisícky popisov zvoliť samé. V roku 2012 dosiahla v tomto teste prelomová Hintonova konvolučná neurónová sieť SuperVision chybovosť len 15 %, čo bolo o polovicu menej než najbližšia konkurencia. Úspešnosť 85 % skrátka zaskočila každého.

KSklasifikacia_nowat

Klasifikácia obrázkov v súťaži IMAGENET

V roku 2013 sa Hinton súťaže nezúčastnil, avšak mnohé iné spoločnosti použili systémy založené na jeho vedeckých prácach, doplnené o vlastné riešenia. Súťaž vyhrala konvolučná neurónová sieť americkej spoločnosti Clarifai, s úspešnosťou 89 %, čím výsledok z predchádzajúceho roku prekonala. V súťaži sa pri tom objavila už aj druhá náročnejšia kategória, v podobe detekcie. Pri nej majú siete na obrázku identifikovať a správne označiť niektorý z 200 objektov (napríklad človek, pes, ryža, pohár a podobne), pričom musia nájsť všetky.

Siete pravdaže nevedia, ktoré objekty na daných obrázkoch sú. Ak je napríklad na obrázku človek, ktorý sedí na stoličke a je jablko, pričom v druhej ruke drží smartfón a na hlave má čiapku, tak za predpokladu že v zozname 200 objektov tieto predmety sú, siete musia označiť na obrázku každý, pretože inak budú za chýbajúci predmet penalizované. Vo všetkých prípadoch ale vidia túto variantu objektov prvýkrát a vyhľadajú teda pixelovú kópiu. V roku 2013 si v tejto úlohe najlepšie počínala sieť UvA-Euvision, ktorej tvorcom bola Univerzita v Amsterdame a spoločnosť Euvision (obe Holandsko), pričom dosiahla úspešnosť 22 %.

V roku 2014 sa do súťaže vrátil Hinton a jeho tím, so sieťou nazvanou GoogLeNet. Hlavným cieľom tentoraz bola už náročnejšia kategória detekcie, pri ktorej sieť dosiahla úspešnosť v 44 % prípadov, teda o 100 % lepší výsledok, než víťaz z predchádzajúceho roku. Na druhom mieste skončila sieť DeepID-Net, za ktorou stál tým Multimediálneho laboratória čínskej univerzity v Hongkongu a na treťom Deep Insight, za ktorou stála Čínska akadémia vied a Hongkonská technická univerzita. Obe dosiahli úspešnosť 40 %. Víťaz z predchádzajúceho roku bol štvrtý s úspešnosťou 35 %. V klasickom teste klasifikácie skončil GoogLeNet na prvom mieste s 93,4 % úspešnosťou. Tesne za ním bol tím Univerzity z Oxfordu (Veľká Británia) s konvolučnou neurónovou sieťou VGG, ktorá dosiahla presnosti 92,7 %.

Ak sa konvolučnej sieti popustia popruhy, vyvolá to na obrázku „sen“ alebo „halucináciu“ toho, čo by chcela vidieť najviac

Ak sa konvolučnej sieti popustia popruhy, vyvolá to na obrázku „sen“ alebo „halucináciu“ toho, čo by chcela vidieť najviac

Zatiaľ posledná súťaž IMAGENET sa odohrala na jeseň minulého roku. Google sa tentoraz nezúčastnil, avšak opäť došlo k výraznému zvýšeniu úspešnosti detekcie. Súťaž vyhral tím výskumného laboratória Microsoftu. Jeho sieť MSRA dosiahla v teste detekcie úspešnosť 62 %, čo je opäť obrovský posun oproti prechádzajúcemu roku. Na druhom mieste skončil vývojový tím Qualcommu (53 %), ktorý tvorí odkúpená holandská spoločnosť Euvision (víťaz súťaže z roku 2013).

Tím Microsoftu takisto vyhral druhú kategóriu v podobe klasifikácie a jeho konvolučná neurónová sieť dosiahla úspešnosť 96,5 %. Uvidíme, ako dopadne tohtoročná súťaž, ktorá začne na jeseň. Dá sa ale očakávať, že sa presnosť opäť zlepší. Pri pohľade na úspešnosť 62 % v ťažšej viacnásobnej detekčnej časti a 96,5 % v dnes už ľahšej klasifikačnej časti (ešte pred pár rokmi sa pohybovala okolo 50 %) to láka k porovnaniu s človekom. Je prirodzené si myslieť, že človek má v oboch prípadoch 100 % úspešnosť, pretože správne popisy obrázkov, podľa ktorých sa výsledky kontrolujú, tvorili ľudia. Dá sa na to však pozerať aj z inej stránky.

Snívanie neurónovej siete DeepDream od Googlu

Snívanie neurónovej siete DeepDream od Googlu

Popisy sú výsledkom tímovej práce a kontroly. Ak dostane test jeden človek, dosiahne obvykle menšiu než 100 % úspešnosť, pretože ani on nie je neomylný a spletie si napríklad nejaké plemeno psa či druh vtáka s iným. Ak si chcete test vyskúšať, môžete to urobiť na stránke Stanfordovej univerzity (test z roku 2014). Postavíte sa proti výsledkom GoogLeNet, ktorý v roku 2014 súťaž vyhral.

Hlavným problémom je, že 1000 kategórií je pre ľudí veľmi vyčerpávajúcich a prehliadajú ich, výsledkom čoho je, že obvykle dosahujú úspešnosť len okolo 85 %. U tých najpozornejších sa úspešnosť zvyšuje na 95 %, čo len mierne prekonáva 93,4 % výsledok GoogLeNet z roku 2014 a dnes je pod úrovňou výsledku 96,5 % siete Microsoftu z roku 2015. Treba pravdaže myslieť na to, že ide o limity súťaže. V realite je človek omnoho schopnejší ako tieto siete, pretože dokáže popísať monumentálne množstvo objektov a nie je obmedzený len na dané kategórie.

Aj keď z hľadiska všeobecnej identifikácie je človek stále lepší, rozhodne to neplatí za všetkých okolností. Už v roku 2011, v teste rozpoznávania fotografií 50 000 dopravných značiek, dosiahla neurónová sieť švajčiarskeho tímu pre vývoj umelej inteligencie IDSIA chybovosť len 0,53 %, pričom porazila kontrolnú skupinu zloženú z 32 ľudí, ktorí mali priemernú chybovosť 1,16 % (chybovosť spôsobuje napríklad zo, že značka je nedostatočne osvetlená alebo čiastočne zakrytá porastom).

Detekcia mitóz na lekárskych snímkach je náročná a neurónové siete to dokážu dnes lepšie než človek

Detekcia mitóz na lekárskych snímkach je náročná a neurónové siete to dokážu dnes lepšie než človek

Takéto výsledky sú pravdaže dôležité v súvislosti so samoriadiacimi autami. Nemenej dôležité sú však aj iné odbory. Konvolučné neurónové siete sú od roku 2013 úspešnejšie než človek pri rozpoznávaní mitóz v lekárskych snímkach z mikroskopu (odlíšenie od iných tkanív), čo je dôležité pre včasnú detekciu rakoviny.

Viem, kde ste fotili minulé leto …

Vývoj konvolučných neurónových sietí pokračuje aj v iných rozpoznávacích úlohách. Predstavte si, že vám niekto ukáže päť či desať náhodných fotografií a spýta sa vás, kde boli vytvorené. Ak na fotke zbadáte nejaký veľmi známy objekt, napríklad Sochu slobody, Čínsky múr alebo Eiffelovu vežu, úloha je pomerne jednoduchá. Náš vizuálny kortex je nesmierne mocný a bez problémov dokážeme rozpoznať tieto objekty v mnohých svetelných podmienkach a uhloch pohľadu. Nezaskočí nás, ak sa na vzdialený londýnsky Big Ben pozeráme tak, že jeho celú spodnú časť zakrýva blízko stojaca osoba.

Naše schopnosti tu ale nekončia. Aj keď ide napríklad len o fotku rušnej ulice, na ktorej žiadne takéto budovy nie sú, môžeme si všimnúť typické londýnske či americké taxíky. Všimneme si takisto, v akom jazyku sú nápisy na obchodoch, aký tvar majú dopravné značky a takisto napríklad to, či sú ľudia prevažne aziati. Čerpáme pri tom z obrovskej zásoby skúseností a znalostí a fotku často veľmi úspešne zaradíme aspoň približne do USA, Číny či na Slovensko. Ak vidíme len fotku nejakého lesa či lavičky, lokalitu už obvykle nemáme ako lokalizovať.

KS100_nowat

Do súboja najnovšie vstupujú aj konvolučné neurónové siete. Tím Googlu, pod vedením Tobiasa Weyanda (špecialista na počítačové videnie), predstavil na začiatku tohto roka neurónovú sieť PlaNet, ktorá je trénovaná tak, aby dokázala miesta na fotkách rozpoznať podobne ako človek. Pokrok, ktorý sieť dosahuje je pritom veľký, pretože v priemere začala ľudské výsledky už prekonávať. Google nazhromaždil 126 miliónov fotografií, ktoré obsahujú geolokačné dáta (GPS súradnice, ktoré do nich vkladajú predovšetkým smartfóny pri fotení).

Z nich 91 miliónov kusov oddelil a poskytol ich aj s dátami o polohe neurónovej sieti, ktorá sa na nich začala trénovať. Následne bola sieť konfrontovaná so zostávajúcimi 34 miliónmi fotiek, pri ktorých sa jej už poloha zatajila. Sieť teda odhadovala ich umiestnenie len na základe toho, čo na nich videla. Výsledky boli nesmierne zaujímavé. Systém dokázal určiť presnú polohu na úroveň ulice v 3,6 % fotografií, na úroveň mesta v 10 % prípadov, na správny štát v 28,4 % prípadov a na správny kontinent v 48 % prípadov.

„Weyand vyskúšal schopnosti siete proti ľuďom. Kým u nej bola priemerná odchýlka 1131 km, u ľudí šlo o viac ako dvojnásobok. V tejto úlohe tak sieť prešla do nadľudskej úrovne.“

Weyand a jeho tím túto úspešnosť vyskúšali proti ľudom. Ako porovnanie poslúžilo 10 scestovaných osôb. Na test použili hru www.geoguessr.com, ktorú môžete sami vyskúšať. Pri nej sa vám náhodne zobrazí obrázok z Google Street View a vy máte tipovať, kde asi môže byť. Z 50 súťažných pokusov vyhrala neurónová sieť PlaNet 28-krát. V zostávajúcich 22 prípadoch ju prekonal jeden z desiatky ľudí. PlaNet však okupovala vždy popredné priečky, o čom svedčí aj jej stupeň chybovosti.

Kým u nej bola priemerná odchýlka pri chybe 1131 km, u ľudí bol priemer viac ako dvojnásobný (2320 km). Neurónová sieť tak v tejto úlohe prešla do nadľudskej úrovne. Tento úspech pravdaže nie je dosiahnutý tak, že by neurónová sieť mala prístup k celej databáze Google Street View a obrázky nejako porovnávala. To by v tak krátkom čase nebolo možné. Koniec koncov, pri teste zaberala len 377 MB v RAM. Na fotku sa skrátka „pozrie“ a následne behom momentu vykoná odhad, ktorý zodpovedá jej tréningu.

KS1604_nowat

Viem, ako zafarbiť starý fotosvet …

Kolorizácii fotografií sa venuje mnoho ľudí. Ide o pomerne prácnu úlohu (ak je v scéne množstvo detailov), pri ktorej na základe vašich znalostí odhadnete farbu scény a obrázok postupne upravujete v rastrovom editore, ako je napríklad Photoshop. Kým u niektorých farieb ste si si istý a viete, že tráva je zelená a obloha modrá, u iných musíte už tipovať, pričom je len na vás, akú farbu bude mať napríklad oblečenie ľudí. Pravdaže, vychádzate z okolností a viete, že kabáty ľudí na divokom západe môžu byť hnedé či čierne, ale rozhodne nebudú fialové. V mnohých prípadoch však nemáte prakticky žiadnu pomôcku a musíte si farbu zvoliť tak, ako vám pripadá prirodzené (ak napríklad ide o čiernobielu fotku maľovaného veľkonočného vajíčka).

Dala by sa pre takéto úlohy trénovať konvolučná neurónová sieť? Ide o zaujímavú variáciu systému na rozpoznávanie objektov. Ak totiž sieť rozpozná, čo je tráva, vie, že má byť zelená. Problémom je, že sieť už očakáva, že tráva je zelená, pretože podľa toho bola vždy trénovaná. Rozpoznať šedú trávu na „čiernobielej“ fotografii je teda trochu odlišné. V marci publikoval tím z kalifornskej univerzity v Berkeley (Richard Zhang, Phillip Isola a Alexei Efros) výborné výsledky svojej konvolučnej neurónovej siete navrhnutej presne na tento účel.

Kolorizovanie čiernobielej fotografie (prvý stĺpec) neurónovou sieťou. Druhý stĺpec ukazuje ešte donedávna dosahované výsledky, trpiace desaturáciou, zatiaľ čo tretí stĺpec už predvádza výsledky nového riešenia neurónovej siete univerzity v Berkeley. Štvrtý stĺpec ukazuje pôvodnú farbu obrázkov, ktoré slúžili pre vytvorenie čiernobielej predlohy

Kolorizovanie čiernobielej fotografie (prvý stĺpec) neurónovou sieťou. Druhý stĺpec ukazuje ešte donedávna dosahované výsledky, trpiace desaturáciou, zatiaľ čo tretí stĺpec už predvádza výsledky nového riešenia neurónovej siete univerzity v Berkeley. Štvrtý stĺpec ukazuje pôvodnú farbu obrázkov, ktoré slúžili pre vytvorenie čiernobielej predlohy

Tá má pri troche nadnesenia akúsi formu farebných halucinácií, pričom sa snaží nájsť kolorizácie, ktoré zodpovedajú jej tréningu. O tréningové dáta nie je núdza (tím použil jeden milión fotiek). Každú farebnú fotografiu totiž môžete odfarbiť a následne použiť na tréning, pričom jej farebná verzia slúži ako kontrola. Neurónové siete pre tento účel sa objavili už v minulosti, boli však značne neúspešné. Problémom je, že obvykle produkovali desaturované obrázky.

Zafarbenie umeleckých čiernobielych fotografií Ansela Adamsa

Zafarbenie umeleckých čiernobielych fotografií Ansela Adamsa

Sieť sa po čase vždy naučila, že s pomocou vyblednutých farieb sa dajú dosahovať bezpečnejšie predpovede. Žiarivé farby skrátka zvyšovali pravdepodobnosť vysokej chybovosti a konzervatívnejšia farba sa stala stávkou na istotu.

V praxi to vyzeralo tak, že sieť sa rozhodla, že napríklad tričko má byť žiarivo modré. Ak následne pri teste zistila, že tričko je v skutočnosti žiarivo červené, považovala to za svoju veľkú chybu. Časom sa teda naučila tipovať tričká napríklad slabučko fialové, pretože v prípade, že tričko bolo silno červené alebo silno modré, šlo o matematicky menšiu odchýlku.

Z pohľadu človeka však šlo o nesprávny prístup, pretože nebolo nič zlé na tom, že sieť zvolila silno modrú farbu, keďže tričká často takúto farbu majú. Ak by sme farebnú fotografiu nemali, spôsob na zistenie toho, že bolo pôvodne silno červené, by neexistoval.

Tím z Berkeley teda pristupoval k problému odlišne a na kontrolu správnosti zvolil variantu Turingovho testu. Posudzovačom bol človek, ktorý dostal dve verzie tej istej fotografie. Jedna bola pôvodná farebná a druhá bola čiernobiela, ktorú kolorizovala neurónová sieť. Následne sa mal rozhodnúť, ktorá je ktorá. Jeho odpovede boli následne použité ako výsledok, na základe ktorého sieť hodnotila svoj úspech. Výsledky, ktoré tím z Berkeley dosiahol, sú veľmi pozitívne a výrazne vyššie, ako akékoľvek predchádzajúce pokusy tohto typu.

K dokonalosti má sieť ale ešte ďaleko. Dokázala uspieť v 20 % prípadov, čo bolo vtedy, keď človek označil obe fotografie za rovnako vierohodné, alebo kolorizovanú dokonca za lepšiu. To však neznamená, že v 80 % prípadov boli výsledky úplne zlé. Často boli pomerne uchádzajúce, i keď nie perfektné, čo môžete vidieť na obrázkoch.

Použitie neurónovej siete na známe čiernobiele fotografie z minulosti

Použitie neurónovej siete na známe čiernobiele fotografie z minulosti

Viem ťa nakresliť tak, ako tie francúzske dievčatá …

Človek je jediný organizmus na zemi, zaoberajúci sa umeleckou činnosťou. Maliari od pradávna maľovali výjavy zo života, postavy či krajiny s náhľadom vlastnými očami, pričom do nich prevteľovali svoj špecifický štýl a svoje poňatie vizualizácie reality. Svoje videnie reality nám môže podať aj neurónová sieť, pričom v minulom roku ste možno zaznamenali projekt Googlu – DeepDream, ktorý nechal sieť „snívať“, pričom jej sny nechal na obrázkoch ďalej zosilňovať.

Kým nízke vrstvy neurónov konvolučnej siete obrázok postupne pretvárali do ornamentov (pretože „túžia“ po pekných ostrých hranách), vysoké sofistikované vrstvy „snívali“ o čudesných tvárach. Ide o zaujímavý pohľad na to, ako sieť pracuje. Niektoré obrázky sú skutočne čudesné a pripomínajú šok, aký spôsobuje špecifické poňatie reality rôznych umelcov. V tomto roku dokonca prebehla aj výstava týchto výtvorov v San Franciscu a ich následná aukcia.

Fotky môžu dostať s pomocou konvolučnej neurónovej siete nádych známych malieb

Fotky môžu dostať s pomocou konvolučnej neurónovej siete nádych známych malieb

Obrazové umelecké poňatie Rembrandta, Picassa či Vincenta van Gogha je veľmi špecifické a obrazy majú ich rozpoznateľný nádych. Hlboké neurónové siete by potenciálne mohli tento nádych odpozorovať a následne ho použiť inde. Človek je toho pravdaže schopný tiež a mnoho umelcov nemá problém namaľovať obraz napríklad štýlom Picassa. Na druhú stranu, neurónová sieť vďaka precíznosti môže zájsť aj za hranu toho, čo si je človek schopný všimnúť a môže tak svoju skúsenosť zakladať aj na tých najmenších detailoch.

Týmto smerom sa vydali Leon Gatys, Alexander Ecker a Matthias Bethge z Bernsteinovho centra pre výpočtovú neurovedu a Inštitútu pre biologickú kybernetiku Maxa Plancka (obe Tübingen, Nemecko). Vo svojej práci Neurónové algoritmy umeleckého štýlu (A Neural Algorithm of Artistic Style) zobrali konvolučnú neurónovú sieť pôvodne určenú na rozpoznávanie textúr a pokúsili sa ju učiť špecifiká jednotlivých malieb. Ide o prvý projekt tohto kalibru, pretože predchádzajúce pokusy sa v tomto smere venovali len menej komplexným úlohám, ako je napríklad odvodenie charakteru rukopisu.

Výsledky môžete vidieť na obrázkoch. Neurónová sieť dokáže extrahovať relevantné informácie o štýle a uplatniť ich následne na editáciu druhej fotografie, ktorú alternuje tak, aby základy vybratého štýlu plnila. Ako môžete vidieť, obrazová informácia pôvodnej fotografie sa nestratila a naďalej zostávajú zachované jej špecifické prvky. V súčasnosti teda ide o extrahovanie štýlu jedného diela, nie extrahovanie štýlu maliara ako celku.

KSart2_nowat

Algoritmy publikované vývojovým tímom už používajú rôzne startupy, ktoré na nich založili svoje podnikateľské plány. Jedným z nich je napríklad služba www.deepart.io, kde si po registrácii zdarma môžete nahrať ľubovoľnú fotografiu a nechať ju neurónovou sieťou prerobiť do štýlu inej. Podľa záťaže siete musíte čakať v poradovníku obvykle niekoľko hodín, môžete si ale pokojne večer nahrať aj 10 či 20 fotografií naraz a ráno si na stránku prísť po výsledok.

Nahratie viacerých fotiek je vhodný postup, pretože nie je zaručené, že každý výsledok sa vám bude páčiť. Hotový obrázok v malom rozlíšení (zhruba 500 × 500 pixelov) je zdarma. Za verziu vo vysokom rozlíšení, prípadne jej vytlačenie na plagát, už musíte zaplatiť.

Chceš si so mnou zahrať Go?

Hranie hier je pre počítač veľkou výzvou. Zrejme najviac pozornosti v minulosti celkom oprávnene dostával šach, pretože vzhľadom na kombinatorickú explóziu, ktorá nastane po pár ťahoch, je nemožné hru počítať do veľkých hĺbok hrubou silou. Šachový softvér prešiel do nadľudskej úrovne v roku 1997, keď počítač Deep Blue od IBM porazil v svetového šampióna Garriho Kasparova. Dnes sa pre šachový softvér usporadúvajú samostatné súťaže, kde so sebou súperia rôzne typy programov.

Na neurónové siete sa zatiaľ obvykle nespoliehajú a na hľadanie optimálnych ťahov používajú rôzne pokročilé algoritmy (i keď prvé pokusy s neurónovými sieťami sa už začali objavovať, pričom ide napríklad o sieť Giraffe, ktorej tvorcom je Matthew Lai). Veľmi zaujímavý herný experiment vykonali v minulom roku vývojári z Google DeepMind (Britský vývojový tím umelej inteligencie, ktorý Google odkúpil v roku 2014). V prestížnom vedeckom magazíne Nature publikovali výsledky svojej novej konvolučnej neurónovej siete, ktorá sa naučila hrať hry zo starej konzoly Atari, a to v mnohých prípadoch výrazne lepšie ako človek.

Veľmajster Lee Sedol (vpravo dole) neveriacky študuje partiu Go, ktorú práve prehral s neurónovou sieťou AlphaGo

Veľmajster Lee Sedol (vpravo dole) neveriacky študuje partiu Go, ktorú práve prehral s neurónovou sieťou AlphaGo

Všetko pri tom sama. Neurónová sieť obrazne povedané „otvorila oči“ v nejakej hre a tá sa stala jej novým svetom. Musela odpozorovať, aké má tento svet pravidlá, ako funguje a čo jej robí prospech (pokračovanie hry, získavanie bodov) a čo neprospech (koniec hry, strata života). Sieť sa skúšala na 49 hrách, pričom vo viac ako polovici bola už behom pár hodín úspešnejšia ako ľudskí hráči, a to často výrazne. Napríklad v hre Space Invaders šlo o 21 % lepšie výsledky, v hre Krull o 177 % a v populárnej hre Breakout/Arkanoid až o 1227 %. Najviac jej vyhovovala hra Video Pinball, kde dosiahla o 2439 % lepší výsledok, než najlepší ľudia.

Tento typ konvolučnej neurónovej siete Googlu je veľmi zaujímavý, pretože používa novinku posilňovaného učenia nazvanú Q-learning (Q-učenie). Trochu to pripomína biologický systém opakovania zážitku v rámci pamäte a snov (reaktivácia zapamätaných zážitkov). Google sa pri Atari hrách nezastavil. Svoju novú sieť nazval AlphaGo a nechal ju naučiť sa starodávnu hru Go, ktorá patrí dlhodobo k obrovským výzvam počítačov.

Aj keď hra používa jednouché pravidlá, je mimoriadne komplexná, takže donedávna boli na tom akékoľvek počítačové programy v porovnaní s profesionálnymi hráčmi výrazne horšie. Neurónová sieť AlphaGo sa naučila hru hrať sama v priebehu minulého roku a v októbri vyzvala na súboj európskeho šampióna, Francúza Fan Huia (narodil sa v Číne). Výsledky boli odhalené v januárovom vydaní vedeckého žurnálu Nature. Zápas sa skladal z piatich hier, pričom AlphaGo vyhrala v pomere 5:0. Fan Hui je síce najlepší profesionálny hráč Európy, avšak v rámci hodnotiaceho systému má „len“ druhý profesionálny dan, čo ho neradí medzi úplnú svetovú špičku (9 dan).

Novou výzvou sa preto stal Juhokórejčan Lee Sedol (9 dan), jeden z piatich najlepších hráčov sveta (Go nemá striktný oficiálny rebríček). K súboju s AplhaGo došlo na začiatku tohto roku. Opäť šlo o zápas rozdelený na päť hier, ktoré sa odohrali od 9. do 15. marca. Hry boli vysielané on-line a všetky nájdete s profesionálnym komentárom na YouTube (každá trvá niekoľko hodín). Zápas sa odohral v Južnej Kórei (Soule) a pri hre sa používala normálna hracia doska.

Kamene za AlphaGo fyzicky umiestňoval jeden z členov tímu DeepMind, pričom ťahy siete boli celý čas viditeľné na monitore. Tá v skutočnosti fungovala na serveroch Googlu v USA. AlphaGo nebola na svetovú ľudskú špičku ani konkrétne Lee Sedola nijako špeciálne pripravená a pre ňu šlo skrátka o ďalšie hry v sérii učenia sa. Pred každou hrou však bola spustená nanovo, takže nezískavala skúsenosti s hrou svojho súpera.

Lee Sedol bol sprvu sebavedomý a domnieval sa, že nad AlphaGo určite vyhrá, podobne ako nad iným softvérom. Koniec koncov, konvolučné neurónové siete sa snaží uplatňovať na hru Go napríklad aj Facebook, ale jeho sieť Darkforest ešte žiadneho profesionálneho hráča neporazila. AlphaGo so špeciálnymi funkciami opakovania zážitku sa však ukázala ako iná káva a po Atari hrách prešla do nadľudskej úrovne aj v hre Go.

„Počas zápasu sa objavili zvláštne anomálie, ktoré najprv vyzerali ako chybné ťahy, ale neskôr sa v hre ukázali ako mimoriadne strategické.“

V prvej hre zápasu ukázala sieť excelentnú a podľa Sedola bezchybnú stratégiu. Použila pri tom aj jeden zvláštny ťah, ktorý by človek (alebo aspoň profesionál) zrejme nikdy nespravil, čo bolo veľmi zvláštne. Sedol uviedol, že v úvode urobil chybu a AlphaGo ju náležite využila. Profesionálni hráči označili stratégiu AlphaGo za konzervatívnu a vypočítavú. Sieť sa neženie za potenciálnym veľkým bodovým ziskom a nezaujíma ju, s akým rozdielom vyhrá. Ak zistí, že jedna stratégia má 80 % šancu na výhru o 20 bodov a druhá 99 % šancu na výhru o jeden bod, rozhodne sa pre tú druhú.

V druhej hre bolo víťazstvo AlphaGo suverénnejšie, a to aj napriek tomu, že tentoraz hrala s čiernymi kameňmi. Sedol po zápase uviedol, že ani raz počas hry necítil, že je vo vedení a AphaGo hralo podľa neho bez chyby. Podľa ostatných profesionálov bola situácia veľmi vyrovnaná a neurónová sieť zrejme celý čas držala váhy skóre len mierne na svojej strane. Mnoho hráčov označilo jej 37. ťah za unikátny a kreatívny a Sedol po ňom výrazne dlho s ďalším ťahom váhal.

On sám tento ťah spoločne so 151., 157. a 159. označil za brilantný. Najviac pozornosti vzbudila tretia hra, keď AlhaGo opäť zvíťazila, čím sa stala víťazom celého zápasu. To však nebolo to najzaujímavejšie. Kým v predošlých hrách AlphaGo na mnohých pôsobila ako špičkový ľudský hráč, v tretej mnohí profesionálni hráči o tento pocit prišli. Už počas druhého a viac potom počas tretieho zápasu sa objavili zvláštne anomálie, ktoré podľa profesionálnych hráčov vyzerali ako chybné ťahy, ale v neskoršej hre sa ukázali ako mimoriadne strategické.

Človek popustí uzdu fantázii pri pozeraní na oblaky, neurónová sieť pri pozeraní na bežné obrázky

Neurónová sieť skrátka hrala v niektorých špeciálnych prípadoch z hľadiska ľudských hráčov nepochopiteľne. V jednej extrémne komplikovanej výmene dokonca sieť po pár ťahoch prešla na inú časť hracej plochy, strácajúc tak výhodu prvého ťahu, čo podľa tímu DeepMind znamenalo, že došla k záveru, že už v danej oblasti hracej plochy neprehrá, i keď ľudskí hráči to ešte rozpoznať nedokázali. AlphaGo po 48. ťahu získala kontrolu nad hrou a Lee Sedol prešiel do defenzívy. Jeho niekoľko následných protiútokov okolo 70. a následne 100. ťahu neurónová sieť perfektne odrazila.

Štvrtá hra bola jediná, ktorú sieť AlphaGo prehrala. Šlo o veľmi zaujímavú situáciu, pretože skóre bolo dlho veľmi vyrovnané a AlphaGo podobne ako v minulosti mierila na tesnú ale istejšiu výhru. Podľa tímu DeepMind urobila neurónová sieť v 79. ťahu chybu, pričom v tom čase odhadovala svoju šancu na výhru ešte okolo 70 %. Po Sedolovom brilantnom 78. ťahu však pravdepodobnosť kalkulovaná AlphaGo letela strmo dolu.

V tomto momente došlo k zaujímavému javu. AplhaGo spoznala, že prehrala a kým jej ťahy 83., 84. a 85. ešte dávali zmysel, následne začala používať také, ktoré jej situáciu ešte z hľadiska skóre zhoršovali a pôsobili absurdne. Bolo vidieť, že jej bolo „jedno“ o koľko prehrá, ale skúšala hlúpe a zúfalé ťahy, ktoré jej ešte mohli zaručiť výhru za predpokladu, že oponent na ne zareaguje chybne a nevhodne, čo sa však stáva len začiatočníkom a nie hráčom s 9. danom.

Pri poslednej piatej hre už k žiadnemu prekvapeniu nedošlo. AlphaGo síce v úvode dosahovala nižšie skóre, ale postupom času hru vyrovnávala a perfektnou hrou v koncovej časti víťazstvo preklopila na svoju stranu. Ukončila tak zápas víťazne so skóre 4:1 a definitívne potvrdila, že prešla v hre Go do nadľudskej úrovne.

Tento článok vyšiel aj v tlačenom májovom vydaní TOUCHIT č. 4/2016, preto sa niektoré skutočnosti uvednené v článku, môžu odlišovať oproti aktuálnemu dátumu publikovania.

Značky:

František Urban

František Urban
Zameriavam sa najmä na prehľadové a analytické články z oblasti najrôznejších technológií a ich vývoja. Nájdete ma takisto pri diagnostike HW a SW problémov.