Neurony nejen v mozku (5)

O tom, jak vlastně neuronové sítě myslí, si povíme v dnešní části našeho seriálu. I přesto, že toto téma může na první pohled působit nesrozumitelně, doufám, že pro vás bude zajímavé a přínosem.

Síť s pevnými vahami

Od roku 1943 můžeme hovořit o umělých neuronových sítích. V tomto roce totiž fyziologové McCulloch a Pitts publikovali první článek, ve kterém přesně formulovali model neuronové sítě s pevnými vahami a doložili ho na příkladech. Chci upozornit, že tito dva badatelé byli nejen fyziologové, ale uměli i základní kupecké počty a algebru. Chtě nechtě budeme muset tyto nástroje používat i my, jinak bychom mohli těžko pochopit, jak tyto sítě vlastně myslí. Pro základní výpočty nám postačí dovednosti typu násobení, sčítání, odčítání a případně jednoduché používání funkcí, takže nemusíte mít žádné přehnané obavy z toho, co vás čeká v dalším textu. Vycházet budeme z následujícího seznamu dovolených hodnot signálu v neuronové síti.

Hodnoty v neuronové síti

Slovní vyjádření Číselná hodnota
ano +1
napůl 0
nevím 0 ?
ne -1

Signály v síti jsme zatím chápali jako velmi obecný pojem. Nejčastěji jsou zpracovávány neuronovými sítěmi logické hodnoty. Hodnotě ANO bude odpovídat hodnota +1, protože je to pro nás pozitivní zjištění. Hodnotě NE hodnota opačná, tedy -1 a hodnotě NAPŮL respektive NEVÍM odpovídá kompromisní hodnota 0. Chceme-li pochopit, jak pracuje síť s pevnými vahami, stačí už jen popsat chování jednoho neuronu v tzv. McCulloch-Pittsově modelu. Chování jednoho neuronu je popsáno vzorcem: y=sign (W0 + W1X1 + W2X2 + ... WnXn)

Kdybychom se na tento vzorec blíže podívali, zjistíme, že jsou zde váhy W a signály X, které se postupně násobí a sčítají. Není to nic světoborného. Matematicky jde o skalární součin vektoru vah a vektoru vstupních signálů a tuto operaci zvládají běžně prodavačky v samoobsluze, když zjišťují celkovou cenu nákupu tím, že násobí postupně množství zboží a jejich ceny.
Jak tedy funguje jednoduchý model neuronu z roku 1943? Vezmeme vstupní signály, které mají dovolené hodnoty v rozsahu od -1 do 1, tyto signály postupně vynásobíme vahami a výsledné hodnoty sečteme. Součet může vyjít jako číslo záporné, kladné, nebo nulové. Ve vzorci uvedená funkce signum vlastně násilím signál zdeformuje tak, aby zase nabýval buď hodnoty 0 v případě, že součet je nulový, hodnoty +1, když je součet kladný, nebo hodnoty -1, když je součet záporný. Takto vzniklý výstupní signál neuronové buňky Y nabývá opět logických hodnot ANO, NE, NAPŮL a je vhodný k dalšímu zpracování. Nejkrásnější na období od roku 1943 do roku 1969 bylo teoretické i heuristické snažení badatelů vedoucí k určení konkrétních vah v síti. V prvním období, které bylo vysloveně heuristické, se nepředpokládalo, že by tyto váhy určovaly nějaký systém automaticky, ale autoři se pokoušeli nalézt různé kombinace ručně. Abychom si přiblížili situaci, podívejme se do tabulky, kde máme veškeré podklady pro řešení prvního problému s duhou.

Kdy vidím duhu?

Prší Svítí Rozhled Duha
-1 -1 -1 -1
-1 -1 +1 -1
-1 +1 -1 -1
-1 +1 +1 -1
+1 -1 -1 -1
+1 -1 +1 -1
+1 +1 -1 -1
+1 +1 +1 +1

Jako lidé máme jasnou zkušenost s tím, že duha není vidět jen tak někdy, ale pouze v případě, kdy současně prší, svítí sluníčko a máme dostatečný rozhled. Potom můžeme při souhře těchto okolností, která nastane málokdy, duhu spatřit. Uvedená tabulka tuto skutečnost popisuje pomocí +1 a -1. V posledním řádku tabulky je jediný případ z osmi základních, kdy je duha vidět. Proto je hodnota výstupu duha rovna +1 pouze v případě, kdy všechny vstupy jsou také rovny +1. Jednotlivé řádky takové tabulky budeme chápat jako vzory k učení neuronové sítě. Celá tabulka je potom množinou vzorů k učení. Při nastavování sítě jde o to, jak všem řádkům vyhovět a nalézt ty nejlepší hodnoty vah W0, W1, W2, W3. V raném období se tyto úlohy řešily zkusmo a heuristicky, a proto se rovnou podívejme na další obrázek, jak takové řešení vycucané z prstu vypadá.

Vidíme zde vstupní červené neurony se slovním označením vstupním výroků a výstupní modrý neuron s výstupním výrokem o duze. Všechny tři váhy od vstupních neuronů mají váhy rovné +1. To znamená, že všechny tři vstupy mají stejně velkou a ještě k tomu pozitivní šanci svou kladnou hodnotou způsobit, že by duha mohla nastat, zatímco jejich záporné hodnoty budou působit proti vzniku duhy. Všimněte si, že v modrém výstupním neuronu je napsáno číslo -2, které odpovídá váze W0. Jak vlastně postupovat při výpočtu výstupního signálu podle uvedeného obrázku? Stačí hodnoty všech vstupů vynásobené +1 sečíst a přičíst -2. Pokud vyjde kladné číslo, zajásáme, protože bude vidět duha. V případě záporného součtu nám duha vidět není. Musíte uznat, že hledání celočíselných vah je dobré na bystření vlastního rozumu podobně jako třeba luštění křížovek. Měli jsme štěstí, že problém s duhou není těžký, a právě jsme vytvořili logickou funkci AND - a současně.
Aby vám z těch jedniček a nešla hlava kolem, pro dnešek na tomto místě skončíme. Příště vyřešíme další logický problém - Kdy jsem spokojen? a zabrousíme i do teorie veřejné volby - k tzv. Hlasovacímu problému.