Zamknięcie działu 11

Słowniczek działu

  • Funkcja straty — funkcja zwracająca jedną liczbę mierzącą rozbieżność między predykcją a poprawną odpowiedzią.
  • Błąd średniokwadratowy (MSE) — strata dla regresji: średnia z kwadratów różnic między predykcją a wartością prawdziwą.
  • Entropia krzyżowa — strata dla klasyfikacji: karze tym mocniej, im pewniejszy był model w błędnej odpowiedzi.
  • Miara jakości — liczba dla człowieka (trafność, precyzja, czułość); nie ta sama rzecz co strata, którą minimalizuje algorytm.
  • Gradient — zestaw liczb mówiących, jak zmieni się strata przy drobnym zwiększeniu każdego parametru.
  • Spadek gradientu — powtarzane małe kroki w kierunku przeciwnym do gradientu.
  • Minimum lokalne / punkt siodłowy — miejsce lokalnie najniższe / płaskie, ale niebędące najlepszym rozwiązaniem.
  • Przepływ w przód — obliczenie odpowiedzi sieci na obecnych wagach.
  • Problem przypisania winy — pytanie o udział wagi ukrytej w środku sieci w końcowym błędzie.
  • Propagacja wsteczna — algorytm obliczający gradient każdej wagi przez przekazywanie błędu wstecz warstwa po warstwie (Rumelhart, Hinton, Williams, 1986).
  • Reguła łańcuchowa — zasada pozwalająca policzyć wpływ ogniwa na wynik całego łańcucha.
  • Optymalizator — element treningu wykonujący faktyczną zmianę wag na podstawie gradientów.
  • Hiperparametr — liczba ustawiana przez człowieka przed treningiem.
  • Krok uczenia (η) — jaka część wskazanej poprawki jest wykonywana w jednej korekcie.
  • Wsad (mini-batch) — porcja przykładów, z której liczy się średni gradient przed korektą.
  • Epoka — jedno pełne przejście przez zbiór treningowy.
  • Pęd (momentum) / Adam — optymalizatory z pamięcią poprzednich kroków / z osobnym krokiem dla każdego parametru.
  • Zanikający gradient — wykładnicze słabnięcie sygnału błędu przy cofaniu się przez warstwy (Hochreiter, 1991).
  • Eksplodujący gradient / obcinanie gradientów — wykładniczy wzrost sygnału / skrócenie go do progu z zachowaniem kierunku.
  • Normalizacja wsadowa / połączenie pomijające — stabilizacja skali sygnałów / droga omijająca warstwę.
  • Regularyzacja — techniki ograniczające dopasowanie do szczegółów danych treningowych.
  • Porzucanie neuronów (dropout) / augmentacja / wczesne zatrzymanie — trzy najczęstsze narzędzia regularyzacji obok kary za duże wagi.

W pigułce

  • Uczenie sieci to cztery kroki powtarzane miliony razy: zmierz błąd, policz gradienty, skoryguj wagi, powtórz.
  • Funkcja straty zamienia „pomylił się" w jedną liczbę — bez niej nie ma czego minimalizować. Dla klasyfikacji to zwykle entropia krzyżowa, karząca pewne błędy.
  • Strata to cel algorytmu; trafność, precyzja i czułość to miary dla człowieka. Nie mieszać.
  • Spadek gradientu schodzi w dolinę po omacku: nie zna krajobrazu, zna tylko nachylenie pod stopami.
  • Propagacja wsteczna rozwiązała problem przypisania winy regułą łańcuchową — i to ona uczy dziś wszystkie architektury, od sieci splotowych do transformatorów.
  • Podział pracy: propagacja wsteczna liczy winę, optymalizator wykonuje korektę, hiperparametry ustalają warunki całej operacji.
  • Krok uczenia jest najczulszym pokrętłem: za duży rozsypuje trening, za mały czyni go bezsensownie wolnym.
  • Trenuje się wsadami — kompromis między dokładnością kierunku, tempem i możliwościami karty graficznej.
  • Ten sam mechanizm mnożenia, który pozwala liczyć gradienty, powoduje ich zanikanie i eksplozję — i to on, nie brak pomysłów, zablokował głębokie sieci na dwadzieścia lat.
  • Przeuczenie jest chorobą przeciwną do zanikania: model uczy się za dobrze, tylko nie tego, co trzeba. Widać je wyłącznie na krzywej walidacyjnej.
  • Regularyzacja pomaga, ale nie zastępuje danych.

Sprawdzian działowy

Pytania do refleksji:

  1. Opisz jedną pełną iterację treningu, wymieniając po kolei wszystkie elementy z tego działu (przykład, predykcja, strata, gradienty, korekta) i wskazując, który z nich potrzebuje etykiety, a który nie.

  2. Wyjaśnij, dlaczego nie można wytrenować sieci, sprawdzając po kolei wszystkie możliwe zestawy wag. Podeprzyj to rachunkiem dla sieci o 100 wagach i dziesięciu możliwych wartościach każdej.

  3. Dwa modele klasyfikujące dziesięć klas mają identyczną trafność 82%, ale różną entropię krzyżową. Wyjaśnij, jak to możliwe, i który z nich wolałbyś w systemie, który ma prawo powiedzieć „nie wiem".

  4. Wyjaśnij, na czym polega problem przypisania winy, i uzasadnij, dlaczego nie występuje on w przypadku jednego neuronu ani w ostatniej warstwie sieci.

  5. Uzasadnij zdanie: „propagacja wsteczna nie zmienia ani jednej wagi". Wskaż, co robi ona, a co optymalizator, i dlaczego rozdzielenie tych dwóch rzeczy jest wygodne.

  6. Zbiór treningowy ma 120 000 przykładów, wsad ustawiono na 250, trening ma trwać 12 epok. Policz liczbę korekt wag na epokę i w całym treningu, a potem wyjaśnij, jak zmieniłyby się te liczby (i tempo uczenia) po zmniejszeniu wsadu do 50.

  7. Wytłumacz, dlaczego zanikający gradient i przeuczenie to problemy przeciwstawne, a mimo to mogą wystąpić w tym samym treningu — i jak rozpoznać, z którym z nich masz do czynienia.

  8. Wyjaśnij, dlaczego przełom w uczeniu głębokim nie mógł nastąpić w 1986 roku, mimo że algorytm propagacji wstecznej był już wtedy znany i opublikowany. Wskaż co najmniej trzy brakujące elementy i przy każdym powiedz, w której jednostce (tego lub dalszego działu) jest omówiony.