Czy istnieją jakieś zasady wyboru wielkości mini-partii?

21

Podczas uczenia sieci neuronowych jeden hiperparametr ma rozmiar minibatchu. Najczęściej wybierane są 32, 64 i 128 elementów na jedną partię.

Czy istnieją jakieś zasady / wytyczne dotyczące wielkości mini-partii? Jakieś publikacje, które badają wpływ na szkolenie?

Martin Thoma
źródło
Innym niż zapisanie w pamięci?
Ehsan M. Kermani
Tak. Na przykład, czy jest jakaś publikacja z napisem „im większy rozmiar partii, tym lepiej” (o ile mieści się w pamięci)?
Martin Thoma,
@ EhsanM.Kermani Myślę, że to ma znaczenie. Zrobiłem kilka biegów na CIFAR-100 i uzyskuję różne wyniki w zależności od wielkości partii (z wczesnym zatrzymaniem, aby przeładowanie nie było problemem)
Martin Thoma
3
Większe oblicza szybciej (jest wydajne), mniejsze zbiega się szybciej, lepiej uogólnia; por. Skuteczne szkolenie z mini-partii dla optymalizacji stochastycznej i niniejsze badanie RNN . Jest empatyczny punkt, który możesz znaleźć empirycznie dla swojego problemu.
Emre
2
Właśnie ukazał się ten najbardziej wnikliwy artykuł Blei i in .: Stochastic Gradient Descent as Approximate Bayesian Inference
Emre

Odpowiedzi:

22

W szkoleniu na temat dużych partii dla głębokiego uczenia się: luka uogólniająca i Sharp Minima jest kilka interesujących stwierdzeń:

W praktyce zaobserwowano, że przy stosowaniu większej partii dochodzi do pogorszenia jakości modelu, mierzonego jego zdolnością do uogólnienia [...]

metody dużych partii mają tendencję do konwergencji do ostrych minimalizatorów funkcji szkoleniowych i testowych - a jak wiadomo, ostre minima prowadzą do gorszego uogólnienia. n. W przeciwieństwie do tego, metody małych partii konsekwentnie są zbieżne z płaskimi minimalizatorami, a nasze eksperymenty potwierdzają powszechnie przyjęty pogląd, że jest to spowodowane nieodłącznym szumem w oszacowaniu gradientu.

Z mojej pracy magisterskiej : Stąd wybór rozmiaru mini-partii wpływa na:

  • Czas treningu do konwergencji : Wydaje się, że jest to dobre miejsce. Jeśli wielkość partii jest bardzo mała (np. 8), czas ten rośnie. Jeśli wielkość partii jest ogromna, jest również wyższa niż minimum.
  • Czas treningu na epokę : Większy oblicza szybciej (jest wydajny)
  • Wynikowa jakość modelu : im niższa, tym lepsza ze względu na lepszą generalizację (?)

Ważne jest, aby zwrócić uwagę na interakcje hiperparametrowe: Wielkość partii może oddziaływać z innymi hiperparametrami, w szczególności z szybkością uczenia się. W niektórych eksperymentach ta interakcja może utrudniać wyodrębnienie wpływu samej wielkości partii na jakość modelu. Inną silną interakcją jest wczesne zatrzymanie w celu uregulowania.

Zobacz też

Martin Thoma
źródło
@NeilSlater Czy chcesz dodać swój komentarz do mojej odpowiedzi (obecnie wiki społeczności)?
Martin Thoma
Podoba mi się odpowiedź jako ogólna. Co więcej, byłbym wdzięczny za posiadanie pewnej liczby o tym, co jest bardzo małe , ogromne i mini-partia w konkretnym przykładzie.
Więc S
@SoS mini-partia to tylko termin. „Mini” nie odnosi się do określonego rozmiaru, ale oznacza tylko, że jest więcej niż 1 przykład i mniej niż całkowity zestaw treningowy. Uważam, że „bardzo mały” to <= 8 (właśnie edytowałem odpowiedź). Zmierzyłem również ekstremalny (ponad 5-krotny) wzrost czasu treningu na zegarze ściennym. Normalne to coś w rodzaju 64 lub 128. Nie jestem zbyt pewien, co to jest „ogromny”; Myślę, że może to zależeć od sprzętu.
Martin Thoma,
Ta odpowiedź zawiera więcej pytań niż odpowiedzi. Gdzie jest to słodkie miejsce (może pomoże wykres)? Jak wpływa na szybkość uczenia się i wczesne kończenie nauki?
xjcl
Odpowiedź zależy od sieci i zestawu danych. Dlatego podawanie konkretnych liczb nie ma sensu, dlatego wykres nie pomógłby. O interakcjach z innymi hiperparametrami: nie wiem na pewno. Wypróbuj i opublikuj swoje wyniki :-)
Martin Thoma