Díl 5
V dnešním díle si zkusíme přiblížit, jak může neuronová síť vyhodnocovat znaky či grafické objekty. Naše oko s napojením na zrakové centrum v mozku se rozpoznávání objektů učí od prvního zásahu sítnice fotonem. Citlivé receptory v našem oku reagují na světlo, tam se přemění na elektrické impulsy a ty se zpracují ve zrakovém centru (toto známe ze školy).
Na první pohled to vypadá jednoduše, ale pokud se do problému ponoříte hlouběji, zjistíte, že musíte zpracovat nespočet dílčích úkonů... nalezení příslušného objektu, eliminace rušivých objektů, otáčení obrazu a hledání roviny pro dekódování textu, konverze daného stylu zápisu, rozpoznání jednotlivých znaků atd. My si zkusíme naznačit, jak se neuronová síť naučí rozpoznat znaky či objekty v konečné fázi vyhodnocení.
Pro náš experiment jsme zvolili síť velikosti 8×8 s body bílá (prázdný) a černá (plný) (samozřejmě obdobně se dá zakódovat i jiný rozměr). Zvolili jsme dva způsoby kódování:
Po řádcích |
|
Po bodech |
Z principu zakódování vstupních parametrů tedy vyplývá počet vstupních parametrů 8 nebo 64.
Počet výstupních parametrů je dle počtu dekódovaných znaků. První výstup je k prvnímu znaku druhý k druhému atd. Výstup je posléze denormalizován do hodnot 0 až 100 % (nejvyšší hodnota mezi výstupy pak určí nejpodobnější znak, kterýmu se objekt podobá).
Počet vstupních parametrů je teda 8 nebo 64 a počet výstupních parametrů je závislý na počtu dekódovaných znaků. Pro naše experimenty jsme použili sítě např.: 8-15-3, 8-18-9-8, 64-18-9-8 apod.
Testovací aplikace obsahuje nápovědu (najetím myši na určitý prvek), ale tady je stručný přehled:
UraxEye.zip (C++) aplikace ke stažení (448 kB)
(Stažený soubor rozbalte do nějakého adresáře. Balíček obsahuje aplikaci a vzorová data.)
V dalším pokračování si zkusíme snad už nějakou hru.
Shrimphood.net přeje příjemné dešifrování
-fjura-
Další projekty Neuronové sítě