title: How torch.Tensor.backward() works?
body: <p>I recently study Pytorch and backward function of the package.
  I understood how to use it, but when I try</p>
  
  <pre><code>x = Variable(2*torch.ones(2, 2), requires_grad=True)
  x.backward(x)
  print(x.grad)
  </code></pre>
  
  <p>I expect </p>
  
  <pre><code>tensor([[1., 1.],
          [1., 1.]])
  </code></pre>
  
  <p>because it is an identity function. However, it returns</p>
  
  <pre><code>tensor([[2., 2.],
          [2., 2.]]).
  </code></pre>
  
  <p>Why this happens?</p>