Zmniejszanie strat: spadek gradientu

Schemat podejścia iteracyjnego (Rysunek 1) zawierał zielone, ręcznie kształtowane pole o nazwie „Aktualizacje parametrów obliczeniowych”. Teraz zastąpimy ten algorytmiczny pyłkiem z gatunku bardziej istotną rolę.

Załóżmy, że mamy czas i zasoby obliczeniowe do obliczenia straty dla wszystkich możliwych wartości \(w_1\). W przypadku analizowanych przez nas problemów związanych z regresją wynikowy wykres straty i \(w_1\) zawsze będzie wypukły. Innymi słowy, fabuła ma zawsze kształt miski, w ten sposób:

Wykres krzywej w kształcie litery U z oś pionową etykietą „utrata”, a oś poziomą – wartością wagi W i.

Rysunek 2. Problemy z regresją powodują utratę wypukłości a wykresy wagi.

 

Zadania wypukłe mają tylko jedną wartość minimalną, czyli tylko jedno miejsce, gdzie nachylenie ma dokładnie 0. To minimum oznacza punkt zbiegu funkcji straty.

Obliczenie funkcji straty dla każdej możliwej wartości \(w_1\)w całym zbiorze danych nie jest skutecznym sposobem na znalezienie punktu zbieżności. Przyjrzyjmy się lepszemu mechanizmowi – bardzo popularnemu w systemach uczących się – obniżaniu gradientu.

Pierwszy etap to wybór wartości początkowej (punktu początkowego) dla elementu \(w_1\). Punkt początkowy nie ma większego znaczenia. Dlatego wiele algorytmów po prostu ustawia wartość \(w_1\) na 0 lub wybiera losową wartość. Ten wykres pokazuje, że wybraliśmy punkt początkowy nieco większy niż 0:

Wykres krzywej w kształcie litery U. Punkt, który znajduje się mniej więcej w połowie lewej strony krzywej, jest oznaczony etykietą „Punkt początkowy”.

Rysunek 3. Punkt początkowy opadania gradientowego.

Algorytm ze spadkiem gradientu oblicza następnie gradient krzywej straty w punkcie początkowym. Na Rysunku 3 gradient straty jest równy pochodnej (nachylenia) krzywej i wskazuje, która strona jest „ciepła” czy „zimniejsza”. Gdy istnieje wiele wag, gradient jest wektorem pochodnych cząstkowych względem wag.

Pamiętaj, że gradient jest wektorem, więc charakteryzuje się obie te cechy:

  • kierunek
  • siła

Gradient zawsze wskazuje kierunek najsilniejszego wzrostu funkcji straty. Algorytm gradientu malejącego robi krok w kierunku ujemnego gradientu, by jak najszybciej zredukować stratę.

Wykres krzywej w kształcie litery U. Punkt po lewej stronie krzywej jest oznaczony etykietą „Punkt początkowy”. Strzałka oznaczona jako „gradient ujemny” wskazuje od tego miejsca w prawo.

Rysunek 4. Spadek gradientowy zależy od gradientów ujemnych.

Aby określić następny punkt na krzywej funkcji straty, algorytm spadku gradientu dodaje do punktu początkowego pewien odsetek wielkości gradientu, tak jak na tym ilustracji:

Wykres krzywej w kształcie litery U. Punkt po lewej stronie krzywej jest oznaczony etykietą „Punkt początkowy”. Strzałka oznaczona jako „gradient ujemny” wskazuje od tego miejsca w prawo. Kolejna strzałka wskazuje od końca pierwszej strzałki w dół do drugiego punktu na krzywej. Drugi punkt jest oznaczony etykietą „Następny punkt”.

Rysunek 5. Gradient przenosi nas do następnego punktu na krzywej straty.

Następnie proces zejścia z gradientem powtarza się, coraz bardziej zbliżając się do minimum.