TensorFlow概率层(例如DenseFlipout)具有losses方法(或属性),该方法获得“与该层相关的损失”。有人可以解释这些损失是什么吗?
losses
[浏览Flipout paper之后,我认为损失是指权重和偏差的前后分布之间的Kullback-Leibler差异。如果某人比我更了解这些事情,请纠正我。
您的怀疑是正确的,尽管证据不足。参见第一个示例here,其中将损失相加以获得KL项,对数似然项被单独计算并组合以形成ELBO。]
您可以看到损失增加了here,它通过一些间接指示显示{kernel,bias}_divergence_fn被使用,并且依次默认为调用lambda的tfd.kl_divergence(q, p)。
{kernel,bias}_divergence_fn
lambda
tfd.kl_divergence(q, p)
希望这会有所帮助!