A CNN kis szűrőket (kerneleket) csúsztat végig a képen —
3×3 pixeles ablakokat. Minden pozícióban ugyanazokat a súlyokat használja →
sokkal kevesebb paraméter, és ugyanazt a mintát több helyen is keresheti.
Az előfeldolgozott képen látható a 3×3-as kernel csúszása.
Mit tanul a modell?
A kézzel rajzolt számjegyeket (0–9) különbözteti meg, és a firkákat is külön osztályba sorolja. Egyszerre egy számjegyet vár.
55 000 számjegyből és 10 000 generált firkából tanult. A szerver kivágja, méretezi és középre igazítja a rajzot.
Mely rétegeken zajlik a tanítás?
A két Conv2D és a két Dense réteg tanul. Az első réteg 8 darab 3×3-as szűrője látható lent; a második 24 szűrővel dolgozik. A MaxPool és Flatten rétegnek nincs tanítható súlya.
Összesen: – tanítható paraméter.
A kimenet 11 osztály: 0–9 és firka. A hibafüggvény többosztályos keresztentrópia. A modellpontszám nem garantált helyességi valószínűség.
Tanítás: korábban külön lefuttattuk a szerveren. A modell megtanulta, hogy a konvolúciós szűrők milyen mintázatokra reagáljanak, és a Dense rétegek hogyan használják fel ezeket a számjegyek felismeréséhez. Ehhez a szűrők és a Dense rétegek súlyait módosította, majd elmentettük őket. A keresett mintázatokat nem mi adtuk meg előre: azok a tanítópéldák alapján alakultak ki. A tanítás 12 epochig tartott: egy epoch a teljes tanítóadathalmazon való egyszeri végighaladást jelenti.
Az oldal használata: a szerver a mentett súlyokkal értékeli ki a rajzot. Ilyenkor nem tanul, csak felismerést végez.
Visszajátszás: nyolc mentett állapotot mutat be: a tanítás előtti 0. állapotot, majd a 2., 3., 5., 7., 9., 10. és 12. epoch végén elmentett súlyokat. Nem új tanítást indít.