GAN基本结构和初步理解 | 个人笔记

GAN的基本结构和初步理解

记笔记是为了将已经了解的知识从个例抽象出来,以便将其运用到普遍情况并且记下易错点、难点,方便回忆

1. 基本结构

   一个GAN(生成对抗网络)的主要结构由一个生成模型G(enerator)和一个判别模型D(iscriminator)组成

    结构如图:

    

GAN基本结构和初步理解 | 个人笔记_第1张图片

        (Figure 1.1)GAN的基本结构

   生成模型G:可以是神经网络或者其他方式拟合出的一个函数,给定输入,负责生成整个GAN所需的输出

   判别模型D:可以当作一个判断输入真假的二分类器,也是一个函数

2. 基本原理

GAN中采取的是二者博弈的思想,由生成模型G不断生成输出并与训练集一同输入进判别模型D中进行判断,然后优化学习,
生成模型G和判别模型D二者相互博弈,共同学习从而达到最优(生成模型生成的输出与训练集放入后判别模型输出为0.5,即无法判定输入是否为真实数据)


   
GAN基本结构和初步理解 | 个人笔记_第2张图片

      (Figure 2.1)上图中为生成模型将给定的输入X原本服从均匀分布学习至服从正态分布的过程

 > 图源见水印,我也忘了人家地址了我

3. 深入理解

3.1 两种模型的区别

区分 判别模型 生成模型
功能 需要先训练的模型,能够判别这个数据是否来自真实数据集
,返回值大于0.5就为真,小于0.5为假,
相当于是生成模型的标尺
在判别模型训练好后训练的模型,
能够在给定输入的情况下得到一定的输出,
然后送给判别模型判断后返回误差值,
从而达到让自身学习的目的模型
训练方法 将生成模型生成的假样本集的标签设置为0,
给定的训练集标签设置为1,即相当于训练一个简单的二分类器
不断给出生成模型的输出的误差,从而可以让
生成模型不断被优化,自己学习所需要的分布
训练好判别模型后,将生成的样本标签也设置为1,
从而让判别器自己去判断它的概率,从而得到误差并且学习,
自身相当于一个有监督的机器学习,让其继续学习下去。
让生成样本越来越 接近判别器想要的程度
概率分布类型 条件概率分布(原理是在y条件下,x发生的概率有多大) 联合概率分布(x和y同时发生的概率)
含义 在已知真实样本的条件下,本样本是真实样本的概率为多少 输入x和输出y(即输出样本)同时符合要求的概率为多大
优点 计算边缘分类方面比较灵活,学习简单,性能较好 收敛速度快,可以学习分布,应对隐变量
缺点 不能获得概率分布(密度) 学习复杂,分类性能差
抽象形容 就相当于你不能将低维物体转向高维一样,
计算分类就像是计算出两类样本中间的线
这里的分布较之于判别模型就是高维物体,概率分布较为清晰,
就好比是平面形状而不是线,所以它能转换为判别式模型,而反之不能

      GAN基本结构和初步理解 | 个人笔记_第3张图片
        (Figure 3.1) 两种分布的含义

3.2 模型的目标与原理

原始论文中,GAN的目标函数为:
min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p d a t a ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] \min _{G} \max _{D} V(D, G)=\mathbb{E}_{\boldsymbol{x} \sim p_{\mathrm{data}}(\boldsymbol{x})}[\log D(\boldsymbol{x})]+\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z})))] minGmaxDV(D,G)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]

其中:z是先验概率分布Pz的一个噪声样本,x是一个服从特定分布Pdata的一个真实人脸头像。并且,在收敛性上,合成的图像分布Pg与Pdata是相同的

函数优化的大体目标是:
生成函数G试图捕捉底层的数据密度,混淆判别函数D,而D的优化过程则是为了实现自然人脸图像与G生成的假人脸图像的可分辨性和区分性(真假样本的不同以及哪个是真实样本,哪个是生成样本)。G和D都可以用多层感知器(Multi-Layer Perceptron, MLP)等神经网络拟合。

函数理解:

E x ∼ p d a t a ( x ) [ log ⁡ D ( x ) ] \mathbb{E}_{\boldsymbol{x} \sim p_{\mathrm{data}}(\boldsymbol{x})}[\log D(\boldsymbol{x})] Expdata(x)[logD(x)]减少D(x)的误差,x服从Pdata分布,即给定数据集(训练集)中的人脸分布,log(D(x))保证了正相关的同时极大减少了量纲带来的影响

同理, E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] \mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z})))] Ezpz(z)[log(1D(G(z)))]中D(G(z))的意思是将G函数从z生成的人脸图像放入D中z服从Pz分布,即输入的分布,减少1-D(G(z))就是增大判别器D判断错G生成的图像的误差,也就是说既要增大判别器D的识别人脸能力,还要慢慢地能够增大D判断错G生成的图像,也就是增强了G生成的像是给定训练集的能力,让G生成的图像越来越“真实”

3.3 总结

能够增大D判断错G生成的图像,也就是增强了G生成的像是给定训练集的能力,让G生成的图像越来越“真实”

3.3 总结

以上,就是对于最基本的GAN的结构的理解,大体上就是如此,但要对其数学统计原理进行理解还需要更深的数学基础,这在后面相信我终究会实现

你可能感兴趣的:(GAN,概率统计,深度学习,GAN,数学原理)