Od jakiegoś czasu korzystam z sieci neuronowych. Jednak jedną rzeczą, z którą ciągle mam problemy, jest wybór optymalizatora do szkolenia sieci (przy użyciu backprop). To, co zwykle robię, to zaczynam od jednego (np. Standardowego SGD), a następnie wypróbowuję inne dość losowo. Zastanawiałem się, czy istnieje lepsze (i mniej przypadkowe) podejście do znalezienia dobrego optymalizatora, np. Z tej listy:
- SGD (z lub bez pędu)
- AdaDelta
- AdaGrad
- RMSProp
- Adam
W szczególności jestem zainteresowany, czy istnieje jakieś teoretyczne uzasadnienie wyboru między sobą, ponieważ dane szkoleniowe mają jakąś właściwość, np. Są rzadkie. Wyobrażam sobie również, że niektóre optymalizatory działają lepiej niż inne w określonych dziedzinach, np. Podczas szkolenia sieci splotowych vs. sieci sprzężenia zwrotnego lub klasyfikacji vs. regresji.
Jeśli któryś z was opracował strategię i / lub intuicję dotyczącą wyboru optymalizatorów, byłbym bardzo zainteresowany jego usłyszeniem. Co więcej, jeśli jest jakaś praca, która teoretycznie uzasadnia wybieranie jednej z drugiej, byłoby to jeszcze lepsze.