Umělé neuronové sítě a neuroevoluce

Jednou z hlavních výhod inteligentních živočichů je jejich schopnost učit se. Ať už si to uvědomujeme či nikoli, tak v okamžiku, kdy jsme se narodili (s výjimkou pár základních instinktů) jsme neuměli vůbec nic. Všimněme si například, že právě nyní sedíme u počítače, který hbitě ovládáme, naše prsty běhají po klávesnici či klikají na myš. To všechno jsme se museli naučit.

Pokud Vám výše uvedený příklad přijde málo fascinující či snad samozřejmý, zkusme se zamyslet nad tím, co dělali naši předci. Již tisíce let je genofond člověka takřka neměnný – kdybychom se starověké batole přesunulo v čase do naší současnosti, bez problémů by se naučilo všechno, co umíme my a nikdo by u něj nepozoroval "jinakost". Co že je na tom tak fascinujícího? No přece to, jaký univerzální nástroj máme v hlavě! Náš mozek se vyvinul v evoluci tak, abychom uměli opracovávat pazourky a sbírat plody rostlin. Je tedy s překvapením, že tentýž mozek, který lidé používali např. ve starověku, je natolik univerzální, že nám dnes pomáhá ovládat počítač! Vypadá to tedy, že člověk zvítězil v evoluci ne díky tomu, že byl silnější, než někdejší konkurenti, ale díky tomu, že je velmi univerzální, naučí se cokoli a přizpůsobí se čemukoli. Schopnost ovládat počítač jistě nebyla tím, co nám kdysi umožnilo přežít. A přesto to umíme, aniž by to po nás pan Darwin přímo vyžadoval!

Co je to tedy za zázračnou strukturu, kterou máme v hlavě? Moderní lékařská věda říká, že se jedná o stamiliardy nervových buněk, tzv. neuronů, které jsou propojeny téměr biliardou nervových spojů, tzv. synapsí. Ačkoli studium takové struktury je nesmírně obtížné a stále jsme na míle vzdáleni od jejího pochopení, je přirozenou výzvou pro umělou inteligenci takovou strukturu zkusit napodobit.

Výzkum tzv. umělých neuronových sítí započal již ve 40. letech 20. stol. Umělá neuronová síť je de facto datová struktura, která je schopna reagovat na předem neznámé vstupy. V původním pojetí byly umělé neuronové sítě používány k učení se z příkladů (tzv. učení s učitelem). Vzpomeňme si na situace, kdy jsme se spálili o něco horkého. V takovou chvíli jsme pocítili bolest, tj. negativní zpětnou vazbu na naše počínání. V takových chvílích se výrazně mění struktura synapsí v našem mozku, neboť se poučujeme z chyby: na horké věci se nesahá! Velmi podobně to funguje u učení s učitelem. Představme si, že chceme pomocí umělé neuronové sítě diagnostikovat, zda je pacient s naměřenými indikátory krevního obrazu zdravý či nemocný. Budeme postupovat tak, že síti vždy předložíme na vstupu naměřené hodnoty a budeme sledovat, co nám odpoví o pacientově stavu. V momentě, kdy se splete, dáme síti negativní zpětnou vazbu a síť na základě toho upraví svoje parametry. Činíme-li tak opakovaně na dostatečně reprezentativním vzorku pacientů, síť se časem naučí pacienty správně diagnostikovat. Je to sice velké zjednodušení, ale v principu přesně takto sítě používáme.

V posledních desetiletích vzniká celá řada dalších algoritmů na učení neuronových sítí – některé se snaží budovat strukturu sítě nikoli pomocí zpětné vazby, nýbrž evolučními algoritmy. Takovému přístupu říkáme neuroevoluce. Neuroevolucí může být např. šlechtěna populace kandidujících sítí s tím, že necháváme reprodukovat, křížit a mutovat ty sítě, které se chovají nejlépe. To nám umožňuje mnohem více, než jen diagnostikovat pacienty – např. vytvářet jednotky řídící postavičky v počítačových hrách!

JavaScriptová animace níže ukazuje algoritmus, který byl vyvinut u nás na fakultě: Group of Adaptive Models Evolution (GAME) síť. Síť obsahuje vylepšené neurony reprezentující různé matematické funkce. Je budována po vrstvách tak, že neuronky v každé vrstvě procházejí evolucí, tedy jsou kříženy, mutovány atd. Síť se buduje tak dlouho, dokud se její chování zlepšuje. Na ukázce můžeme vidět konstrukci takové sítě na známém datasetu Iris, což jsou druhy kosatců (orchideií). Na základě rozměrů okvětních lístků je pak síť schopna určit, zda se jedná či nejedná o daný druh kosatce či nikoli.

Pokud Vás problematika neuronových sítí zaujala, nezapomeňte si po nástupu na FIT zapsat předmět BI-ZUM: Základy umělé inteligence!