added content: loss function
added content: gradient descent