kl_divergence¶
计算分布 p 和 q 之间的 KL 散度。
\[KL(p||q) = \int p(x)log\frac{p(x)}{q(x)} \mathrm{d}x\]
参数¶
p (Distribution) - 概率分布实例,继承于 Distribution 基类。
q (Distribution) - 概率分布实例,继承于 Distribution 基类。
返回¶
Tensor - 分布 p 和分布 q 之间的 KL 散度。
代码示例¶
import paddle
p = paddle.distribution.Beta(alpha=0.5, beta=0.5)
q = paddle.distribution.Beta(alpha=0.3, beta=0.7)
print(paddle.distribution.kl_divergence(p, q))
# Tensor(shape=[], dtype=float32, place=CUDAPlace(0), stop_gradient=True,
# 0.21193528)