当我这样做时,
import torch, seaborn as sns
x = torch.distributions.Normal(torch.tensor([0.0]), torch.tensor([1.0]))
sns.distplot(x.sample((100000,)))
给予
while,
sns.distplot(x.rsample((100000,)))
也给出,
什么时候应该使用sample(),什么时候应该使用rsample()?
rsample
允许pathwise derivatives:实现这些随机/策略梯度的另一种方法是使用rsample()
方法中的重新参数化技巧,其中可以通过无参数随机变量的参数化确定性函数构造参数化随机变量。重新参数化的样本因此变得可微。