Strona główna AI i ML Trenowanie sieci neuronowej

🤖 Trenowanie sieci neuronowej

Obserwuj, jak propagacja wsteczna trenuje małą sieć jednokierunkową w czasie rzeczywistym — wagi i strata zmieniają się epoka po epoce.

AI i ML2DŁatwy60 FPS
neural-network-training ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O tej symulacji

Ta symulacja trenuje małą sieć neuronową jednokierunkową — dwie warstwy ukryte nałożone na wejście 2D — na problemie klasyfikacji binarnej całkowicie w Twojej przeglądarce, dzięki czemu możesz obserwować, jak propagacja wsteczna i spadek gradientu w czasie rzeczywistym przekształcają granicę decyzyjną. Wybierz zbiór danych, wybierz optymalizator i naciśnij Trenuj, aby zobaczyć, jak sieć wykrawa obszar dla każdej klasy, podczas gdy krzywa straty śledzi zarówno błąd treningowy, jak i walidacyjny.

Wybierz zbiór danych (XOR, Okręgi, Półksiężyce lub Spirala), aby zmienić kształt, który sieć musi nauczyć się rozdzielać, i dostosuj liczbę jednostek ukrytych na warstwę, współczynnik uczenia η, rozmiar mini-partii oraz regularyzację L2 λ przed naciśnięciem Trenuj. Przełączaj optymalizator między SGD, Momentum i Adam, aby porównać szybkość i stabilność zbieżności — Adam wykorzystuje skorygowane pod względem obciążenia estymaty pierwszego i drugiego momentu i zazwyczaj zbiega najszybciej, podczas gdy zwykły SGD jest najbardziej wrażliwy na suwak współczynnika uczenia.

Najczęściej zadawane pytania

Dlaczego prosta sieć bez warstw ukrytych nie potrafi rozwiązać zbioru danych XOR?

XOR etykietuje punkt jako 1, gdy dokładnie jedna z jego dwóch współrzędnych jest dodatnia, co nie jest liniowo separowalne — żadna pojedyncza prosta linia nie może poprawnie podzielić czterech ćwiartek XOR. Sieć tej symulacji używa dwóch warstw ukrytych ReLU właśnie dlatego, że pozwalają one łączyć kilka liniowych granic decyzyjnych w prawdziwie zakrzywioną, nieliniową granicę, co jest minimalną architekturą zdolną w ogóle rozwiązać XOR.

Jaka jest różnica między SGD, Momentum i Adam w tej symulacji?

Zwykły SGD aktualizuje każdą wagę o iloczyn współczynnika uczenia i jej surowego gradientu. Momentum zamiast tego gromadzi wykładniczą średnią kroczącą poprzednich gradientów (0,9 razy poprzedni pęd plus 0,1 razy nowy gradient) przed przeskalowaniem przez współczynnik uczenia, wygładzając szumne aktualizacje. Adam idzie dalej, śledząc zarówno estymatę pierwszego momentu m, jak i drugiego momentu v z korekcją obciążenia, a następnie dzieląc efekt współczynnika uczenia przez pierwiastek z v — to dostosowuje efektywny rozmiar kroku dla każdego parametru i zwykle zbiega najszybciej z tej trójki.

Jak po krzywej straty poznać, że model się przeucza?

Prawe płótno przedstawia stratę treningową na niebiesko i stratę walidacyjną na czerwono na tych samych osiach, przeliczaną co 10 epok z wydzielonego 20-procentowego podziału walidacyjnego. Przeuczenie jest widoczne w momencie, gdy niebieska strata treningowa nadal spada, a czerwona strata walidacyjna wypłaszcza się lub zaczyna rosnąć — sieć dopasowuje się do przypadkowych cech partii treningowej zamiast do rzeczywistego wzorca, a zwiększenie regularyzacji L2 λ lub zmniejszenie liczby jednostek ukrytych w warstwie to dwa elementy sterujące, które najbezpośredniej temu przeciwdziałają.

Co właściwie zmienia suwak regularyzacji L2?

Siła regularyzacji L2 λ jest dodawana do gradientu każdej wagi przed aktualizacją optymalizatora, co matematycznie odpowiada nieznacznemu przesuwaniu każdej wagi w stronę zera przy każdym kroku (zanik wag). Większe wartości λ utrzymują wagi sieci małe, a jej granicę decyzyjną gładszą, co pomaga na zaszumionych zbiorach danych, takich jak Półksiężyce i Okręgi, ale przy zbyt wysokiej wartości może uniemożliwić sieci dopasowanie się do naprawdę zawiłej granicy, takiej jak Spirala.

Dlaczego zbiór danych Spirala wymaga więcej jednostek ukrytych niż Okręgi czy Półksiężyce?

Preset Spirala przeplata dwie klasy wzdłuż splecionych ramion spirali, które owijają się wokół początku układu wielokrotnie, co wymaga granicy decyzyjnej o znacznie większej krzywiźnie i liczbie skrętów niż proste kształty pierścienia (Okręgi) czy sierpa (Półksiężyce). Przy zaledwie 16 jednostkach ukrytych na warstwę sieć może mieć trudności z odwzorowaniem każdego zakrętu spirali; zwiększenie liczby jednostek ukrytych daje warstwom ReLU wystarczająco dużo niezależnych fragmentów liniowych, by przybliżyć ciasne, powtarzające się krzywe granicy.

Podobne symulacje