Beta 变分自编码器
Beta Variational AutoEncoders
我关注了 this tutorial 中的变分自动编码器部分。我项目中的第一个任务是重新生成一些表示网格布局划分方式的向量。因此,我创建了自己的数据集,其中至少包含 5000 行维度向量 (1,36)。这些向量表示 6 x 6 网格布局。
所以我使用了一些数据集作为我的模型的训练集,这是变分自动编码器。然后,由于我的项目任务要求我使用Disentangled VAE或Beta-VAE,我看了一些关于这种VAE的文章,认为你只需要改变beta值就可以了。
所以我使用的代码在这个 github link.
首先,根据我在网上看到的,当beta值大于1时,我们会有更好的构建结果,这与我在我的模型中发现的正好相反。
其次,我更改了模型中的许多超参数,例如 beta、batch_size、时期数、采样向量的标准变化,但我仍然无法很好地重建数据.我想我在理解这个模型时遗漏了一些东西,但我不知道它是什么。
通过编写这段代码,我是否正确理解了 beta 变分自动编码器?
Beta项是作用于先验和你的变分近似的KL项,越高,重建越差。所以你的发现是有道理的。
我关注了 this tutorial 中的变分自动编码器部分。我项目中的第一个任务是重新生成一些表示网格布局划分方式的向量。因此,我创建了自己的数据集,其中至少包含 5000 行维度向量 (1,36)。这些向量表示 6 x 6 网格布局。 所以我使用了一些数据集作为我的模型的训练集,这是变分自动编码器。然后,由于我的项目任务要求我使用Disentangled VAE或Beta-VAE,我看了一些关于这种VAE的文章,认为你只需要改变beta值就可以了。
所以我使用的代码在这个 github link.
首先,根据我在网上看到的,当beta值大于1时,我们会有更好的构建结果,这与我在我的模型中发现的正好相反。
其次,我更改了模型中的许多超参数,例如 beta、batch_size、时期数、采样向量的标准变化,但我仍然无法很好地重建数据.我想我在理解这个模型时遗漏了一些东西,但我不知道它是什么。 通过编写这段代码,我是否正确理解了 beta 变分自动编码器?
Beta项是作用于先验和你的变分近似的KL项,越高,重建越差。所以你的发现是有道理的。