ML Atlas

Newsletter · kurs „ML w 10 dni” · dzień 4 z 10 · ok. 2 min czytania

Schodzenie z góry we mgle, małymi krokami

W skrócie

Dzień 4 kursu mailowego „ML w 10 dni”: spadek gradientu, czyli jak model poprawia się małymi krokami, i dlaczego za duży krok potrafi wszystko popsuć.

Pojęcie: Spadek gradientu ·

1. Haczyk

Schodzisz z góry we mgle. Widzisz tylko kawałek ziemi pod stopami. Najprostsza strategia: zrób krok tam, gdzie teren opada najmocniej, i powtarzaj. Prędzej czy później zejdziesz do doliny.

2. Przewidź

Do wyboru są cztery długości kroku, czyli współczynniki uczenia: 0,01; 0,1; 0,8 i 1,1. Który da najniższy błąd po 5 krokach?

Zapamiętaj swoją odpowiedź. Rozwiązanie jest niżej.

3. Wyjaśnienie

Model ma pokrętła, czyli wagi. Od ich ustawienia zależy błąd na danych treningowych. Można to sobie wyobrazić jako krajobraz: każde ustawienie pokręteł to miejsce na mapie, a błąd to wysokość. Spadek gradientu liczy, w którą stronę teren opada najmocniej, i robi krok w tę stronę. Długość kroku to współczynnik uczenia.

Rozwiązanie: 0,8. Wszystkie przebiegi startują ze stratą 29074, a najniższa możliwa to 3890. Po 5 krokach strata wynosi 24468 przy kroku 0,01, 6595 przy 0,1, 4043 przy 0,8 i aż 159823 przy 1,1. Za mały krok ledwo rusza z miejsca. Krok 0,8 jest duży, ale jeszcze nie przeskakuje doliny. Krok 1,1 przeskakuje ją tak mocno, że strata z każdym krokiem rośnie.

Sprawdź sam. W lekcji wybierasz współczynnik uczenia, uruchamiasz kolejne kroki i patrzysz, jak strata spada albo rośnie.

4. Częsty błąd

„Większy krok to szybsza nauka.” Tylko do pewnego momentu. Powyżej niego model nie uczy się wcale, bo każdy krok ląduje wyżej niż poprzedni. Gdy strata podczas treningu rośnie albo skacze, pierwszym podejrzanym jest za duży współczynnik uczenia.

5. Gdzie ta analogia się psuje

Na górze czujesz nachylenie stopami. Model liczy je z danych i robi to w przestrzeni o tysiącach albo milionach wymiarów, po jednym na każdą wagę. Tam nie ma żadnego „w dół”, które dałoby się zobaczyć. Jest tylko rachunek.

6. Dlaczego to ważne w pracy

Każda sieć neuronowa uczy się jakimś wariantem spadku gradientu, na przykład SGD albo Adam. Współczynnik uczenia to zwykle pierwsze ustawienie, które się stroi (współczynnik uczenia).

7. Pytanie powtórkowe

Odpowiedź na pytanie z poprzedniego dnia

Niekoniecznie. W lekcji „Czym jest uczenie maszynowe?” wyuczony próg miał na biopsjach testowych 86,0%, a ręczny próg 15,0 aż 88,3%. Najlepszy na treningu nie musi być najlepszy na nowych danych.

Nowe pytanie

Wracamy do dnia 2. Losujesz podział na trening i test 20 razy i za każdym razem uczysz ten sam model. Czy wynik testowy będzie zawsze taki sam?

Odpowiedź w następnym dniu kursu.