Jeśli spojrzysz na dokumentację http://keras.io/optimizers/, w SGD znajduje się parametr rozpadu. Wiem, że to zmniejsza szybkość uczenia się w miarę upływu czasu. Nie mogę jednak dowiedzieć się, jak to dokładnie działa. Czy jest to wartość pomnożona przez współczynnik uczenia się, np. Czy lr = lr * (1 - decay)
jest wykładnicza? Jak mogę również sprawdzić, jakiej prędkości uczenia się używa mój model? Kiedy drukuję model.optimizer.lr.get_value()
po przejściu dopasowania przez kilka epok, przywraca oryginalną szybkość uczenia się, mimo że ustawiłem rozpad.
Czy muszę też ustawić parametr nesterov = True, aby użyć pędu, czy mogę użyć tylko dwóch różnych rodzajów pędu. Na przykład jest sens, aby to zrobićsgd = SGD(lr = 0.1, decay = 1e-6, momentum = 0.9, nesterov = False)
źródło
self.iterations
odnosi się do liczby poszczególnych kroków SGD, a nie liczby epok, rigt?