I-SVVI - Zadanie č.1 - neurónová sieť v Pythone

Vytvorte a overte neurónovú sieť (NS), ktorá bude schopná rozpoznávať znaky číslic od 0 po 9, s nasledovnými parametrami:

  • Vstupom do NS je mriežka buniek 4x7 (napr. CCD snímač), t.j. NS má 28 vstupov s rozsahom <0;1>, kde hodnota 0 predstavuje biele a 1 čierne políčko. Medzi tým sú stupne šedej farby.
  • NS má 10 výstupov s rozsahom <0;1>, kde každý výstup prislúcha jednej rozpoznanej číslici. Hodnotu 1 môže nadobúdať práve jeden výstup.

NS sa natrénuje na vstupno-výstupných dátach pre číslice 0 až 9 zakódovaných do 28-prvkových riadkových vektorov:
Vstup: znak 1 = [0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ]
Výstup: znak 1 = [1 0 0 0 0 0 0 0 0 0]
...
Vstup: znak 0 = [0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 0 ]
Výstup: znak 0 = [0 0 0 0 0 0 0 0 0 1]

Po natrénovaní bude sieť schopná rozpoznávať všetky naučené znaky.

Úloha:
1. Experimentálne zistite, aké veľké porušenie obrazovej informácie ešte NS zvládne, t.j. nájdite prípady, kde sieť znak nerozpozná. Zašumením sa chápu iné hodnoty než 0 alebo 1. Porušením sa chápe, že niektoré prvky matice sú vymenené, posunuté alebo majú doplnkové hodnoty.

2. Overte vplyv rôznych architektúr neurónovej siete (iná aktivačná funkcia, iný počet neurónov v skrytej vrstve, iný počet skrytých vrstiev...).


Dôležitou súčasťou zadania je tvorba prehľadnej dokumentácie. V dokumentácii vysvetľujete vaše zistenia a funkcionalitu najdôležitejších fragmentov kódu. Očakáva sa využitie obrázkov (grafov). Neodovzdávajte teda textový súbor txt. Nehodnotí sa len zdrojový kód, ale práve aj dokumentácia, ktorá má dokázať fakt, že ste porozumeli tomu, čo ste robili a vaše zistenia ste zmysluplne zaznamenali a zdôvodnili. Napríklad ak na trénovanie siete využívate aj porušené dáta, je nutne potrebné vysvetliť prečo.

Hodnotenie sa bude odvíjať od celkovej kvality projektu.
Zadanie je hodnotené 20 bodmi.

Odovzdávať budeme do pripraveného miesta odovzdania (Priradené úlohy / Assignments) v Microsoft Teams do 23:59 v sobotu 1.11. Keďže miesto odovzdania sa vtedy zatvorí, oneskorené odovzdanie prebieha poslaním mailu prednášajúcemu Erikovi Kučerovi so zdrojovým kódom a dokumentáciou s rozborom riešenia s predmetom "SVVI - ONESKORENE - priezvisko". Bodová penalizácia za každý deň oneskorenia je 1 bod.

Pekná ilustrácia je zostrojená v múzeu vo Viedni: