Wenn Sie sich die Dokumentation http://keras.io/optimizers/ ansehen, gibt es in der SGD einen Parameter für den Zerfall. Ich weiß, dass dies die Lernrate im Laufe der Zeit reduziert. Allerdings kann ich nicht herausfinden, wie es genau funktioniert. Ist es ein Wert, der mit der Lernrate multipliziert wird, wie lr = lr * (1 - decay)
es exponentiell ist? Wie kann ich auch sehen, welche Lernrate mein Modell verwendet? Wenn ich model.optimizer.lr.get_value()
nach einem Fit über ein paar Epochen drucke, wird die ursprüngliche Lernrate zurückgegeben, obwohl ich den Zerfall eingestellt habe.
Muss ich nesterov = True setzen, um den Impuls zu verwenden, oder gibt es nur zwei verschiedene Arten von Impulsen, die ich verwenden kann? Zum Beispiel gibt es einen Grund, dies zu tunsgd = SGD(lr = 0.1, decay = 1e-6, momentum = 0.9, nesterov = False)
quelle
self.iterations
bezieht sich auf die Anzahl der einzelnen SGD-Schritte, nicht auf die Anzahl der Epochen, richtig?