Sieć neuronowa (ang. neural network) to model obliczeniowy zbudowany z wielu prostych jednostek — neuronów — połączonych ze sobą i ułożonych w warstwy. Inspiracją był mózg, ale nie daj się zwieść marketingowi: to nie jest sztuczny mózg, tylko sprytna funkcja matematyczna z mnóstwem regulowanych parametrów. Każde połączenie ma swoją wagę, a każdy neuron sumuje przychodzące sygnały, dodaje bias i przepuszcza wynik przez funkcję aktywacji (np. ReLU czy sigmoid). Sieć „uczy się”, stopniowo dostrajając te wagi tak, żeby jej odpowiedzi były coraz bliższe poprawnym.
Jak to działa
Dane wchodzą warstwą wejściową, przepływają przez warstwy ukryte i wychodzą warstwą wyjściową — to forward pass. Na wyjściu liczysz, jak bardzo sieć się pomyliła (funkcja straty, np. cross-entropy), a potem algorytm backpropagation cofa ten błąd przez sieć i wylicza, w którą stronę poprawić każdą wagę. Optymalizator (np. Adam albo zwykły SGD) robi mały krok w tym kierunku. Powtarzasz to miliony razy i z chaosu losowych liczb wyłania się coś, co rozpoznaje koty na zdjęciach albo dopowiada zdania.
Im więcej warstw, tym „głębsza” sieć — stąd deep learning. Służy do klasyfikacji obrazów, rozpoznawania mowy, tłumaczeń, rekomendacji i modeli językowych. Wszędzie tam, gdzie reguł nie da się sensownie wypisać ręcznie, a danych jest dużo.
Przykład z praktyki
W PyTorch najprostsza sieć to dosłownie kilka linijek: nn.Sequential(nn.Linear(784, 128), nn.ReLU(), nn.Linear(128, 10)) — wejście 784 (obrazek 28×28 pikseli, np. cyfra z MNIST), warstwa ukryta 128 neuronów, wyjście 10 (cyfry 0–9). Trenowanie: w pętli robisz loss.backward() i optimizer.step(). Na laptopie nauczysz takiej sieci rozpoznawać odręczne cyfry w kilka minut. Do prototypów świetny jest też Keras, gdzie cały model i trening zamykasz w model.fit().
Częste błędy i mity
- Overfitting — sieć „wkuwa” dane treningowe i pada na nowych. Ratują dropout, regularyzacja i zbiór walidacyjny.
- Więcej warstw = lepiej — nieprawda. Często wystarczy mniejsza sieć i czyste dane.
- Mit o „myśleniu” — sieć nie rozumie, tylko dopasowuje wzorce statystyczne.
- Brak normalizacji wejść — niezeskalowane dane potrafią rozsypać trening na starcie.
Pojęcia powiązane
Deep learning, perceptron, backpropagation, funkcja aktywacji, gradient descent, sieci konwolucyjne (CNN), transformer, overfitting, tensor.