1

我一直在尝试理解关于软演员评论家的博客,其中我们有一个神经网络表示一个策略,该策略输出给定状态下动作的高斯分布的均值和标准差。由于无法通过随机节点直接反向传播,因此应用了重新参数化技巧,如下所示:

    `normal = Normal(0, 1)
    z      = normal.sample()
    action = torch.tanh(mean+ std*z.to(device))
    log_prob = Normal(mean, std).log_prob(mean+ std*z.to(device)) - torch.log(1 - action.pow(2) + epsilon)
    return action, log_prob, z, mean, log_std`

我想知道 log_prob 术语是如何得出的。任何帮助将不胜感激。

4

0 回答 0