背景:什么是生成模型?

“生成对抗网络”中的“生成”是什么意思? “生成”描述了与判别模型相对的一类统计模型。

非正式:

  • 生成模型可以生成新的数据实例。
  • 判别模型可以区分不同类型的数据实例。

生成式模型可以生成看起来像真实动物的新动物照片,而判别式模型可以区分狗和猫。GAN 只是一种生成式模型。

更正式地说,给定一组数据实例 X 和一组标签 Y:

  • 生成模型会捕获联合概率 p(X, Y),如果没有标签,则仅捕获 p(X)。
  • 判别模型可捕获条件概率 p(Y | X)。

生成式模型包含数据本身的分布,并告知您给定示例的可能性。例如,用于预测序列中下一个字词的模型通常是生成式模型(通常比 GAN 简单得多),因为它们可以为一系列字词分配概率。

判别模型会忽略给定实例是否可能属于某个类别的问题,而只会告诉您某个标签适用于该实例的可能性。

请注意,这是一个非常笼统的定义。生成式模型有很多种。GAN 只是一种生成模型。

建模概率

这两种模型都无需返回表示概率的数字。您可以通过模仿该分布来对数据分布进行建模。

例如,决策树等判别分类器可以为实例分配标签,而无需为该标签分配概率。这样的分类器仍然是一种模型,因为所有预测标签的分布都将模拟数据中标签的实际分布。

同样,生成式模型可以通过生成看起来像是从该分布中提取的逼真的“虚假”数据来对分布进行建模。

生成模型很难

与类似的判别模型相比,生成式模型要解决更难的任务。生成模型必须模拟更多

图像生成式模型可能会捕获“看起来像船的东西可能出现在看起来像水的东西附近”和“眼睛不太可能出现在额头上”等相关性。这些是极其复杂的分布。

与之相反,分类模型只需查找一些特征模式,即可学会区分“帆船”与“非帆船”。它可能会忽略生成式模型必须正确处理的许多相关性。

判别模型会尝试在数据空间中划定边界,而生成式模型会尝试对数据在整个空间中的放置方式进行建模。例如,下图显示了手写数字的辨别式和生成式模型:

两个图表,一个标记为“辨别式模型”,另一个标记为“生成式模型”。这两个图表显示了相同的四个数据点。每个点都带有代表其所代表的手写数字的图片标签。在判别图中,有一条虚线将两个数据点与其余两个数据点分隔开来。虚线上方的区域标记为“y=0”,虚线下方的区域标记为“y=1”。在生成式图表中,系统会围绕这两对点绘制两个虚线圆圈。顶部圆圈标记为“y=0”,底部圆圈标记为“y=1

图 1:手写数字的判别模型和生成模型。

判别模型会尝试在数据空间中绘制一条线,以区分手写的 0 和 1。如果它能正确找到分界线,则可以区分 0 和 1,而无需对实例在数据空间中位于分界线两侧的确切位置进行建模。

与之相反,生成式模型会尝试生成逼真的 1 和 0,方法是生成与数据空间中的真实数字相近的数字。它必须对整个数据空间中的分布进行建模。

GAN 提供了一种有效的方法来训练此类丰富的模型,使其类似于真实分布。为了了解它们的运作方式,我们需要了解 GAN 的基本结构。

检查您的理解情况:生成式模型与判别模型

您有 1,000 人的智商得分。您可以按照以下步骤对智商分数的分布进行建模:
  1. 掷三个六面骰子。
  2. 将滚动量乘以常数 w。
  3. 重复 100 次,然后计算所有结果的平均值。
您尝试不同的 w 值,直到该过程的结果等于实际智商得分的平均值。您的模型是生成模型还是判别模型?
生成模型
正确答案:每次掷骰子,您实际上都在生成一个虚构人物的智商。此外,生成式模型还会捕获 IQ 分数呈正态分布(即呈钟形曲线)这一事实。
判别模型
错误:类似的判别模型会尝试区分不同类型的智商得分。例如,判别模型可能会尝试将智商分类为假或真。
信息不足,无法确定。
这个模型确实符合我们两种模型中的一种的定义。
当您向模型提供数据实例时,模型会返回一个概率。此模型是生成式模型还是判别模型?
生成模型
生成式模型可以估计实例的概率,以及类标签的概率。
判别模型
判别模型可以估计实例属于某个类的概率。
信息不足,无法确定。
生成式模型和判别式模型都可以估计概率(但不一定必须)。