Trading-off variance and complexity in stochastic gradient descent