Se você consultar a documentação http://keras.io/optimizers/, há um parâmetro no SGD para deterioração. Eu sei que isso reduz a taxa de aprendizado ao longo do tempo. No entanto, não consigo descobrir como funciona exatamente. É um valor multiplicado pela taxa de aprendizado, como lr = lr * (1 - decay)
é exponencial? Além disso, como posso ver qual taxa de aprendizado meu modelo está usando? Quando imprimo model.optimizer.lr.get_value()
após executar um ajuste por algumas épocas, ele devolve a taxa de aprendizado original, mesmo que eu tenha definido a deterioração.
Também tenho que definir nesterov = True para usar momento ou existem apenas dois tipos diferentes de momento que posso usar. Por exemplo, há um ponto para fazer issosgd = SGD(lr = 0.1, decay = 1e-6, momentum = 0.9, nesterov = False)
fonte
self.iterations
refere-se ao número de etapas individuais do SGD, não ao número de épocas, rígido?