Poradnik

Jak sieć neuronowa rozpoznaje cyfrę, krok po kroku

Śledzimy odręcznie napisaną cyfrę w prawdziwej sieci neuronowej: co widzi, jak neuron sumuje, jak sieć nauczyła się wag i które cyfry myli najczęściej.

Opublikowano 18 października 2026

Na stronie Jak sieć neuronowa rozpoznaje cyfry działa prawdziwa, choć mała sieć neuronowa. Bierzemy jedną odręcznie napisaną cyfrę 3 ze zbioru testowego MNIST i krok po kroku przeprowadzamy ją przez sieć. Wszystkie liczby w tym artykule to prawdziwe wartości tej sieci, a nie wymyślone przykłady.

Krok 1: obraz zamienia się w liczby

Sieć nie widzi obrazu tak jak my. Dostaje tylko ciąg liczb, po jednej na każdy piksel obrazu 28 × 28, razem 784 liczby. Biały piksel to 0, czarny to 1, a szare brzegi kresek są gdzieś pomiędzy. Spośród 784 pikseli naszej cyfry tusz ma 132, pozostałe to zera.

Zanim rysunek ze strony trafi do sieci, zostaje przygotowany tak, jak kiedyś cyfry MNIST: dopasowany do ramki 20 × 20 i przesunięty tak, by środek ciężkości tuszu wypadł na środku. Mały i duży rysunek wyglądają więc dla sieci tak samo.

Krok 2: neuron sumuje

Pierwsza warstwa ma 32 neurony. Każdy patrzy na wszystkie piksele i mnoży każdy z nich przez własną wagę. Wagi jednego neuronu tworzą wzór: dodatnie wagi (na stronie niebieskie) to miejsca, w których tusz zwiększa sumę, ujemne (pomarańczowe) to miejsca, w których ją zmniejsza. Neuron sumuje wszystko, dodaje swoje przesunięcie (bias) i przekazuje wynik dalej tylko wtedy, gdy jest dodatni. W przeciwnym razie przekazuje zero i pozostaje zgaszony. Ta reguła nazywa się ReLU.

Przy naszej cyfrze najjaśniej świeci neuron 31. Tusz na jego niebieskich miejscach dodał +6,07, tusz na pomarańczowych -2,56, a przesunięcie wynosi +0,11. Suma to 3,62, a ponieważ jest dodatnia, neuron przekazuje ją dalej.

Spośród 32 neuronów pierwszej warstwy zapala się 14. Każdy reaguje na inną krótką kreskę w innym miejscu obrazu, co widać na ich wzorach na stronie. Te liczby to całe „widzenie” sieci: żadnych oczu, tylko ważone sumy.

Krok 3: z kresek większe kształty

Druga warstwa ma 16 neuronów i nie widzi już pikseli. Jej wejściem jest to, jak jasno świecą neurony pierwszej warstwy, a liczy dokładnie tak samo: pomnożyć przez wagę, zsumować, dodać przesunięcie, ujemną sumę zastąpić zerem. W ten sposób składa proste kreski w większe części cyfry. Spośród 16 neuronów drugiej warstwy przy naszej cyfrze zapala się 8.

Co dokładnie „oznacza” każdy neuron drugiej warstwy, nie da się prosto powiedzieć. Sieć sama utworzyła te pośrednie kroki podczas nauki i nikt ich nie nazwał.

Krok 4: z dziesięciu sum jedna odpowiedź

Ostatnia warstwa ma 10 wyjść, po jednym dla każdej cyfry. Każde sumuje neurony drugiej warstwy ze swoimi wagami. Wyjście dla cyfry 3 ma sumę 14,97, a drugie najwyższe jest wyjście dla cyfry 5 z sumą 4,38.

Funkcja softmax zamienia potem wszystkie dziesięć sum na udziały, które razem dają 100 %. Im wyższa suma, tym większy udział. Cyfra 3 dostaje ponad 99,9%, więc sieć wybiera ją jako odpowiedź.

Jak sieć nauczyła się wag

Sieć ma łącznie 25 818 wyuczonych liczb: wag jest 25 760, przesunięć 58. Nikt nie ustawiał ich ręcznie. Na początku były prawie losowe i sieć zgadywała na ślepo.

Potem dostała 60 000 odręcznie napisanych cyfr z poprawnymi odpowiedziami. Po każdej paczce 64 cyfr mierzono, jak bardzo się pomyliła, i każdą wagę przesuwano odrobinę w kierunku, który zmniejsza błąd. Nazywa się to propagacją wsteczną i spadkiem gradientu. Cały zbiór sieć przeszła 30 razy.

Żeby sieć radziła sobie także z cyframi rysowanymi myszką, przy każdym przejściu każdą cyfrę treningową lekko losowo przesuwano, obracano, pochylano oraz pocieniano lub pogrubiano. Sieć nigdy więc nie zobaczyła dwa razy dokładnie tego samego obrazu.

Jak często się myli

Sprawdziliśmy sieć na 10 000 cyfrach testowych, których nigdy nie widziała podczas nauki. Poprawnie odpowiedziała w przypadku 9780 z nich, czyli 97,8%.

CyfraCyfry testowePoprawnieNajczęstsza pomyłka
098098,9%8 (3×)
1113598,9%2 (4×)
2103298,2%7 (6×)
3101098,0%5 (12×)
498297,5%9 (13×)
589297,8%3 (11×)
695898,3%0 (4×)
7102897,9%2 (12×)
897497,2%2 (4×)
9100995,3%3 (14×)
Skuteczność sieci na cyfrach testowych MNIST według cyfry. Ostatnia kolumna: którą cyfrę sieć najczęściej podawała zamiast właściwej i ile razy.

Najlepiej sieci idzie cyfra 0 (98,9% poprawnie), najgorzej cyfra 9 (95,3%). Najczęstsza pomyłka w całym zbiorze testowym: zamiast 9 odpowiedziała 3, i to 14×.

Mała sieć kontra większe

Artykuł, w którym LeCun i współpracownicy przedstawili MNIST w 1998 roku, porównuje wiele metod na tych samych cyfrach testowych. Prosty klasyfikator liniowy, w którym każdy piksel prowadzi wprost do dziesięciu wyjść, mylił się w 12% przypadków. Sieć z dwiema warstwami ukrytymi po 300 i 100 neuronów miała 3,05% błędów, a 2,5%, gdy uczyła się także na sztucznie zniekształconych cyfrach. Sieć konwolucyjna LeNet-5, mająca 60 000 parametrów, myliła się tylko w 0,95% przypadków.

Nasza sieć ma 25 818 parametrów i myli się w 2,2% przypadków. Sieć konwolucyjna używa tego samego małego detektora kresek w każdym miejscu obrazu, więc nie musi uczyć się kreski osobno dla każdego położenia. Sieci, które dziś rozpoznają mowę albo piszą teksty, działają na tej samej zasadzie ważonych sum, tylko są o wiele rzędów wielkości większe.

Dlaczego źle odczytuje Twój rysunek

  • Zna tylko cyfry podobne do tych z MNIST. Pisali je pracownicy amerykańskiego urzędu statystycznego (Census Bureau) i amerykańscy uczniowie szkół średnich. Jedynka z długim daszkiem albo przekreślona siódemka mogą wypaść gorzej.
  • Nie potrafi powiedzieć „nie wiem”. Zawsze wybiera jedną z dziesięciu cyfr.
  • Myszka rysuje inaczej niż długopis. Kreski robione myszką lub palcem wyglądają inaczej niż kreski długopisem na papierze, z których powstał MNIST.

Gdy sieć źle odczyta Twoją cyfrę, zajrzyj na stronie do kroku 2, żeby zobaczyć, które neurony pierwszej warstwy się zapaliły, i do kroku 4, którym wyjściom dodały. Często od razu widać, która kreska sprowadziła ją na manowce.

Wypróbuj to sam na stronie Jak sieć neuronowa rozpoznaje cyfry: narysuj cyfrę i kliknij dowolny neuron.

Wypróbuj to sam

Jak sieć neuronowa rozpoznaje cyfry

Źródła danych

Artykuł wyjaśnia, jak działa sieć neuronowa. Jego liczby to prawdziwe wartości sieci na tej stronie, obliczone z jej wyuczonych wag i zbioru testowego MNIST.