深度学习笔记——生成模型

什么是生成模型

  • 生成模型可以描述一个生成数据的模型,属于一种概率模型。
  • 通过这个模型我们可生成不包含在训练数据集中的新的数据。
  • 每次生成模型要输出不同的内容。如果说某些特定的图片服从某些概率分布,生成模型就是尽可能的去模仿这个概率分布产生新的图像。

生成模型和判别模型的区别

判别模型可以简单的理解为分类

  • 生成模型的数据集是没有和判别模型类似的lable的(即标记信息,生成模型也是可以有标签的,生成模型可以根据标签去生成相应类别的图像),生成模型像是一种非监督学习,而判别模型是一种监督学习。
  • 数学表示:判别模型: p(y|x) 即给定观测x得到y的概率。
    生成模型:p(x) 即观测x出现的概率。如果有标签则表示为: p(x|y) 指定标签y生成x的概率

生成模型的兴起

判别模型是这些年推动机器学习发展的主要力量,但在近3到五年的时间里让人感到很有趣的应用都是生成模型造就的。尤其是英伟达(Nvidia)的styleGAN产生超真实的图片和OpenAI的GPT2创造的高水平的文章。GPT2可以在人给定一小段开头的情况下,把文章写完整。在面部图像生成上也去得了让人吃惊的结果,如图:
深度学习笔记——生成模型_第1张图片

生成学习是解锁更复杂人工智能的关键技术

  1. 人们不满足于只对数据进行分类,人们对于生成数据更是充满好奇,生成数据是一个更复杂的问题:从高维的可行域中生成属于某类的数据。在这个过程中可以我们可以使用判别模型成功应用的深度学习技术。
  2. 辅助强化学习,为强化学习生成训练环境。比如要训练机器人在一个区域通过,生成模型可以为机器人生成地形和环境,而不是用实际的环境或计算机模拟的环境。
  3. 如果我们制造出了和人智力相当的机器人,那么我们可以肯定的说生成模型一定是其中的一部分。理由很简单,人类很容易就从脑海里构思和想象出一个场景、一个电视的结局、一个度假的方案。现代神经科学也告诉我们,我们对现实世界的认知不是一个高度复杂的判别模型对我们的感官进行分类预测所形成的,而是在我们的脑海里生成了一个这个真实世界的模拟世界(可以理解为每个人的人生观、世界观、价值观等)。

生成模型的框架

a、我们有一份数据集

b、我们假设这份数据集服从某个未知的分布 Pdata

c、我们生成一个模型 Pmodel去模仿分布 Pdata,并用 Pmodel 生成一个新的观测,这个新的观测似乎是用 Pdata 生成的一样。

其中有两个关键规则:

规则1:新生成的观测似乎是用 Pdata 生成的

规则2:模型 Pmodel可以稳定的生成不同于现有观测的新的观察

概率生成模型

例如:从一组50个人的时尚搭配中学习生成模型(部分数据如下图),使用生成模型生成一组新的时尚搭配。如图:
深度学习笔记——生成模型_第2张图片
在这个数据集中有5列(特征/维度)数据,其中:

发型(toptype)7个值:NoHair, LongHairBun, LongHairCurly, LongHairStraight,

ShortHairShortWaved, ShortHairShortFlat,ShortHairFrizzle

头发颜色(hair color) 6个值:Black, Blonde, Brown, PastelPink, Red, SilverGray

眼镜类型(kinds of glasses)3个值:Blank, Round, Sunglasses

衣服种类(clothing type)4个值:Hoodie, Overall, ShirtScoopNeck, ShirtVNeck

衣服颜色(clothing color)8个值:Black, Blue01, Gray01, PastelGreen, PastelOrange, Pink,Red, White
我们的生成模型其实就是每个特征取值的组合概率即P(x)(它朴素贝叶斯,其实就是贝叶斯公式中分母为1的形式),只有生成的观测概率值不为0并且没有在数据集中出现过就是正确的。假设每个特征和其他特征是独立同分布的,我们要计算某个搭配,如P(LongHairStraight, Red, Round, ShirtScoopNeck, White)的联合概率如下:
深度学习笔记——生成模型_第3张图片
每个特征值在数据中出现的概率如下:
深度学习笔记——生成模型_第4张图片
这样的话我们就可以为每个可能的组合生成一个概率。选取其中不为0的组合并且没有在数据集中出现过得就是新生成的观测。

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