Google uvolnil kód neuronové sítě. Snít může i vaše PC

Google se v červnu pochlubil, co umí jeho obrázková umělá inteligence, když dostane příkaz, aby začala kreslit náhodné obrázky. Nyní si to může vyzkoušet i široká veřejnost.

Google se letos v červnu pochlubil, co dokáže jeho technologie rozpoznávání předmětů na fotografiích, pokud ji inženýři použijí trošku jiným způsobem.

Za běžných podmínek robot prochází fotografii za fotografií a pokouší se na nich identifikovat různé předměty ze své obrazové databáze. Když je na snímku pes.jpg ve skutečnosti kočka, může pak Google soubor správně zařadit prezentovat ve svém vyhledávači.

705136826
ImageNet – obří akademická databáze detailně roztříděných obrázků. V podstatě se jedná o anglicko-obrázkový slovník, na jehož základě se může robot učit, jak vypadají jednotlivé objekty. 

Aby to mohlo fungovat, Google musí vědět, jak jednotlivé předměty vypadají. K tomu slouží obrazové korpusy, což jsou vlastně obří databáze referenčních fotografií. Jednou z nich je třeba projekt ImageNet, který se dnes skládá ze 14 milionů lingvisticky velmi detailně popsaných snímků. Chytrý software se na základě této referenční databáze naučí, jak různé předměty vypadají, a může je pak identifikovat i na dalších fotografiích.

Neuronová síť Googlu se učí snít

Během červnového experimentu, o kterém jsem se rozepsal ve starším článku, předložili inženýři Googlu podobně nacvičenému softwaru fotografii oblohy a dali mu příkaz, ať ve snímku zobrazí cokoliv, co v něm vidí.

Tento problém řeší softwarová neuronová síť, což je ideální výpočetní model pro strojové učení a složité paralelní úlohy. Neuronová síť Googlu pro identifikaci obrázků se skládá z několika úrovní, z nichž každá analyzuje fotografii různým způsobem. Jedna vrstva může zesilovat hrany, druhá barvy, třetí hledá komplexní předměty a poslední složí vše dohromady.

190769298 934719426
Vlevo vstupní fotografie nebe a vpravo pak tentýž snímek obohacený o různé objekty, které na fotografii vidí neuronová síť Googlu

Když tedy neuronová síť Googlu uviděla snímek nebe, zpracovávala jej tak dlouho, dokud ji kus oblaku nezačal připomínat třeba psí hlavu, kterou poté do snímku vykreslila. Jenže při dalším průchodu ji mrak se psí hlavou připomínal zároveň rybu, a tak se nakonec místo obláčku objevilo jakési monstrum složené hned z několika tvorů. Umělá inteligence tedy vytvořila cosi, co v reálném světě neexistuje, a tím pádem dosáhla určitého prvotního stupně své vlastní imaginační schopnosti. Pokud by tyto nové a doposud neexistující objekty uložila do své paměti – do referenční databáze, můžeme už opravdu mluvit o jakési primitivní formě představivosti – snění.

412647158
Google v oblacích našel různé skutečné objekty ze své referenční databáze, když je ale začal autonomně kombinovat, vytvářel vlastně zcela nové a doposud neznámé věci – třeba prasošneka a psorybu.

Deep Dream na GitHubu

Robot nakonec stvořil překrásné snové kompozice a Google si byl svým dílem natolik jistý, že postup uvolnil na GitHubu pod názvem Deep Dream. Projekt využívá Python a hromadu jeho knihoven pro matematické výpočty a především technologii samotné neuronové sítě pro strojové učení jménem Caffe, která vznikla na půdě univerzity v Berkeley.

Pokud máte slušný hardware (Caffe k chodu vyžaduje grafické karty s technologií CUDA) a vše správně nainstalujete (návod k instalaci Caffe, knihoven a postup v Pythonu najdete zde), můžete na své mašině generovat stejné zasněné snímky jako Google na svých superpočítačích.

Deep Dreamer pro OS X

Instalace hromady technologií s nejistým výsledkem ovšem není pro každého, vývojáři ze společnosti Realmac to tedy běžným smrtelníkům usnadnili a pro uživatele OS X připravili program Deep Dreamer, který je postavený právě na kódu Deep Dream. Namísto složité instalace se ale jedná o běžný grafický program, do kterého nahrajete fotografii, pohrajete si s několika šoupátky a výsledkem bude to samé.

Deep Dreamer je v základní a omezené betaverzi zdarma a v plnotučné podobě je k dispozici za tři stovky. Ani on ale není pro každého, strojové rozpoznání objektů na snímku pomocí některého z dostupných grafických korpusů (k dispozici je třeba databáze zvířat) je totiž i v tomto případě velmi náročný proces.

268825166 744543893 192009527
Vygenerované snímky z Deep Dreameru. V prvních dvou snímcích hledá stroj předměty podle své referenční databáze (zvířata), v tom třetím pak zase zesiluje hrany a vzniká tak efektní pseudomalba. 

Když jsem tedy o vygenerování několika obrázku poprosil redakčního kolegu z Computeru Jakuba Michlovského, po hodině vykreslování jediného obrázku mi napsal rozčílenou zprávičku, že je stěží ve třetině a ať na to zapomenu. Po dvou hodinách přemlouvání mi ale přeci jen něco poslal:

242861138 149948950
Několik prvních průchodů hledacího mechanizmu. Kdyby jich Kuba použil více, ve snímcích se objeví ještě roztodivnější tvary, ale čas zpracovávání vzroste geometrickou řadou.
569091661
A ještě jeden snímek ze samotného průběhu zpracovávání – všimněte si v rámu okna čísel, které napovídají, že byl zdrojový obrázek rozdělen na hromadu menších segmentů, které se postupně analyzují

Webový Deepdreamer.io

Naštěstí je tu ještě jedna možnost – síla datového centra. Technologii si tedy můžete s vlastní fotografií vyzkoušet i na webu Deepdreamer.io. Výsledek se nedozvíte hned a stejně tak nemůžete upravit žádné parametry, ale až bude hotovo, webová služba vám odešle e-mail. Jelikož je o službu momentálně enormní zájem, počkáte si v lepším případě i několik hodin.

221729146 562095323 
Deepdreamer.io v akci

To nejdůležitější na závěr: Google chce vidět vaše výsledky. Pokud tedy některou z těchto cest vytvoříte efektní výtvor, určitě jej nahrajte na některou ze sociálních sítí a k příspěvku připojte hashtag #deepdream. Docela slušná sbírka vygenerovaných snímků z neuronové sítě Googlu je už k dispozici na Twitteru nebo třeba na Redditu.

962949186 80629359 40799542 269963154 120038966 398794818 467358972 896655369 506928142 437943197 388978285 730808978
Ukázky publikované na Twitteru a Redditu. Všimněte si, že neuronová síť nalézá a vykresluje do podkladových fotografií převážně zvířata, takže snímky pocházejí povětšinou z jablečného Deep Dreameru, který jako referenční databázi používá právě zvířata (takže jiným objektům nerozumí).

Takže hurá do toho, ať se ty syntetické neurony trošku zapotí.

Diskuze (28) Další článek: Nový monitor od Samsungu umí bezdrátově dobíjet mobilní telefon

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,