add adaptive learning rate