layout: post
title: GAN
subtitle: GAN
date: 2021-11-25
author: NSX
header-img: img/post-bg-ios9-web.jpg
catalog: true
tags:
- GAN


GAN

GAN 涉及的公式有点多,而且证明起来也太复杂(对我来说….),所以本篇博客就不涉及这些公式证明,仅仅是我在重新梳理 GAN 相关知识点做的一个总结,方便随时回忆。GAN要做的事情就如下图所示:

2021-11-25-[ML]-GAN 图解 - 图1

我们想要将一个随机高斯噪声z通过一个生成网络G得到一个和真的数据分布 2021-11-25-[ML]-GAN 图解 - 图2 差不多的生成分布 2021-11-25-[ML]-GAN 图解 - 图3 ,其中的参数 2021-11-25-[ML]-GAN 图解 - 图4 是网络的参数决定的,我们希望找到 2021-11-25-[ML]-GAN 图解 - 图5 使得 2021-11-25-[ML]-GAN 图解 - 图6 尽可能接近。

预备知识

KL divergence

这是统计中的一个概念,是衡量两种概率分布的相似程度,其越小,表示两种概率分布越接近。

对于离散的概率分布,定义如下

2021-11-25-[ML]-GAN 图解 - 图7

对于连续的概率分布,定义如下

2021-11-25-[ML]-GAN 图解 - 图8

Basic Idea of GAN

  • Generator G
    G是一个生成器,给定先验分布 2021-11-25-[ML]-GAN 图解 - 图9#card=math&code=P_%7Bprior%7D%28z%29&id=GybSO) 我们希望得到生成分布 2021-11-25-[ML]-GAN 图解 - 图10 ,这里很难通过极大似然估计得到结果
  • Discriminator D
    D是一个函数,来衡量 2021-11-25-[ML]-GAN 图解 - 图112021-11-25-[ML]-GAN 图解 - 图12 之间的差距,这是用来取代极大似然估计

样本数据点 2021-11-25-[ML]-GAN 图解 - 图13 的对抗样本可以归结为如下公式:

2021-11-25-[ML]-GAN 图解 - 图14

其中 2021-11-25-[ML]-GAN 图解 - 图15 是样本 2021-11-25-[ML]-GAN 图解 - 图16 的标签,2021-11-25-[ML]-GAN 图解 - 图17 表示的是神经网络的参数向量, 2021-11-25-[ML]-GAN 图解 - 图18 是表示的是对抗扰动大小,2021-11-25-[ML]-GAN 图解 - 图19 是损失函数(交叉熵)。为了获得一个鲁棒的模型,对抗训练试图解决以下的极大极小值问题:

2021-11-25-[ML]-GAN 图解 - 图20

Inner Loop 是为了生成对抗样本,而 Outer Loop 是用对抗样本对模型进行对抗训练。如下图所示为了能够更好的理解此公式,我画了一张示意图助于理解。

2021-11-25-[ML]-GAN 图解 - 图21

苏神对 GAN的解读

细节可以去看苏神的博客,我就是把里面的内容总结到如下的一张图里,方便查看:

2021-11-25-[ML]-GAN 图解 - 图22