第二章 自编码器生成模型入门

写在前面:最近看了《GAN实战》,由于本人忘性大,所以仅是笔记而已,方便回忆,如果能帮助大家就更好了。

自编码器与GAN的一个关键区分点:自编码器网络只用一个损失函数进行端到端训练,而GAN的生成器和鉴别器分别具有一个损失函数。

第二章 自编码器生成模型入门_第1张图片

 编码器包含三个部分:编码器网络,潜在空间z,解码器网络

(1)编码器网络:去一个表示x(如一个图像)然后通过编码器(通常是一个单层或多层的神经网络)将维数从y减小到z

(2)潜在空间z:训练时,试图建立有一定意义的潜在空间(纬度比较小)

(3)解码器网络:用解码器将原始对象重建到原始的维度x*

第二章 自编码器生成模型入门_第2张图片

 训练自编码器时,通过评估x与x*的差异,给一个显式目标函数(\left \| x-x* \right \|),以通过梯度下降形式进行优化。

并且自编码器的训练不需要带标签的数据(无监督学习

为什么要使用GAN?

既然编码器可以满足低分辨率情况下的无监督学习,为什么还要使用GAN呢?书里面举了个例子:当不知道底层模型时,假设从真实分布中抽取一部分样本。我们假设真实分布是高斯分布,所以只需要估计均值和方差即可。但是由于没有指定真正的模型,所以会陷入巨大麻烦,如下图。

第二章 自编码器生成模型入门_第3张图片

可以看到根据样本(黑色十字图标),我们估计的地方实际上并没有样本。

VAE(变分自编码器)使用的高斯公式来构建它所见的数据的表示,因为高斯分布认为有99.7%的概率质量落在3个标准差内,所以VAE也会选择“安全中间地带”,导致在模拟场景时边缘模糊处理。

你可能感兴趣的:(GAN,深度学习,机器学习,人工智能)