Optimization by Adaptive Stochastic Descent