Given an input and a target, compute the gradients of the loss function associated to the criterion and
return the result.In general input, target and gradInput are tensors, but some specific criterions
might require some other type of object.
The state variable self.gradInput should be updated after a call to backward().