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