Suma czy średnia gradientów w (mini) gradiencie serii przyzwoitym?

15

Kiedy zaimplementowałem przyzwoity gradient mini partii, po prostu uśredniłem gradienty wszystkich przykładów w partii treningowej. Zauważyłem jednak, że teraz optymalna szybkość uczenia się jest znacznie wyższa niż w przypadku przyzwoitego gradientu online. Moją intuicją jest to, że uśredniony gradient jest mniej hałaśliwy i dlatego można go śledzić szybciej. Może więc warto również podsumować gradienty partii. Wartości mogą być dodatnie i ujemne.

Wiem, że to tylko stały czynnik, który można zrównoważyć za pomocą współczynnika uczenia się. Zastanawiam się jednak, jaką definicję uzgodnili naukowcy, abym mógł reprodukować wyniki z dokumentów z sieci neuronowej.

Czy zwykle dzieli się zsumowane gradienty partii przez rozmiar partii?

danijar
źródło

Odpowiedzi:

21

Średni.

Przykłady: Uwagi do kursu uczenia maszynowego Andrew Ng na Coursera opracowanego przez Alexa Holehouse'a.

Po zsumowaniu gradientów dzięki poszczególnym próbkom uzyskuje się znacznie płynniejszy gradient. Im większa partia, tym gładszy wynikowy gradient używany do aktualizacji masy.

Dzielenie sumy przez wielkość partii i przyjęcie średniego gradientu powoduje:

  1. Wielkość masy nie wyrasta z proporcji. Dodanie regularyzacji L2 do aktualizacji ciężaru powoduje karanie dużych wartości masy. Często prowadzi to do poprawy wydajności uogólnienia. Biorąc średnią, szczególnie jeśli gradienty wskazują w tym samym kierunku, nie pozwól, aby wagi stały się zbyt duże.
  2. Wielkość gradientu jest niezależna od wielkości partii. Pozwala to na porównanie wag z innych eksperymentów z wykorzystaniem różnych wielkości partii.
  3. Przeciwdziałanie wpływowi wielkości partii za pomocą szybkości uczenia się może być liczbowo równoważne, ale kończy się to szybkością uczenia, która jest specyficzna dla implementacji. Utrudnia to przekazanie wyników i konfiguracji eksperymentu, jeśli ludzie nie mogą odnieść się do skali używanych parametrów i będą mieli problemy z odtworzeniem eksperymentu.

Uśrednianie umożliwia wyraźniejszą porównywalność i utrzymanie wielkości gradientu niezależnie od wielkości partii. Wybór wielkości partii jest czasem ograniczony przez zasoby obliczeniowe, które masz i chcesz złagodzić efekt tego podczas oceny modelu.

ypx
źródło
Link już nie żyje
cdeterman
1
zaktualizowany link, nie można już linkować do oryginalnych slajdów, więc zdecydowałem się na dobrze skompilowane notatki Alexa Holehouse'a .
ypx
Ten samouczek wydaje się być podsumowaniem zamiast przeciętnego .. deeplearning.net/tutorial/gettingstarted.html#regularization
AD