当我们使用卷积自编码器生成新图像时,每次我们运行模型时,模型是否都会生成相同的图像?还是生成随机变化的图像?我认为每次我们运行模型时,自动编码器(AE)都会生成相同的新图像,因为它将输入图像映射到潜在空间中的单个点。另一方面,变分自编码器(VAE)将输入图像映射到一个分布。因此,如果我们需要一些随机变化的图像,我们需要使用VAE,如果我们需要每次运行模型都生成相同的图像,我们使用AE。这是真的吗?我的问题是:AE生成的图像是否随机变化?
自动编码器首先将输入数据编码为某种潜在表示,然后使用该表示(瓶颈层)重建相同的输入。我在MNIST数据上训练了一个自动编码器,并将这些数字编码成一个二维向量。网络学会了对我绘制的数据的非常有用的表示。MNIST数字的潜在表征
你可以看到,对于每个数字,潜在表征都有一定范围的值,例如,0的潜在表征在x轴上的范围从-2到4,在y轴上的范围从4到8。现在,如果你在这个范围内对一个随机的二维随机向量进行采样,并通过解码器运行它,你将得到一个随机的零图像。现在的问题是,这是一个非常简单的例子。如果潜在向量有64维,甚至更高一些类别也更多。在这种情况下,我们需要对潜在向量的分布进行建模,以便对有效向量进行采样。否则,我们永远不会知道哪个潜在向量是有效的。因此,自动编码器可能会给出随机样本,但它需要知道数据的分布和我们在VAE中涵盖的点。