В чем разница между sample () и rsample () - PullRequest
1 голос
/ 04 марта 2020

когда я делаю,

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

, в то время как

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

также дает,

enter image description here

, когда я должен использовать sample (), и когда я должен использовать rsample ()?

1 Ответ

0 голосов
/ 04 марта 2020

Использование rsample допускает константные производные :

Другим способом реализации этих стохастических градиентов / политик было бы использование трюка репараметризации из метода rsample() где параметризованная случайная величина может быть построена с помощью параметризованной детерминированной c функции произвольной переменной без параметров. Таким образом, репараметрированный образец становится дифференцируемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...