Beta变化自动编码器

时间:2018-08-08 12:07:05

标签: python neural-network keras autoencoder

我遵循了this tutorial中的变体自动编码器部分。在我的项目中,我的第一个任务是重新生成一些向量,这些向量表示如何划分网格布局。因此,我创建了自己的数据集,其中包含至少5000行尺寸为(1,36)的向量。这些向量代表6 x 6的网格布局。 因此,我使用了一些数据集作为模型的训练集,即变型自动编码器。然后,由于我的项目任务要求我使用Disentangled VAE或Beta-VAE,因此我阅读了一些有关此类VAE的文章,并认为只需要更改beta值即可。

所以我使用的代码在此github link中。

首先,根据我在互联网上阅读的内容,当beta值大于1时,我们将获得更好的构造结果,这与我在模型中发现的恰好相反。

第二,我已经更改了模型中的许多超参数,例如beta,batch_size,历元数,采样向量的标准变化,但仍然无法很好地重建数据。我想我在理解此模型时缺少了一些东西,但是我无法弄清楚它是什么。 通过编写这段代码,我是否了解β变式自动编码器?

1 个答案:

答案 0 :(得分:1)

Beta项是作用于先验和您的变分近似值的KL项,它越高,重构的效果越差。因此,您发现的结果很有意义。