对抗性自动编码器中鉴别器的目的是什么?

数据挖掘 无监督学习 自动编码器
2022-02-05 16:04:55

这特定于 A. Makhzani 等人提出的生成对抗网络 (GAN)。“对抗性自动编码器”。在传统的 GAN 中,判别器被训练来区分真实样本p(x)来自生成器输出的假生成样本。另一方面,变分自编码器对潜在代码使用鉴别器z而不是原始样本。

我无法理解的是鉴别器如何能够区分潜在代码的先验分布p(z)和后验分布q(z). 判别器模型试图区分非样本的原因是什么x,就像在传统的 GAN 中一样?这个鉴别器应该在自动编码器的其余部分之前训练吗?

1个回答

事先分配的目的p(z)在任何生成对抗网络中都是能够平滑匹配潜在代码z在输入的已知分布中x在域中,反之亦然。一个简单的自动编码器的编码器,除了典型的流水线之外没有任何额外的措施

xEzDx
只需要x接近x=D(E(x)),为此,解码器可以简单地学习重构x无论从获得的分布E. 这意味着p(z)可能非常不规则,使得新样本的生成不太可行。即使对瓶颈向量进行了细微的更改,我们也不能确定编码器是否能够使用任何x.

然而,在对抗性自动编码器 (AAE) 中,编码器的工作是双重的:它将输入编码为p(x)到相应的代码q(z)以便:

  • 它最大限度地减少了重建成本f(x,D(E(x)))(在哪里f是样本之间的距离度量,例如均方误差);
  • 它学会适应q(z)到先验分布p(x).

后一项任务得到有效执行,因为鉴别器收到:

  • 来自代码的积极反馈p(z);
  • 和来自代码的负面反馈q(z).

即使鉴别器一开始可能对这两个分布中的任何一个都不了解,也只是在它知道之前进行足够的迭代。理想的编码器将设法欺骗鉴别器,使其在鉴别过程中具有大约 50% 的准确度。

另请注意p(x)可能不仅仅是高斯或均匀分布(例如,某种噪​​声)。引用 Goodfellow 的深度学习一书(第 20 章):

在开发生成模型时,我们经常希望扩展神经网络以实现x. 一种直接的方法是用额外的输入来增强神经网络z从一些简单的概率分布中采样,例如均匀分布或高斯分布。然后神经网络可以继续在内部执行确定性计算,但是函数f(x,z)对于无法访问的观察者来说,这将是随机的z.

尽管去噪自编码器依靠这方面来学习忽略样本噪声的模型,但关于 AAE 的同一篇论文(第 2.3 节)表明,将噪声与类的单热编码向量相结合可用于合并有关样本的标签信息. 此信息仅提供给鉴别器,但仍会影响编码器的生成方式q(z).