“生成对抗网络”这个名称中的“生成式”是指什么? “生成”类别描述与判别模型对比的一类统计模型。
正式名称:
- “生成”模型可以生成新的数据实例。
- 判别式模型会区分不同类型的数据实例。
生成模型可以生成看起来像真实动物的新照片,而判别模型可以区分猫和狗。GAN 只是一种生成模型。
更正式地说,假设有一组数据实例 X 和一组标签 Y:
- 生成模型会捕获关节概率 p(X, Y),或者如果没有标签,则仅捕获 p(X)。
- 判别式模型捕获条件概率 p(Y | X)。
生成模型包含数据本身的分布,它会告诉您给定样本的可能性。例如,预测序列中下一个单词的模型通常是生成模型(通常比 GAN 简单得多),因为它们可以为单词序列分配概率。
判别模型会忽略给定实例是否有可能的问题,而只是告知您某个标签应用于该实例的可能性。
请注意,这是一个非常宽泛的定义。生成模型有很多种。GAN 只是一种生成模型。
建模概率
这两种模型都不能返回表示概率的数字。您可以通过模拟该分布来建模数据分布。
例如,决策树等判别分类器可以为实例添加标签,而无需为该标签分配概率。此类分类器仍然是一种模型,因为所有预测标签的分布情况都将模拟数据中标签的实际分布情况。
同样,生成模型可以通过生成令人信服的“虚假”数据(类似于这些数据)来对分布进行建模。
生成模型很困难
与模拟判别模型相比,生成模型能够处理更棘手的任务。生成模型必须构建更多模型。
图像的生成模型可能会捕获相关性,例如“船看起来像看起来像在水上”,并且“眼睛不太可能出现在前额”。这些是非常复杂的发行版。
相比之下,判别模型只需要查找一些讲故事的模式,就可以了解“帆船”或“非帆船”之间的区别。它可能会忽略生成模型必须正确实现的许多相关性。
判别模型会尝试在数据空间中绘制边界,而生成模型会尝试在整个空间中放置数据。例如,下图显示了手写数字的判别和生成模型:
图 1:手写数字的判别和生成模型。
判别模型会尝试通过在数据空间中绘制一条线来区分手写 0 和 1 之间的区别。如果线正确,它可以将 0 和 19 区分开来,而无需对实例在行任何一侧的数据空间中的位置进行精确建模。
相反,生成模型会尝试生成接近数据空间中与之对应的数字的令人信服的 1 和 0。它必须对整个数据空间中的分布进行建模。
GAN 提供了一种有效的方法来训练这种丰富的模型,使其类似于真实分布。要了解它们的工作原理,我们需要了解 GAN 的基本结构。
检查您的理解情况:生成模型与判别模型
- 掷三个六面骰子。
- 用一个常量 w 乘以掷骰子的结果。
- 重复 100 次,然后取所有结果的平均值。