Jak sieć się uczy
Wstęp do działu
Wiesz już, z czego zbudowana jest sieć neuronowa i jak liczy odpowiedź. Zostało pytanie, które przez siedemnaście lat blokowało całą dziedzinę: skąd sieć wie, jak zmienić swoje wagi?
Ten dział jest odpowiedzią, rozłożoną na cztery kroki. Pierwszy: żeby się poprawiać, trzeba mierzyć błąd — sieć nie czuje pomyłki, potrzebuje jej jako jednej liczby. Tę liczbę daje funkcja straty, a definiując ją, definiujemy dosłownie wszystko, do czego model będzie dążył. Drugi: mając liczbę błędu, trzeba wiedzieć, w którą stronę przekręcić tysiące pokręteł. Sprawdzenie wszystkich kombinacji jest matematycznie wykluczone, więc zamiast szukać najlepszych wag od razu, robimy mały krok w dół zbocza i powtarzamy — to spadek gradientu. Trzeci: przy jednym neuronie widać, które wejście zawiniło, ale w sieci z warstwami ukrytymi błąd widzimy dopiero na wyjściu, a odpowiadają za niego tysiące liczb schowanych w środku, z których żadna nie ma własnej „prawidłowej odpowiedzi". Trzeba rozdzielić winę — i robi to propagacja wsteczna, opublikowana szeroko w 1986 roku, do dziś silnik praktycznie każdego trenowania sieci, od modelu rozpoznającego cyfry po duże modele językowe. Czwarty: ta maszyneria ma pokrętła, które ustawia człowiek — długość kroku, liczbę przykładów w partii, liczbę przejść przez zbiór — i od nich zależy, czy trening się uda, czy rozbiegnie.
Dział zamkniemy uczciwym rachunkiem tego, co się psuje: dlaczego w bardzo głębokich sieciach sygnał błędu potrafi „zniknąć" po drodze, dlaczego model, który perfekcyjnie odpowiada na dane treningowe, bywa bezużyteczny na nowych — i jakimi środkami się z tym walczy.
Jedna uwaga na wejściu, bo łatwo o niej zapomnieć w gąszczu wzorów: nic w tym dziale nie jest myśleniem. Cały trening to mierzenie odległości od poprawnej odpowiedzi i drobne korekty liczb w stronę, która tę odległość zmniejsza. Powtórzone miliardy razy. To zaskakująco mało — i, jak się okazało, zaskakująco wiele.
Mapa pojęć działu
JAK SIEĆ SIĘ UCZY (trening)
┌──────────────── jedna iteracja ────────────────┐
│ │
│ przykład → PRZEPŁYW W PRZÓD → predykcja │
│ │ │
│ FUNKCJA STRATY (11.1) │
│ „o ile się mylę" │
│ │ │
│ GRADIENT (11.2) │
│ „w którą stronę" │
│ │ │
│ PROPAGACJA WSTECZNA (11.3, 1986) │
│ „która waga ile zawiniła" │
│ │ │
└───────── korekta wag ◄── OPTYMALIZATOR ───────┘
│
POKRĘTŁA TRENINGU (11.4)
krok uczenia · wsad · epoki
│
CO SIĘ PSUJE (11.5)
zanikający gradient · przeuczenie
→ regularyzacja
Jednostki w tym dziale
- 11.1 Błąd i funkcja straty: skąd sieć wie, że się myli
- 11.2 Spadek gradientu: schodzenie w dolinę po omacku
- 11.3 Propagacja wsteczna: jak sieć uczy się na błędach
- 11.4 Pokrętła treningu: krok uczenia, epoki, wsad
- 11.5 Co się psuje: zanikający gradient, przeuczenie, regularyzacja