Tento autoenkóder od Andreja Karpathyho založený na ConvNet.js je úžasnou ilustráciou toho, čo sa deje počas tréningu neurónovej siete, ktorej cieľom je sortovať obrázky zo známej MNIST databázy na vstupe do kategórií od 0 po 9 na výstupe, pričom tentokrát ide o proces učenia bez učiteľa, teda na začiatku úlohy sú kategórie výstupu neznáme. Všimnite si ako sa počas tréningu presúvajú obrázky s cifrou 0 ku sebe, cifrou 1 ku sebe, ..., cifrou 9 ku sebe. Miernou modifikáciou tejto úlohy by bolo možné trénovať neurónovú sieť na MNIST databáze, kde na začiatku úlohy sú vystupné kategórie dané a to ciframi od 0 po 9. V tomto prípade ide o kategorizáciu a tréning s učiteľom. MNIST databáza obsahuje cca 60 000 tréningových rukou napísaných obrázkov od 0 po 9 a 10 000 testovacích obrázkov, pričom rozmer každého obrázka je 28x28 pixelov, čiže spolu 784 pixelov, ktoré predstavujú počet neurónov vstupnej vrstvy. Databáza obrázkov MNIST je voľne dostupná na internete a je podmnožinou bohatšej databázy NIST. V prípade tréningu s učiteľom je potrebné stiahnuť okrem vstupných tréningových a testovacích obrázkov aj tzv. labels, ktoré obsahujú informáciu, aká cifra je napísaná na obrázku. Počas tréningu teda neurónová sieť má na vstupe 60 000 obrázkov a na výstupe 60 000 k nim prislúchajúcich labels. Počas testovania už neurónovej sieti neoznamujeme labels, ale žiadame ju o výstupné výsledky, ktoré prislúchajú k jednotlivým testovacím obrázkov na vstupe. Avšak, aby sme mohli test vyhodnotiť (napr. vypočítať percentuálnu úspešnosť neurónovej siete), porovnávame výsledky, ktoré nám dodala z testovaných obrázkov neurónová sieť, so správnymi labels. V modeli neurónovej siete nižšie je možné zmeniť napr. learning rate, batch size, aktivačné funkcie a počet skrytých vrstiev. Takéto úlohy s rozpoznaním statického obrazu sa opierajú hlavne o tzv. konvolučné neurónové siete. Úlohy ohľadom analýzy videa sa opierajú hlavne o OpenCV, background substraction, houghove transformácie, YOLO modely, ... a v prípade potreby je možné do nich zakomponovať aj neurónové siete. Napr. pri úlohe s počítaním prerušovaných čiar a rozoznaním plnej a prerušovanej čiary na vozovke je možné využiť OpenCV, momenty, background substraction alebo houghove transformácie a natrénovanú konvolučnú neurónovú sieť, pomocou ktorej sa stanoví, aké čiary v dynamickom videu sú po oboch stranách cesty.

Training Stats

Learning rate:


Loss:


Network Visualization