Neuronové sítě – základy rozpoznávání znaků

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í.

Princip

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
Tento systém je založen na tom, že každý řádek je zakódovaný do čísla 0 až 255 (šířka 8 bodů tj. 8 bits) a každé číslo je následně normalizované k hodnotám 0 až 1 pro vstup do neuronové sítě. Počet vstupů neuronové sítě pro síť 8×8 tedy bude 8.

Neuronové sítě - rozpoznávání znaků - kódování řádku

 

Po bodech
Každý bod je přímo vstupním parametrem neuronové sítě s tím, že prázdný bod je 0 a plný bod je 1. Počet vstupů neuronové sítě pro 8×8 je tedy 64.

Neuronové sítě - rozpoznávání znaků - kódování body

Neuronová síť - rozpoznávání znaků

Vstupní parametry

Z principu zakódování vstupních parametrů tedy vyplývá počet vstupních parametrů 8 nebo 64.

Výstupní parametry

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á).

Tvar neuronové sítě

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.

Aplikace

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-

Odkazy

Další projekty Neuronové sítě

Galerie

| Více