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