add l2 regularization, except SGD