Strona główna Życie Sieć neuronowa — propagacja wsteczna

🧠 Sieć neuronowa — propagacja wsteczna

Dwuwarstwowa sieć uczy się na żywo problemu XOR, okręgu lub spirali. Wagi jako krawędzie, aktywacje jako jasność neuronów, granica decyzyjna i krzywa straty na żywo.

Życie3DŚredni60 FPS
neural-network ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O wizualizatorze propagacji wstecznej sieci neuronowej

Ta symulacja trenuje małą sieć jednokierunkową z jedną warstwą ukrytą, odwzorowując dwa wejścia na jedno wyjście (2 do N do 1). Każde przejście w przód mnoży wejścia przez wagi, dodaje obciążenie (bias) i stosuje funkcję aktywacji sigmoidalnej. Propagacja wsteczna oblicza następnie gradient błędu średniokwadratowego względem każdej wagi za pomocą reguły łańcuchowej, a spadek gradientu przesuwa każdą wagę w kierunku zmniejszającym stratę, epoka po epoce.

Selektor Zadanie przełącza między trzema zbiorami danych: klasycznym problemem XOR, granicą kołową i spiralą dwuklasową. Suwak Neurony ukryte ustawia szerokość warstwy (2 do 16), suwak Tempo uczenia skaluje wielkość kroku (0,01 do 0,20), a suwak Prędkość kontroluje liczbę epok na klatkę animacji. Lewy panel rysuje sieć z wagami jako kolorowe krawędzie, a prawy panel pokazuje granicę decyzyjną na żywo, którą można sprawdzić, klikając dowolny punkt.

Najczęściej zadawane pytania

Co właściwie pokazuje ta symulacja?

Pokazuje ona niewielką sieć neuronową uczącą się w czasie rzeczywistym klasyfikować punkty dwuwymiarowe. Po lewej stronie widać diagram sieci, gdzie węzły rozjaśniają się wraz z aktywacją, a krawędzie są kolorowane na niebiesko dla wag dodatnich i na czerwono dla ujemnych. Po prawej stronie granica decyzyjna zmienia się z każdą epoką w miarę jak trening przekształca wagi.

Jak działa tutaj propagacja wsteczna?

Po tym, jak przejście w przód wyprodukuje wynik, algorytm oblicza błąd na wyjściu, a następnie propaguje ten błąd wstecz przez warstwy, korzystając z reguły łańcuchowej rachunku różniczkowego. Daje to gradient straty względem każdej wagi i obciążenia. Spadek gradientu odejmuje następnie ułamek każdego gradientu, przeskalowany przez tempo uczenia, od odpowiadającej mu wagi.

Dlaczego XOR jest tak znanym przypadkiem testowym?

XOR nie jest liniowo separowalny, więc pojedynczy perceptron jednowarstwowy nie potrafi go rozwiązać. Wymaga on co najmniej jednej warstwy ukrytej, aby wygiąć powierzchnię decyzyjną. Ponieważ symulacja zawiera warstwę ukrytą z nieliniową aktywacją sigmoidalną, potrafi nauczyć się XOR, pokazując dokładnie, dlaczego głębokość i nieliniowość mają znaczenie w sieciach neuronowych.

Co robią poszczególne elementy sterujące?

Zadanie wybiera zbiór danych (XOR, koło lub spirala). Neurony ukryte ustawiają szerokość warstwy ukrytej, od 2 do 16 jednostek. Tempo uczenia skaluje krok aktualizacji od 0,01 do 0,20. Prędkość ustawia, ile epok wykonuje się na klatkę animacji. Trenuj, Krok i Reset odpowiednio uruchamiają ciągły trening, wykonują jedną epokę lub ponownie inicjalizują wagi.

Jakiej funkcji straty i aktywacji używa symulacja?

Każdy neuron ukryty i wyjściowy używa aktywacji sigmoidalnej, która ściska wartości do zakresu od 0 do 1. Trening minimalizuje błąd średniokwadratowy między predykcjami a celami, wyświetlany w panelu jako Strata (MSE). Neuron wyjściowy zawsze używa sigmoidy, dzięki czemu jego wartość można odczytać bezpośrednio jako wynik przypominający prawdopodobieństwo od 0 do 1.

Jak inicjalizowane są wagi?

Wagi są losowane z niewielkiego zakresu przeskalowanego przez pierwiastek kwadratowy z dwóch podzielony przez liczbę wejść warstwy — inicjalizacja w stylu He, która zapobiega nasyceniu wczesnych aktywacji. Obciążenia zaczynają od zera. Naciśnięcie Reset ponownie inicjalizuje wszystkie wagi, dlatego ten sam zbiór danych może za każdym razem zbiegać inną ścieżką.

Co oznacza panel granicy decyzyjnej?

Prawy panel koloruje siatkę punktów według wyjścia sieci, mieszając w kierunku jednego koloru dla klasy 0 i drugiego dla klasy 1. Punkty treningowe są rysowane na wierzchu jako kółka. W miarę jak sieć się uczy, kolorowe obszary stają się ostrzejsze i wyginają się, by rozdzielić obie klasy. Kliknięcie wewnątrz panelu przepuszcza ten punkt przez sieć i wypisuje jej predykcję.

Czy jest to dokładny model prawdziwych sieci neuronowych?

Matematyka jest autentyczna: prawdziwa propagacja w przód, prawdziwa propagacja wsteczna oparta na regule łańcuchowej i prawdziwy spadek gradientu, identyczne co do zasady jak w dużych sieciach. Jest uproszczona pod względem skali — wykorzystuje jedną małą warstwę ukrytą, stochastyczne aktualizacje na pojedynczym przykładzie i stałą sigmoidę, zamiast nowoczesnych technik takich jak ReLU, mini-batche, momentum czy Adam stosowanych w systemach produkcyjnych.

Co się stanie, jeśli ustawię zbyt wysokie lub zbyt niskie tempo uczenia?

Zbyt wysokie — aktualizacje przeskakują minimum, więc strata oscyluje lub rozbiega się zamiast się ustabilizować. Zbyt niskie — trening pełznie, wymagając znacznie więcej epok, by osiągnąć niski błąd. Suwak obejmuje zakres od 0,01 do 0,20, więc warto porównać, jak krzywa straty zachowuje się na obu skrajnościach w porównaniu z wartością umiarkowaną.

Gdzie propagacja wsteczna jest wykorzystywana w prawdziwym świecie?

Propagacja wsteczna wraz ze spadkiem gradientu to silnik treningowy stojący za niemal każdym nowoczesnym systemem głębokiego uczenia, w tym klasyfikatorami obrazów, rozpoznawaniem mowy, systemami rekomendacji i dużymi modelami językowymi. Zasady, które obserwujesz tutaj, przeskalowane do miliardów wag i bogatszych architektur, pozwalają tym systemom uczyć się wzorców bezpośrednio z danych.

Podobne symulacje