在Keras最大化ELBO

时间:2019-06-09 09:45:45

标签: keras

当我们训练变分自动编码器时,我们说我们要最大化ELBO。但是,从Keras文档中看来,实际上我们正在将ELBO最小化

def vae_loss(x, x_decoded_mean):
   xent_loss = objectives.binary_crossentropy(x, x_decoded_mean)
   kl_loss = - 0.5 * K.mean(1 + z_log_sigma - K.square(z_mean) - K.exp(z_log_sigma), axis=-1)
   return xent_loss + kl_loss

根据我的理解,以上函数应该返回肯定的ELBO。因为Keras总是最小化损失函数,我们不应该返回负ELBO吗?

0 个答案:

没有答案