第9章 生成式对抗网络和自组织映射

在这一章中,我们再讨论一些非常流行的神经模型,就将结束无监督学习的整个过程,这些模型可用于执行数据生成过程并可从中抽取新的样本。此外,我们将分析自组织映射的功能,这些功能可以调整样本的结构,使特定单元对不同的输入模式做出响应。

本章将着重讨论以下主题。

  • 生成式对抗网络Generative Adversarial NetworksGAN)。
  • 深度卷积GANDeep Convolutional GANDCGAN)。
  • Wasserstein GANWGAN)。
  • 自组织映射Self-Organizing MapsSOM)。

本章中的代码需求如下。

  • Python 3.5+(强烈建议使用Anaconda的发行版本)。
  • 库。
    • SciPy 0.19+。
    • NumPy 1.10+。
    • scikit-learn 0.20+。
    • pandas 0.22+。
    • Matplotlib 2.0+。
    • seaborn 0.9+。
    • TensorFlow 1.5+。
    • Keras 2+(仅用于数据集实用程序功能)。

示例代码可以在本书配套的代码包中找到。

这些生成模型是由Goodfellow和其他研究人员提出的(参见Generative Adversarial Networks),目的是利用对抗训练的力量,以及深度神经网络的灵活性。在不需要太多技术细节的情况下,我们可以引入对抗训练的概念,将其作为一种基于博弈论的技术进行介绍,其目的是优化两个相互对抗的代理。当一个代理试图欺骗其对手时,另一个代理必须学习如何区分正确的和伪造的输入。特别地,GAN是一个分为两个明确定义组件的模型。

  • 生成器
  • 鉴别器(也称为评价器)。

Get Python无监督学习 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.