机器学习笔记之生成对抗网络(一)逻辑介绍

引言

本节将介绍生成对抗网络的基本逻辑与数学语言描述

生成对抗网络——示例

生成对抗网络(Generative Adversarial Networks,GAN),它采用对抗学习的方式对样本特征进行学习。这里以临摹绘画为例,对对抗学习思想进行描述。

假设我是一名绘画爱好者,我的目标是成为一个画家。要成为画家,意味着我的绘画水平需要提升至一定的高度,也就是说,我画出的画需要得到他人的肯定、认可
我们首先需要学习大师们的名画,通过对名画进行临摹,从而提升我的绘画水平。在锻炼自身的绘画水平的同时,我们自然不能闭门造车——自己觉得临摹的像。我们需要将自己的画给鉴赏家们鉴赏。这种鉴赏无非有两种对立方向的结果

  • 一种方向是 临摹的太差,鉴赏家一眼就能看出哪一幅是你画的,哪一幅是大师画的
  • 另一种方向是 临摹技术非常过硬。两张画放在鉴赏家面前,他没有办法分辨出哪一幅是你画的,哪一幅是大师画的,完全可以以假乱真。

但从鉴赏家的角度观察,如果我找了一个门外汉——他本人可能没有太高的鉴赏能力,我的画可能并不是很像,他也有可能无法分辨出来。因此我也需要找到鉴赏能力足够高的鉴赏家进行鉴别。
那鉴赏家如何去提升鉴赏能力呢?自然是多观察,学习大师们的名画来提升自身的鉴赏水平。

从上面的描述可以观察到,大师的画是客观的优秀作品,是静态不变的;而我的绘画水平,我临摹的随着我的绘画水平的提高而变化。同时,鉴赏家的鉴别能力也随着他学习、鉴赏大师的画而提升。此时的 对抗状态 出现了:

  • 我需要提升自身的绘画水平,我画出的画能够与大师的画以假乱真,从而骗过鉴赏家的眼睛;
  • 鉴赏家需要提升自身的鉴赏能力,当我的画与大师的画放在一起时,需要精准地分辨出哪个是大师的画、哪个是我的画,从而尽可能地防止以假乱真的出现。

但是我们的目标是我成为高水平的画家,而鉴赏家的水平提升只是一种借助手段。只有我的画以假乱真,高水平的鉴赏专家无法分辨的前提下,我才能够成为高水平的画家

生成对抗网络——数学语言描述

已知一个样本集合 X = { x ( i ) } i = 1 N \mathcal X = \left\{x^{(i)}\right\}_{i=1}^N X={ x(i)}i=1N,该样本是真实样本,是从客观的真实分布中产生的样本。将该分布记作 P d a t a \mathcal P_{data} Pdata;根据上面的示例描述,可以将这个 P d a t a \mathcal P_{data} Pdata看作大师的画,是静态不变的。

  • 生成模型(绘画爱好者) 本身需要生成样本,而生成出样本的分布记作 P g e n e \mathcal P_{gene} Pgene;可以看作是绘画爱好者临摹的作品。定义该模型的参数 θ g e n e \theta_{gene} θgene,最终对应的概率模型可表示为 P g e n e ( x ; θ g e n e ) \mathcal P_{gene}(x;\theta_{gene}) Pgene(x;θgene)
    也就是说,模型生成的样本服从概率模型分布~
    x ∼ P g e n e ( x ; θ g e n e ) x \sim \mathcal P_{gene}(x;\theta_{gene}) xPgene(x;θgene)

    需要注意的是,我们并不对 P g e n e ( x ; θ g e n e ) \mathcal P_{gene}(x;\theta_{gene}) Pgene(x;θgene)进行建模,而是通过神经网络通用逼近定理(Universal Approximation Theorem)对 P g e n e ( x ; θ g e n e ) \mathcal P_{gene}(x;\theta_{gene}) Pgene(x;θgene)进行近似。
    纯粹的神经网络不具备随机性,也就是说,只有给定一组确定的输入信息,才能够构建计算图。以此,需要给该神经网络设计一个 输入分布 Z \mathcal Z Z。这种分布通常情况下是一些简单分布,如高斯分布
    这里的 μ i n i t , Σ i n i t \mu_{init},\Sigma_{init} μinit,Σinit不是参数,这只是一个给定的简单分布。
    Z ∼ N ( μ i n i t , Σ i n i t ) \mathcal Z \sim \mathcal N(\mu_{init},\Sigma_{init}) ZN(μinit,Σinit)
    至此,定义神经网络结构 G ( Z ; θ g e n e ) \mathcal G(\mathcal Z;\theta_{gene}) G(Z;θgene)生成过程可表示为如下形式:
    x = G ( Z ; θ g e n e ) x = \mathcal G(\mathcal Z;\theta_{gene}) x=G(Z;θgene)
    对应的计算图结构简单表示如下:
    生成过程中的计算图结构

  • 判别模型(鉴赏家) 同样通过神经网络进行描述,它的结果是一个概率分布。而该分布表示的意义是:判别样本 x x x是大师的画的概率。如果用当前环境的数学语言描述,则是“样本 x x x服从 P d a t a \mathcal P_{data} Pdata分布的概率”。记作 D ( x ; θ d ) \mathcal D(x;\theta_d) D(x;θd)
    这里的样本 x x x既可以是服从 P d a t a \mathcal P_{data} Pdata的样本,也可以是从生成模型 P g e n e ( x ; θ g e n e ) \mathcal P_{gene}(x;\theta_{gene}) Pgene(x;θgene)中产生的样本,而 D ( x ; θ d ) \mathcal D(x;\theta_d) D(x;θd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静静的喝酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值