Univerzita Komenského v Bratislave
Fakulta matematiky, fyziky a informatiky
Rozpoznávanie rukou písaného textu
Bakalárska práca
2017
Marián Skrip
Univerzita Komenského v Bratislave
Fakulta matematiky, fyziky a informatiky
Rozpoznávanie rukou písaného textu
Bakalárska práca
tudijný program: Aplikovaná Informatika
tudijný odbor: 2511 Aplikovaná Informatika
koliace pracovisko: Katedra informatiky
kolite©: RNDr. Peter Borovanský, PhD.
Konzultant: Mgr. Peter Gerge©
Bratislava, 2017
Marián Skrip
Obsah
1 Existujúce rie²enia 1
1.1 Mathpix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 O programe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Technológia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.3 Pouºitie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.4 Funkcionalita . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.5 Test funkcionality . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Photomath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 O programe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Technológia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Pouºitie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.4 Funkcionalita . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.5 Test funkcionality . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Neurónová sie´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Dopredná neurónová sie´ . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Rekurentná neurónová sie´ . . . . . . . . . . . . . . . . . . . . . 5
1.3.3 Modulárna neurónová sie´ . . . . . . . . . . . . . . . . . . . . . 5
1.3.4 Konvolu£ná neurónová sie´ . . . . . . . . . . . . . . . . . . . . . 5
1.4 Aktiva£ná funkcia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Inicializácia váh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5.1 Normálová distribúcia . . . . . . . . . . . . . . . . . . . . . . . 7
1.5.2 Pravidelná odchýlka s priemerom 0 . . . . . . . . . . . . . . . . 7
1.5.3 Xavierova inicializácia . . . . . . . . . . . . . . . . . . . . . . . 8
1.5.4 Pridané 1/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Existujúce kniºnice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.1 Ca�e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.2 Torch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.3 Theano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6.4 TensorFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
i
Kapitola 1
Existujúce rie²enia
V sú£asnosti existuje pár funk£ných rie²ení problému, ktorému sa hodlám venova´ v
tejto práci. Rozpoznávanie rukou písaného matematického textu je populárny smer
pre technológiu neurónových sietí a strojového u£enia, jednak pre vzdelávacie, resp.
akademické ú£ely, ale aj pre automatizovanú digitalizáciu rôznych vedeckých publikácií
a iných prác.
1.1 Mathpix
1.1.1 O programe
Táto multiplatformová mobilná aplikácia [1] (Android, IOS) bola vyvinutá v roku 2016
tímom 4 ©udí. Aplikácia slúºi na rozpoznávanie rukou písaných matematických výra-
zov. Aplikácia je zameraná na jednoduchos´ pouºívania, rovnako ako aj na presnos´
a pochopite©nos´ výsledkov, vzniknutých po preskenovaní ©ubovo©ného matematického
problému.
1.1.2 Technológia
Aplikácia ponúka pouºívate©ovi moºnos´ odfoti´ a následne oreza´ túto fotogra�u ru-
kou písaného matematického problému. Pod©a mojich zistení túto fotogra�u následne
aplikácia odo²le na server, ur£ený na rozpoznávanie znakov a prekladanie takýchto
matematických príkladov do jazyka, ktorý je ©ahko interpretovate©ný pouºívate©ským
zariadením. K tomuto záveru som do²iel kvôli tomu, ºe existuje vo©ne dostupný skript
[3], ktorý pristupuje na server API od Mathpix-u a technológiou REST API � �Re-
presentational state transfer�, teda odosielanie http poºiadaviek na server a £akanie
na odpove¤, kde odpove¤ je vo formáte JSON s rôznymi atribútmi, ktoré podrobne
popisujú zadaný matematický výraz. Tento API server je okrem aplikácie Mathpix po-
uºívajú aj iné podobné implementácie.
1
1.1. MATHPIX KAPITOLA 1. EXISTUJÚCE RIEENIA
Snaºil som sa zisti´ viac o technológii, ktorú pouºívajú na segregáciu a identi�káciu
výrazov. Respektíve popis procesu, ktorým výraz prechádza, ale bohuºia© mi neodpo-
vedali.
1.1.3 Pouºitie
Po odfotení a odoslaní fotogra�e matematického výrazu je pouºívate©ovi okrem repre-
zentácie výrazu a výsledku zobrazená aj jeho gra�cká reprezentácia vo forme grafu,
ak je to moºné rovnako je mu zobrazený aj postup, ktorým sa k danému výsledku dá
dopracova´, £o z tejto aplikácie rozhodne vytvára nástroj vhodný na vzdelávacie ú£ely.
1.1.4 Funkcionalita
Aplikácia podporuje funkcionalitu ako napríklad pridanie moºnosti meni´ hodnotu pre-
mennej pomocou posuvníka, pri£om sa táto zmena zárove¬ zobrazuje napríklad na grafe
funkcie. Z poh©adu funk£nosti rozpoznávania matematických výrazov, funguje táto ap-
likácia ve©mi dobre. Aplikácia nemá problém z rozpoznaním samostatných znakov ani
celých výrazov, ako napríklad rovníc, nerovníc, alebo funkcií.
1.1.5 Test funkcionality
Ako test rozpoznávacej £asti aplikácie pouºijem nasledujúce dva postupy:
• Rukou písaný výraz s jemne prekrývajúcimi sa znakmi (beºný prípad pri písanírukou), £o testuje spôsob, ktorý je pouºitý na separáciu jednotlivých znakov.
• Výraz s viacnásobným horným alebo dolným indexom (problém umiestnenia zna-kov pri rozde©ovaní a spájaní výrazu, ktorý bol rie²ený v £lánku [4] , kde je na-
vrhnutý postup na pred-spracovanie (odstránenie ²umu, normalizácia), segmen-
táciu (vertikálna aj horizontálna), extrakciu príznakov, klasi�káciu, rozpoznanie
symbolov a rekon²trukciu matematického výrazu. Tento postup teda navrhuje
rekon²trukciu do matice, ktorá je zloºená z 3 riadkov a n st¨pcov, £o o£ividne
zabra¬uje rozpoznaniu výrazov, ktoré obsahujú viacnásobné horné alebo dolné
indexy.
Tento test sa poda-
ril úspe²ne av²ak nie na
prvý krát, znak x`, totiº
mala aplikácia problém ro-
zozna´.
2
1.2. PHOTOMATH KAPITOLA 1. EXISTUJÚCE RIEENIA
S týmto Mathpix nemal
ºiadne problémy.
S týmto testom mala v²ak
aplikácia dos´ ve©a problé-
mov, ako je vidie´, nepo-
darilo sa mi dosiahnu´, aby
posledný dolný index vo
výraze bol správne identi-
�kovaný. Pri viacerých po-
kusoch takisto aplikácia ne-
vedela rozozna´ ani ostatné
dolné indexy.
V celku aplikácia Mathpix uspela v týchto jednoduchých testoch aj ke¤ som si
vedomý, ºe to nie je správna forma testovania, ale pomôºe pri porovnávaní s ostatnými
uº existujúcimi rie²eniami.
1.2 Photomath
1.2.1 O programe
Rovnako ako predo²lá aplikácia, aj Photomath [2] bola vyvinutá v roku 2016 a je tieº
multiplatformová (Android, IOS) . Slúºi na rozpoznávanie rukou písaných matematic-
kých výrazov. Na rozdiel od aplikácie Mathpix, neumoº¬uje vykres©ovanie matema-
tických grafov a objektov, ale viac na rýchle výpo£ty rovníc a nerovníc, ako aj ich
sústav.
1.2.2 Technológia
Nedokázal som sa dopracova´ k tomu, akú technológiu na rozpoznávanie matematic-
kých výrazov táto aplikácia, av²ak rovnako ako Mathpix, na svoje fungovanie potrebuje
internetové pripojenie, teda vyuºíva nejakú formu servera. Pri porovnaní výkonu a res-
ponzivity týchto dvoch aplikácii je na prvý poh©ad zrejmé, ºe Photomath je tá rýchlej-
²ia, £o môºe by´ spôsobené rozdielom mnoºstva generovaných údajov, Photomath totiº
neponúka napríklad gra�ckú reprezentáciu problému.
3
1.2. PHOTOMATH KAPITOLA 1. EXISTUJÚCE RIEENIA
1.2.3 Pouºitie
Aplikácia sa snaºí poskytova´ jednoduché a intuitívne ovládanie. Celý proces rozpoz-
návania matematického výrazu je priamo£iary: po zapnutí aplikácie sta£í nasmerova´
zariadenie na rukou napísaný výraz a aplikácia za pár sekúnd zobrazí výsledok, ak k
nejakému dospeje. Tento rozpoznaný výraz sa dá ¤alej ru£ne upravi´ pomocou kalku-
la£ky.
1.2.4 Funkcionalita
Aplikácia mimo rozpoznávania rukou písaných matematických výrazov ponúka aj ich
upravovanie v �smart� kalkula£ke a rovnako aj ponúka moºnos´ zobrazi´ postup výpo£tu
zadaného výrazu, ktorý je ve©mi dobre vysvetlený a popísaný.
1.2.5 Test funkcionality
Rovnako ako v predo²lom prípade pouºijem dva body na otestovanie ako �exibilná je
rozpoznávacia £as´ tejto aplikácie:
S prelínajúcimi sa znakmi,
nemala aplikácia ºiadny
problém.
Viacnásobný horný index
aplikácia nezvláda ve©mi
dobre rozpoznáva´.
Niekedy ho úplne ignoruje.
Kombinované indexy vy-
produkovali viac rôznych
výsledkov, av²ak ºiadny z
nich nebol správny.
Ke¤ºe sa aplikácia jasne sústredí na efektivitu, tak je dopad na funk£nos´ a presnos´
samotného rozpoznávania pochopite©ný.
4
1.3. NEURÓNOVÁ SIE KAPITOLA 1. EXISTUJÚCE RIEENIA
1.3 Neurónová sie´
Neurónová sie´ v informatike, je výpo£tový model, ktorý má za úlohu simulova´ vlast-
nosti biologických nervových systémov, ktoré sú pouºívané v strojovom u£ení. Dajú sa
reprezentova´ ako grafy, ktoré obsahujú vrcholy (neuróny), ktoré majú n vstupov (sy-
napsií) a jeden výstup (axón). Kaºdy takýto vrchol ma nejakú funkciu, ktorá nejakým
spôsobom spo£ítava hodnoty, ktoré na vstupoch má, pri£om kaºdému prikladá ur£itú
váhu. Trénovanie neurónovej siete je teda proces, ktorý vedie k takému vyladeniu spo-
mínaných váh pre kaºdý vrchol, aby neurónová sie´ dospela k o£akávanému výsledku
pri danom vstupe. Tento proces umoº¬uje ve©ké mnoºstvo dát, ktoré cez neurónovú
sie´ v procese trénovania prejde. Práve to je to, £o sa v poslednej dobe zmenilo, to £o
spôsobilo úspe²nos´ tejto technológie v dne²nej dobe je okrem výpo£tovej sily existujú-
ceho hardvéru aj mnoºstvo prístupných dát. V sú£asnosti existuje nieko©ko architektúr,
ktoré sú pouºívané na vytvorenie modelu neurónovej siete.
1.3.1 Dopredná neurónová sie´
Tento model neurónovej siete bol vytvorený ako prvý a zárove¬ je to aj najjednoduch²í
typ architektúry. V takomto modely sa informácia hýbe len jedným smerom a teda do-
predu. Dáta za£ínajúce na vstupe pokra£ujú do skrytých vrcholov, ak nejaké v modely
sú, a kon£ia vo výstupe. Nie sú tu ºiadne cykly.
1.3.2 Rekurentná neurónová sie´
Toto je presný opak doprednej siete a to v tom, ºe vyuºívajú dvoj smerné ²írenie
signálov v rámci ur£enej £asovej postupnosti. Signál sa rovnako môºe ²íri´ aj v rámci
jedného vrcholu (neurónu). Proces trénovania rekurentnej neurónovej siete je iný ako
proces trénovania iných sietí, je to napríklad RTRL algoritmus [6].
1.3.3 Modulárna neurónová sie´
V biologickom výskume bolo zistené, ºe ©udský mozog nefunguje ako jedna obrovská
neurónová sie´, ale skôr ako súbor viacerých men²ích sietí, ktoré spolu komunikujú. Toto
zistenie podmienilo vznik modulárnych neurónových sietí, ktoré fungujú podobným
spôsobom.
1.3.4 Konvolu£ná neurónová sie´
Táto architektúra je zaloºená na predpoklade, ºe vstup je stále obrázok. Tento pred-
poklad umoº¬uje zakódova´ do architektúry ur£ité vlastnosti, ktoré umoº¬ujú efek-
5
1.4. AKTIVANÁ FUNKCIA KAPITOLA 1. EXISTUJÚCE RIEENIA
tívnej²iu prácu na implementácii a radikálne zníºia po£et parametrov potrebných na
vytvorenie a uloºenie konkrétneho modelu neurónovej siete.
1.4 Aktiva£ná funkcia
Aktiva£ná funkcia, je funkcia, pod©a ktorej sa rozhoduje, ktorý neurón (perceptrón)
v neurónovej sieti pri trénovaní sa povaºuje za aktívny, respektíve jeho výsledky sa
prená²ajú ¤alej do siete, na ¤al²ie vrstvy.
Výber tejto aktiva£nej funkcie ma výrazný dopad na dobu, ktorá je potrebná na to,
aby sa neurónovej sieti podarilo dostato£ne dobre nau£i´ rozpoznáva´ to, £o ju u£ia
dáta jej ponúkané. Medzi známe aktiva£né funkcie patria napríklad:
• Identita � jednoduchá funkcia identity
f(x) = x
• Binárny krok � binárna funkcia
f(x) =
0 x < 00 x ≥ 0• TanH � hyperbolická funkcia
f(x) = tanh x
• ReLU � Recti�ed linear unit
f(x) =
0 x < 0x x ≥ 0• ELU � Exponential linear unit
f(α, x) =
α (ex − 1) x ≤ 0x x > 0• a iné
Pod©a [5] umoº¬uje ELU rýchlej²ie a presnej²ie u£enie neurónových sietí oproti os-
tatným aktiva£ným funkciám, ktoré priná²ajú nejaké problémy. A to v¤aka tomu, ºe
ELU umoº¬uje aj záporné hodnoty, £o spôsobuje posun hranice aktivácie bliº²ie k nule.
Výsledky experimentov ukazujú, ºe ELU výrazne predbieha iné aktiva£né funkcie na
dátach zameraných na po£íta£ové videnie.
6
1.5. INICIALIZÁCIA VÁH KAPITOLA 1. EXISTUJÚCE RIEENIA
1.5 Inicializácia váh
Správna inicializácia váh v neurónovej sieti môºe predís´ rôznym problémom, napríklad
nechceným �umieraním� neurónov. V oblasti správnej inicializácie váh je stále aktívny
výskum [7, 8, 9].
1.5.1 Normálová distribúcia
Medzi moºnosti inicializácie patrí napríklad normálová distribúcia, £o je vlastne ini-
cializácia v²etkých váh na nulu alebo inú kon²tantu. Toto je ale zlý nápad hne¤ z
nieko©kých dôvodov:
• Niektoré neuróny v neurónových sie´ach sa zvyknú �zaseknú´� v lokálnych mini-mách [10], preto je dobrý nápad im da´ viac rôznych za£iato£ných hodnôt.
• al²í problém, ak neuróny za£ínajú na rovnakých váhach, je ºe sa budú pri tré-novaní ubera´ rovnakým alebo podobným smerom, a teda skon£íme s neurónmi,
ktoré robia rovnakú vec.
Vyhnutím sa takejto normálovej distribúcii ma za následok skrátenie doby trénova-
nia neurónovej siete a takisto to aj zvy²uje ²ance k nájdeniu optimálnych výsledných
hodnôt.
1.5.2 Pravidelná odchýlka s priemerom 0
al²ou moºnos´ou pri inicializácii váh neurónovej siete je distribúcia hodnôt s nulovým
priemerom a pravidelnou odchýlkou σw, ktorá je rovná
σw = m− 1
2
kdem je po£et vstupov, ktoré konkrétny neurón má, tak ako je to popísané v [11][kapitola
4.6]. Toto pod©a autora funguje, ak sú trénovacie dáta normalizované, teda pre vstup
vo forme, aky bude v tomto projekte to znamená, ºe sú obrázky rovnakej ve©kosti. A
zárove¬ je ako aktiva£ná funkcia pouºitý v £lánku spomínaný hyperbolický sigmoid.
f(x) = 1.7159 tanh2
3x
[11][Figure 4b]. Takáto inicializácia zaprí£inuje, ºe uº spomínaný sigmoid bude ak-
tivováný najmä v jeho lineárnej £asti, £o zaprí£iní rýchlej²ie a presnej²ie trénovanie
neurónovej siete.
7
1.5. INICIALIZÁCIA VÁH KAPITOLA 1. EXISTUJÚCE RIEENIA
1.5.3 Xavierova inicializácia
V tomto papieri [12] bola navrhnutá inicializácia podobná predchádzajúcej spomínanej.
Teda inicializácia s pravidelnou distribúciou s priemerom v nule ale odchýlkou σw:
σw =2
min +mout
kde min je po£et vstupov pre konkrétny neurón a mout je po£et výstupov v ¬om, teda
po£et neurónov, ktoré v ¤al²om kroku berú ako jeden zo svojich vstupov práve výstup
z tohto.
Táto inicialiácia partí medzi najpopulárnej²ie v dne²nej dobe, av²ak v mnohých systé-
moch je implementovaná trochu inᣠa to tak, ºe odchýlka je trochu zjednodu²ená:
σw =1
min
Nie je isté, pre£o sa to rozhodli takto zmeni´, ale moºné dôvody sú napríklad:
• Vynechaná £as´, teda tá, ktorá sa stará o po£et výstupov v neuróne je tam prezanechávanie signálu pri prechádzaní sie´ou v spätnom smere, pri tzv. backpro-
pagation [13], £o je pri kaºdom trénovaní vyuºívané. Ale udrºiavanie signálu v
priamom smere je ove©a dôleºitej²ie ako v spätnom.
• Z implementa£ného h©adiska môºe by´ zloºite zis´ova´ po£et výstupov pre kaºdýneurón a výpo£tový £as nato potrebný za to nestojí.
Niekedy je tato Xavierova inicializácia implementovaná, napríklad pomocou kniºnice
Numpy [17] ako (inicializácia vrstvy):
1 import numpy as np
2 W = np . random . randn (m_in , m_out) / np . s q r t (m_in)
1.5.4 Pridané 1/2
Jedným z predpokladov pre funk£nos´ Xavierovej inicializácie je aktivácia je lineárna.
Ale tento predpoklad nie je splnený pri pouºití aktiva£ných funkcií ako ReLU alebo
PReLU. Preto bola navrhnutá zmena [7], kde by vo výpo£te váh sta£ilo prida´ faktor12, teda by jeho implementácia vyzerala takto (inicializácia vrstvy):
1 import numpy as np
2 W = np . random . randn (m_in , m_out) / np . s q r t (m_in/2)
Táto malá zmena rie²i práve problem s nelineárnou aktiváciou.
8
1.6. EXISTUJÚCE KNINICE KAPITOLA 1. EXISTUJÚCE RIEENIA
1.6 Existujúce kniºnice
V sú£astnosti existuje mnoho vo©ne dostupných, £i uº niº²ích softvérov ur£ených na
prácu s neurónovými sie´ami a strojovým u£ením. Tu av²ak spomeniem iba pár, s
ktorými som sa stretol a spomeniem nejaké z ich výhod a nevýhod.
1.6.1 Ca�e
Ca�e [14] je ve©mi dobre známi softvér pouºívaný na rozpoznávanie vizuálnych dát.
Ako API pouºíva Ca�e Python.
Výhody:
• vhodný pre dopredné neurónové siete a spracovávanie obrazu
• trénovanie niektorých modelov je moºné bez písania kódu
Nevýhody:
• nevhodný pre rekurentné siete
• pre nov²ie GPU treba písa´ aj C++/CUDA
• ºiadna komer£ná podpora
1.6.2 Torch
Torch [15] je framework napísaný v Lua, ktorý podporuje aj algoritmy na strojové
u£enie. Niektoré z jeho verzií sú pouºívané ve©kými spolo£nos´ami ako Facebook alebo
Twitter.
Výhody:
• jednoduchá práca s vrstvami, ktoré majú beºa´ na GPU
• Lua, ©ahko £itatelný kód
• obsahuje mnoho pred-trénovaných modelov
Nevýhody:
• neúplná dokumentácia
• bez komer£nej podpory
9
1.6. EXISTUJÚCE KNINICE KAPITOLA 1. EXISTUJÚCE RIEENIA
1.6.3 Theano
Theano [16] je ²iroko vyuºívaný softvér pre strojové u£enie. Jeho API je napísané v
Python-e. Je jedným s najstar²ích kniºnic v tejto oblasti a je ur£ený predov²etkym na
výskum. Podporuje viac dimenzionálne polia, tak ako Numpy [17].
Výhody:
• Python + Numpy, jednoduché a silné nástroje
• pouºíva systém výpo£tového grafu
• existujú vy²²o-úrov¬ové kniºnice, ktoré pouºívaju Theano ako backend
Nevýhody:
• menej efektívne pri v䣲ích modeloch
• chybové hlá²ky môºu by´ niekedy zavádzajúce
1.6.4 TensorFlow
Táto opensource kniºnica [18] bola vytvorená spolo£nos´ou Google aby nahradila The-
ano. Patrí medzi najmlad²ie, ke¤ºe vy²la v novembri roku 2015 a aj napriek tomu sa
za pár mesiacov stala najpopulárnej²ím nástrojom pouºívaným v oblasti strojového
u£enia. Podobne ako Theano, aj TensorFlow pouºíva systém výpo£tového grafu, teda
sa najprv vytvorí graf, ktorý reprezentuje model a následne sa na ¬om vykonávajú
jednotlivé operácie.
Výhody:
• Python + Numpy
• výpo£tový graf
• paralelizácia dát a modelu
• TensorBoard - vizualizácia trénovania a iných operácií nad modelom
• rýchlej²ia kompilácia oproti Theano-u
Nevýhody:
• nie ve©a pred-trénovaných modelov
• výpo£tový graf je £istý Python, teda pomal²í
• celkovo pomal²í ako niektoré iné kniºnice
10
Literatúra
[1] Mathpix, [online] Dostupné na:
[2] Photomath, [online] Dostupné na:
[3] Mathpix API ukáºky, [online] Dostupné na:
[4] NAIK, S., METKEWAR, P., 2015. Recognizing O�ine Handwritten Mathematical
Expressions (ME) Based on a Predictive Approach of Segmentation Using K-NN
Classi�cation, International Journal of Technology (2015) 3: 345-354, ISSN 2086-
9614
[5] CLEVERT Djork-Arné, UNTERTHINER Thomas, HOCHREITER Sepp: Fast
and Accurate Deep Network Learning by Exponential Linear Units (ELUs), 2015,
arXiv:1511.07289
[6] Williams R.J. and Zipser D., A learning algorithm for continually running fully
recurrent neural networks, Neural Computation, 1, pp. 270-280, 1989.
[7] HE et al.: Delving Deep into Recti�ers: Surpassing Human-Level Performance on
ImageNet Classi�cation, 2015, arXiv:1502.01852v1
[8] Data-dependent Initializations of Convolutional Neural Networks by Krähenbühl
et al., 2015, arXiv:1511.06856
[9] All you need is a good init, Mishkin and Matas, 2015, arXiv:1511.06422
[10] Atakulreka A., Sutivong D. Avoiding Local Minima in Feedforward Neural Ne-
tworks by Simultaneous Learning. AI 2007: Advances in Arti�cial Intelligence,
Lecture Notes in Computer Science 4830, 100�109 (2007).
[11] Y. LeCun, L. Bottou, G.B. Orr, and K.-R. Müller. E�cient backprop. In G.B.
Orr and K.-R. Müller, editors, Neural Networks: Tricks of the Trade, pages 9�50.
Springer, 1998.
11
LITERATÚRA LITERATÚRA
[12] Glorot, X. and Bengio, Y. Understanding the di�culty of training deep feedforward
neural networks. In Proc. AISTATS, volume 9, pp. 249�256, 2010.
[13] Rumelhart, D.E., Hinton, G.E., & Williams, R.J. (1987). Learning internal repre-
sentations by error propagation. In James L. McClelland & David E. Rumelhart
(Eds.),Parallel Distributed Processing, 1, 318�362, MIT Press.
[14] Ca�e, [online] Dostupné na
[15] Torch, [online] Dostupné na
[16] Theano, [online] Dostupné na
[17] Numpy, [online] Dostupné na
[18] TensorFlow, [online] Dostupné na
12
Existujúce riešeniaMathpixO programeTechnológiaPoužitieFunkcionalitaTest funkcionality
PhotomathO programeTechnológiaPoužitieFunkcionalitaTest funkcionality
Neurónová sietDopredná neurónová sietRekurentná neurónová sietModulárna neurónová sietKonvolucná neurónová siet
Aktivacná funkciaInicializácia váhNormálová distribúciaPravidelná odchýlka s priemerom 0Xavierova inicializáciaPridané 1/2
Existujúce knižniceCaffeTorchTheanoTensorFlow