sample()和rsample()有什么区别

问题描述 投票:0回答:1

当我这样做时,

import torch, seaborn as sns
x = torch.distributions.Normal(torch.tensor([0.0]), torch.tensor([1.0]))
sns.distplot(x.sample((100000,)))

给予

enter image description here

while,

sns.distplot(x.rsample((100000,)))

也给出,

enter image description here

什么时候应该使用sample(),什么时候应该使用rsample()?

pytorch
1个回答
0
投票
使用rsample允许pathwise derivatives

实现这些随机/策略梯度的另一种方法是使用rsample()方法中的重新参数化技巧,其中可以通过无参数随机变量的参数化确定性函数构造参数化随机变量。重新参数化的样本因此变得可微。
© www.soinside.com 2019 - 2024. All rights reserved.