As I wrote on the other thread:
Well, it seems the use case is rare enough to expect that it is an error to want negative learning rates. In the end, even the name loss suggests that you’re trying to minimize it.
But here is an easy workaround: What you could try is to set the learning rate to a negative value after initializing the optimizer ( opt.param_groups[0]['lr'] *= -1 or loop over the param_groups if you have several / pick the one you want to ascend with), preferably with a comment explaining what you are up to. But you are up to your own as to if optimizers work well with it (but SGD and Adam probably should ).
If you then do wildly successful work with it, maybe one day the restriction will be lifted. 
Best regards
Thomas