尝试使用Tensorflow概率中的DenseVariational层创建贝叶斯神经网络。我的问题是,当我们将参数kl_use_exact设置为False时,我们没有考虑到先前的函数。我试着看看DenseVariational类(_make_kl_divergence_penalty函数)的源代码,我比以前更困惑,我没有得到kl_use_exact的使用。
kl_use_exact
规定了变分后验与先验之间的KL-Divergence的计算方法。
False
: KL将近似。
True
:以实际KL值为准。然而,当且仅当分布之间的kl -散度在TensorFlow-Probability中注册时,可以设置True
。