Hi,

I want to subclass the Tensor and make it has `.grad`

attribute during backward.

As `.grad`

is only available for leaf tensor, I made the following simple demo but found the behavior is not consistent with original torch.Tensor. There will be `AliasBackward`

introduced in the subclass tensor, but I want to remove it to make it looks like original torch.Tensor.

Current it has the behavior like this:

```
import torch
class TensorFoo(torch.Tensor): pass
tensor = TensorFoo([1,2,3,4]).cuda().requires_grad_()
print(tensor.is_leaf, tensor.requires_grad)
tensor = torch.Tensor([1,2,3,4]).cuda().requires_grad_()
print(tensor.is_leaf, tensor.requires_grad)
```

The output will be

```
False True
True True
```

Have any ideas about this? Thanks in advance.