关于ELBO损失中具有TensorFlow概率的KL项的多个问题

问题描述 投票:0回答:1

我一直在尝试使用TensorFlow概率(TFP)进行一些实验,但遇到了一些问题。

  1. KL损耗系数的适当值是多少?

    1. 在Blundell(2015)的论文中,系数设置为1/M(其中M是小批量的数量)。在TFP给出的示例中,系数为1/mnist_data.train.num_examples。为什么?

    2. 当我从2d输入变为3d图像量时,即使除以mnist_data.train.num_examples,KL损失仍然比交叉熵(〜1)大得多(〜1k)。为什么?

    3. 获得该系数的适当值的准则是什么?也许两次损失项应该是相同的数量级?

    4. 当前系数仅考虑训练样本的数量,而不考虑网络复杂度或网络中参数的数量,我认为KL损失随模型的复杂性而增加。

  2. 由于某些软件生产和硬件支持的限制,我不使用keras.model.losses来尝试实现具有KL损失的神经网络。我正在尝试使用TF 1.10和TFP 0.3.0。训练我的模型,问题是对于tf<=1.14tf.keras.model在Keras模型中不支持tf.layers,所以我不能直接使用原始模型远。有没有一种方法,不是从model.losses而是从TF构造中的网络层或权重来获得KL损失?

  3. 批次归一化或组归一化在贝叶斯深度学习中是否仍然有用?

我一直在尝试使用TensorFlow概率(TFP)进行一些实验,但我遇到了一些问题。 KL损耗系数的适当值是多少?在Blundell(...

tensorflow bayesian tensorflow-probability
1个回答
0
投票
  1. 在Blundell(2015)的论文中,系数设置为1 / M(其中M是迷你批次的数量)。在TFP给出的示例中,系数被指定为1 / mnist_data.train.num_examples。为什么?
© www.soinside.com 2019 - 2024. All rights reserved.