Przeprowadzam eksperymenty na zestawie walidacyjnym EMNIST przy użyciu sieci z RMSProp, Adamem i SGD. Osiągam 87% dokładności dzięki SGD (współczynnik uczenia się 0,1) i porzucaniu (0,1 porzuceniu prob), a także regularyzacji L2 (kara 1e-05). Podczas testowania tej samej dokładnej konfiguracji z RMSProp i Adamem, a także początkowej szybkości uczenia się wynoszącej 0,001, osiągam dokładność 85% i znacznie mniej płynną krzywą treningu. Nie wiem jak wytłumaczyć to zachowanie. Co może być przyczyną braku gładkości krzywej treningowej oraz osiągniętej niższej dokładności i wyższych poziomów błędów?
12
Odpowiedzi:
Po przestudiowaniu kilku artykułów online i dokumentacji Keras sugeruje się, że optymalizator RMSProp jest zalecany w przypadku nawracających sieci neuronowych. https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L209
Stochastyczne zejście gradientu wydaje się wykorzystywać szybkość uczenia się i pęd między poszczególnymi partiami, aby zoptymalizować wagi modelu na podstawie informacji o funkcji straty w moim przypadku to „categorical_crossentropy”.
Sugeruję http://ruder.io/optimizing-gradient-descent/index.html w celu uzyskania dodatkowych informacji na temat algorytmów optymalizacji.
źródło