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要做的事情就如下图所示:
我们想要将一个随机高斯噪声z通过一个生成网络G得到一个和真的数据分布 差不多的生成分布 ,其中的参数 是网络的参数决定的,我们希望找到 使得 尽可能接近。
预备知识
KL divergence
这是统计中的一个概念,是衡量两种概率分布的相似程度,其越小,表示两种概率分布越接近。
对于离散的概率分布,定义如下
对于连续的概率分布,定义如下
Basic Idea of GAN
- Generator G
G是一个生成器,给定先验分布 #card=math&code=P_%7Bprior%7D%28z%29&id=GybSO) 我们希望得到生成分布 ,这里很难通过极大似然估计得到结果 - Discriminator D
D是一个函数,来衡量 与 之间的差距,这是用来取代极大似然估计
样本数据点 的对抗样本可以归结为如下公式:
其中 是样本 的标签, 表示的是神经网络的参数向量, 是表示的是对抗扰动大小, 是损失函数(交叉熵)。为了获得一个鲁棒的模型,对抗训练试图解决以下的极大极小值问题:
Inner Loop 是为了生成对抗样本,而 Outer Loop 是用对抗样本对模型进行对抗训练。如下图所示为了能够更好的理解此公式,我画了一张示意图助于理解。
苏神对 GAN的解读
细节可以去看苏神的博客,我就是把里面的内容总结到如下的一张图里,方便查看: