Ghid

Cum recunoaște o rețea neuronală o cifră, pas cu pas

Urmărim o cifră scrisă de mână printr-o rețea neuronală adevărată: ce vede, cum adună un neuron, cum și-a învățat rețeaua ponderile și ce cifre confundă cel mai des.

Publicat pe 18 octombrie 2026

Pe pagina Cum recunoaște cifrele o rețea neuronală rulează o rețea neuronală adevărată, chiar dacă mică. Luăm o cifră 3 scrisă de mână din setul de test MNIST și o urmărim pas cu pas prin rețea. Toate numerele din acest articol sunt valori reale ale acestei rețele, nu exemple inventate.

Pasul 1: imaginea devine numere

Rețeaua nu vede o imagine ca noi. Primește doar un șir de numere, câte unul pentru fiecare pixel al unei imagini de 28 × 28, în total 784 de numere. Un pixel alb este 0, unul negru este 1, iar marginile gri ale liniilor sunt undeva între ele. Din cei 784 de pixeli ai cifrei noastre, cerneală au 132; restul sunt zerouri.

Înainte ca un desen de pe pagină să ajungă la rețea, este pregătit așa cum au fost odinioară cifrele MNIST: încadrat într-un chenar de 20 × 20 și mutat astfel încât centrul de greutate al cernelii să fie la mijloc. Un desen mic și unul mare arată la fel pentru rețea.

Pasul 2: un neuron adună

Primul strat are 32 de neuroni. Fiecare se uită la toți pixelii și îl înmulțește pe fiecare cu o pondere proprie. Ponderile unui neuron formează un model: ponderile pozitive (albastre pe pagină) sunt locurile unde cerneala îi mărește suma, cele negative (portocalii) locurile unde o micșorează. Apoi neuronul adună totul, adaugă deplasarea sa (bias) și transmite rezultatul mai departe doar dacă este pozitiv. Altfel transmite zero și rămâne stins. Această regulă se numește ReLU.

La cifra noastră, cel mai tare strălucește neuronul 31. Cerneala de pe zonele lui albastre a adus +6,07, cerneala de pe zonele portocalii -2,56, iar deplasarea lui este +0,11. Suma este 3,62 și, pentru că este pozitivă, neuronul o transmite mai departe.

Din cei 32 de neuroni ai primului strat se aprind 14. Fiecare reacționează la o altă linie scurtă, într-un alt loc al imaginii, cum arată modelele lor de pe pagină. Aceste numere sunt tot ce „vede” rețeaua: nu are ochi, doar sume ponderate.

Pasul 3: din linii, forme mai mari

Al doilea strat are 16 neuroni și nu mai vede pixeli. Intrarea lui este cât de tare strălucesc neuronii primului strat, iar calculul este exact același: înmulțire cu o pondere, adunare, adăugarea deplasării, înlocuirea unei sume negative cu zero. Așa combină linii simple în părți mai mari ale unei cifre. Din cei 16 neuroni ai celui de-al doilea strat, la cifra noastră se aprind 8.

Ce „înseamnă” exact fiecare neuron din al doilea strat nu se poate spune simplu. Rețeaua și-a creat singură acești pași intermediari în timp ce învăța, iar nimeni nu le-a dat nume.

Pasul 4: din zece sume, un singur răspuns

Ultimul strat are 10 ieșiri, câte una pentru fiecare cifră. Fiecare adună neuronii celui de-al doilea strat cu propriile ponderi. Ieșirea pentru cifra 3 are suma 14,97, iar următoarea ca mărime este ieșirea pentru cifra 5, cu 4,38.

Funcția softmax transformă apoi toate cele zece sume în cote care împreună dau 100 %. Cu cât suma este mai mare, cu atât cota este mai mare. Cifra 3 primește peste 99,9 %, așa că rețeaua o alege ca răspuns.

Cum și-a învățat rețeaua ponderile

Numerele învățate ale rețelei sunt în total 25.818: ponderile sunt 25.760, deplasările 58. Nimeni nu le-a reglat de mână. La început erau aproape aleatorii, iar rețeaua ghicea pe nevăzute.

Apoi a primit 60.000 de cifre scrise de mână, cu răspunsurile corecte. După fiecare lot de 64 de cifre s-a măsurat cât de mult a greșit și fiecare pondere a fost mutată puțin în direcția care micșorează eroarea. Asta se numește retropropagare și coborâre pe gradient. Rețeaua a parcurs întregul set de 30 de ori.

Ca rețeaua să se descurce și cu cifrele desenate cu mouse-ul, la fiecare trecere fiecare cifră de antrenament a fost mutată, rotită, înclinată și subțiată sau îngroșată puțin, la întâmplare. Rețeaua nu a văzut niciodată de două ori exact aceeași imagine.

Cât de des greșește

Am testat rețeaua pe 10.000 de cifre de test pe care nu le-a văzut niciodată la învățare. A răspuns corect la 9.780 dintre ele, adică 97,8 %.

CifraCifre de testCorectCea mai frecventă confuzie
098098,9 %8 (3×)
11.13598,9 %2 (4×)
21.03298,2 %7 (6×)
31.01098,0 %5 (12×)
498297,5 %9 (13×)
589297,8 %3 (11×)
695898,3 %0 (4×)
71.02897,9 %2 (12×)
897497,2 %2 (4×)
91.00995,3 %3 (14×)
Cât de des recunoaște rețeaua corect cifrele de test MNIST, pe cifre. Ultima coloană: ce cifră a răspuns rețeaua cel mai des în locul celei corecte și de câte ori.

Cel mai bine îi reușește cifra 0 (98,9 % corect), cel mai prost cifra 9 (95,3 %). Cea mai frecventă greșeală din tot setul de test: a răspuns 3 în loc de 9 (14×).

O rețea mică față de unele mai mari

Articolul în care LeCun și colegii săi au prezentat MNIST în 1998 compară multe metode pe aceleași cifre de test. Un clasificator liniar simplu, în care fiecare pixel duce direct la cele zece ieșiri, greșea în 12 % din cazuri. O rețea cu două straturi ascunse, de 300 și 100 de neuroni, avea 3,05 % erori, iar 2,5 % când învăța și pe cifre deformate artificial. Rețeaua convoluțională LeNet-5, cu 60.000 de parametri, greșea doar în 0,95 % din cazuri.

Rețeaua noastră are în total 25.818 parametri și greșește în 2,2 % din cazuri. O rețea convoluțională folosește același mic detector de linii în fiecare loc al imaginii, așa că nu trebuie să învețe o linie separat pentru fiecare poziție. Rețelele care astăzi recunosc vorbirea sau scriu texte funcționează pe același principiu al sumelor ponderate, doar că sunt cu multe ordine de mărime mai mari.

De ce îți citește greșit desenul

  • Cunoaște doar cifre ca cele din MNIST. Le-au scris angajați ai biroului american de recensământ (Census Bureau) și elevi de liceu americani. Un 1 cu o linie de început lungă sau un 7 tăiat pot ieși mai prost.
  • Nu poate spune „nu știu”. Alege mereu una dintre cele zece cifre.
  • Mouse-ul desenează altfel decât pixul. Liniile trase cu mouse-ul sau cu degetul arată altfel decât liniile de pix pe hârtie din care a provenit MNIST.

Când rețeaua îți citește greșit cifra, uită-te pe pagină la pasul 2, ca să vezi ce neuroni din primul strat s-au aprins, și la pasul 4, căror ieșiri le-au adăugat. Adesea se vede imediat ce linie a dus-o pe drumul greșit.

Încearcă și tu pe pagina Cum recunoaște cifrele o rețea neuronală: desenează o cifră și dă clic pe orice neuron.

Încearcă și tu

Cum recunoaște cifrele o rețea neuronală

Surse de date

Articolul explică cum funcționează o rețea neuronală. Numerele lui sunt valorile reale ale rețelei de pe acest site, calculate din ponderile ei învățate și din setul de test MNIST.