Pre zvedavých

Ako funguje neurónová sieť na našej 404.

Keď na našej 404 stránke kreslíte číslice, nerozpoznáva ich žiadny server ani cloudová služba. V prehliadači vám beží miniatúrna, ale skutočná neurónová sieť, ktorú sme natrénovali od nuly. Má 9 946 parametrov a po kvantovaní zaberá 13 kB, menej ako jedna fotka emoji.

vaša kresbavstup 14×141964810sieť 196×48×100123498 %56789softmax istota

Ako číta vašu kresbu

Kreslíte na plátno 256×256 bodov. Pred rozpoznaním sa kresba upraví rovnako, ako boli upravené dáta pri tréningu: nájde sa ohraničujúci rámik ťahov, číslica sa zmenší tak, aby dlhšia strana mala 10 bodov, vloží sa do mriežky 14×14 a posunie tak, aby jej ťažisko sedelo v strede. Výsledkom je 196 čísel od 0 po 1, jas jednotlivých bodov.

Ako rozhoduje

Sieť je viacvrstvový perceptrón: 196 vstupov, skrytá vrstva so 48 neurónmi s aktiváciou ReLU a výstupná vrstva s 10 neurónmi, jedna za každú číslicu. Výstupy prejdú cez softmax, ktorý ich premení na percentá istoty, presne tie, ktoré vidíte pod plátnom. Celý výpočet je zopár tisíc násobení, prehliadač ho stihne za zlomok milisekundy.

Ako sa učila

Trénovali sme ju na datasete MNIST: 60 000 ručne písaných číslic, ktoré sme rozšírili posunmi o jeden bod na päťnásobok. Šesť epôch klasického gradientového zostupu v čistom NumPy, žiadne frameworky. Na testovacej sade dosahuje presnosť 96,9 percenta. Váhy sme potom kvantovali na 8-bitové celé čísla, čo model zmenšilo štvornásobne bez straty presnosti.

Súkromie

Celý model je súčasťou stránky a beží výlučne vo vašom prehliadači. Vaše kresby sa nikam neposielajú, žiadna požiadavka na server nevzniká. Je to zámerná ukážka toho, o čom hovoríme na hlavnej stránke: AI má pracovať tam, kde jej dáta patria.

Poďakovanie

Dataset MNIST vytvorili Yann LeCun, Corinna Cortes a Christopher Burges na základe dát amerického inštitútu NIST. Ďakujeme, bez neho by táto hračka nevznikla.

← Späť na hlavnú stránku