详细内容或原文请订阅后点击阅览
详细解释变分自动编码器
了解实现变分自动编码器所需的所有细节,包括代码。
来源:Another Datum模型¶
¶该模型由三个子网络组成:
- 给定 $x$(图像),将其编码为潜在空间上的分布 - 在上一篇文章中称为 $Q(z|x)$。给定潜在空间中的 $z$(图像的代码表示),将其解码为其所代表的图像 - 在上一篇文章中称为 $f(z)$。给定 $x$,通过将其映射到大小为 10 的层来对其数字进行分类,其中第 i 个值包含第 i 个数字的概率。
前两个子网络是 vanilla VAE 框架。
第三个子网络用作辅助任务,它将强制使用一些潜在维度对图像中的数字进行编码。让我解释一下动机:在上一篇文章中,我解释说我们不关心潜在空间的每个维度包含什么信息。模型可以学习编码它认为对其任务有价值的任何信息。由于我们熟悉数据集,我们知道数字类型应该很重要。我们希望通过向模型提供此信息来帮助它。此外,我们将使用此信息来生成以数字类型为条件的图像,我将在后面解释。
辅助任务给定数字类型,我们将使用独热编码对其进行编码,即大小为 10 的向量。这 10 个数字将连接到潜在向量中,因此在将该向量解码为图像时,模型将利用数字信息。
有两种方法可以为模型提供独热编码向量:
我们将选择第二个选项。为什么?好吧,在测试时我们可以通过两种方式使用该模型: