sgd
Add gradient descent