Modely neurónových sietí pre pohľad – Kunihiko Fukushima

Modely neurónových sietí pre pohľad – Kunihiko Fukushima


Neokognitrón pre rozpoznávanie ručne písaných číslic.

Autor už v minulosti navrhol jeden neokognitrón, ktorý rozpoznával obrazové vzorky. Mal hierarchickú multivrstvovú architektúru, a vedel rozpoznávať niekoľko naučených obrazových vzorov. Pozostával z vrstiev obsahujúcich S-bunky, ktoré slúžili na jednoduché rozpoznávanie kôry obrazu čiže jeho okrajov (S ako simple) a komplexné C-bunky (pochopiteľne C ako complex). Tieto vrstvy sú hierarchicky usporiadané. Bunky typu S majú premenlivé vstupné hodnoty a váhy ich prepojení sa počas procesu učenia menia. Bunky typu C zas majú váhy pevne nastavené na konštantnú hodnotu a v najvyšších vrstvách fungujú ako samotné rozpoznávače danej vzorky. My si však popíšeme novú neurónovú sieť od tohoto autora – zdokonalenú, určenú na rozpoznávanie rukou písaných číslic. Na zvýšenie úrovne rozpoznávania bolo pozmenených niekoľko vecí: medzi vrstvami obsahujúcimi S-bunky a medzi vrstvami obsahujúcimi C-bunky bol zvýšený počet prepojení, medzi vstupnou vrstvou a vrstvou rozpoznávajúcou okraje bola pridaná vrstva rozpoznávajúca kontrast, na najvyššej vrstve bol prevedený supervised learning, rozloženie S a C vrstiev je zamotanejšie, atď. Tieto modifikácie umožnili odstránenie vedľajších okruhov z predchádzajúcej neurónovej siete, ako aj v konečnom dôsledku celkové zjednodušenie konštrukcie siete.

Architektúra siete.

Sieť pozostáva zo štyroch S a C vrstiev a počiatočných vrstiev. Vrstve U0 sú prezentované vstupné vizuálne údaje. Potom nasleduje vrstva UG, ktorá slúži na zistenie kontrastu analýzou jasu. Skladá sa z dvoch typov buniek, jedny zisťujú pozitívny kontrast v jase, druhé negatívny (čiže biele a čierne miesta). Ďalej sa informácie dostávajú už k vrstve US1, ktorá bola vytrénovaná na extrakciu okrajov daného obrazca – pretože pôvodný obrázok môže byť pootočený, a to pozor – ľubovoľne! Získané informácie sa ďalej prenášajú do prvej C vrstvy: vrstvy UC1, ktorá vygeneruje rozmazaný obraz danej číslice. V ďalších vrstvách sa generuje zhrubnutie okrajov tohoto rozmazaného obrazu, pričom konce čiar vyvolávajú v C-bunkách väčšiu odozvu. Týmto sa určí kostra daného čísla. Môže tu však nastať problém – pri rozmazaní číslice nevidieť rozdiel napríklad medzi jednou čiarou a dvoma čiarami nakreslenými tesne okolo seba. Toto riešia nasledujúce S-vrstvy, ktoré medzi takéto čiary vložia tzv. tichú zónu, ktorá usmerňuje odozvy týchto častí číslice do C-vrstiev. Toto rozmazanie je tiež dobré na ďalšiu vec: tým že sa obrazec rozmaže je možné prijať istý stupeň deformácie. Zvyšné S a C vrstvy boli vopred naučené rozpoznať číslicu vďaka znalosti kostry. Používajú winner-takes-all metódy a výsledkom je správne určená číslica. Tento neokognitrón vydal 100%-tný výsledok pre trénovaciu sadu, ktorá pozostávala z 3000 ručne napísaných číslic. Táto sada sa volá ETL-1 a vypracovalo ju isté japonské laboratórium. A v praxi, na niekoľko stovák priamo ručne písaných číslic skončila sieť s 98,6%-tným úspechom.

Rozpoznávanie a kompletizácia čiastočne vynechaných znakov

Pre človeka nie je ťažké doplniť nedokreslený obrázok. Ak je ním napríklad nejaké písmeno abecedy, pričom ľudia abecedu poznajú, bez problémov dokážu doplniť zvyšnú časť písmena a to aj v prípade že vynechané časti zanechávajú komplexný obrazec. A ak nám obrazec nie je známy, doplníme ho použitím geometrických častí, ktoré sú nám už známe. Dokáže to multivrstvovú sieť ktorá obsahuje tak dopredné, ako aj spätné prepojenia. To zohráva v kompletizácii vzorky kľúčovú úlohu. Autor opäť už v minulosti zostrojil neurónovú sieť, ktorá dokázala doplniť čiastočne chýbajúce časti obrázkov, ktoré boli používané na testovanie siete. Táto neuronová sieť má takisto vrstvy ktoré obsahujú S bunky a C bunky plniace rovnakú úlohu ako v predchádzajúcej sieti, hlavný rozdiel je v tom, že táto sieť nie je dopredná, ale obojsmerná. Takisto nezáleží na rotácii obrázku, a sieť akceptuje istú úroveň deformácie.