李宏毅 ML2021 学习笔记 - W6 Generative Model

目录

1. 生成式对抗网络

1. Network as Generator

1.1. 为什么需要输入一个分布?

1.2. Unconditional generation

2. Theory behind GAN

2.1. Objective

2.2. 如何计算两个distribution之间的divergence?

2.3. Discriminator

3. 训练GAN的技巧

3.1. WGAN

 4. generator效能评估与条件式生成

4.1. Evaluation of GAN

4.2. Conditional Generation

 4.3. Unpaired Data

2. 其他generative model

1. VAE

1.1. Auto-encoder

 1.2. VAE

1.3. Why VAE? 

1.4. Gaussian Mixture Model

1.5. Problems of VAE

2. Flow-based model


1. 生成式对抗网络

1. Network as Generator

李宏毅 ML2021 学习笔记 - W6 Generative Model_第1张图片

1.1. 为什么需要输入一个分布?

李宏毅 ML2021 学习笔记 - W6 Generative Model_第2张图片

1.2. Unconditional generation

李宏毅 ML2021 学习笔记 - W6 Generative Model_第3张图片

generator把一个简单的distribution对应到一个复杂的distribution

2. Theory behind GAN

2.1. Objective

找一个Generator,使得生成数据的分布与目标数据的分布越接近越好

李宏毅 ML2021 学习笔记 - W6 Generative Model_第4张图片

2.2. 如何计算两个distribution之间的divergence?

→ 只要能够从两个distribution中sample data,就可以估测divergence → Discriminator

2.3. Discriminator

李宏毅 ML2021 学习笔记 - W6 Generative Model_第5张图片

*熵和交叉熵公式:

Entropy=\mathbb{E}_{x\sim P}[-log(P(x))]

Cross Entropy=\mathbb{E}_{x\sim P}[-log(Q(x))]

其中maximum objective value与JS divergence相关 

直觉上,两个分布接近(small divergence)时,判别器难以区别数据,V(D,G) 的最大值较小

李宏毅 ML2021 学习笔记 - W6 Generative Model_第6张图片

 也可以使用其他divergence,需要重新定义objective function(ref: FGAN)

李宏毅 ML2021 学习笔记 - W6 Generative Model_第7张图片

3. 训练GAN的技巧

3.1. WGAN

JSdivergence的问题:

李宏毅 ML2021 学习笔记 - W6 Generative Model_第8张图片

对于没有重叠的distributions, JS divergence算出来都是log2,training loss不能给很多资讯

李宏毅 ML2021 学习笔记 - W6 Generative Model_第9张图片

更直观来说,如果两个distribution不重叠,做binary classifier时正确率总是可以达到100%

 → Wasserstein distance

求解 \max_{D\in1-Lipschitz}{E_{y\sim P_{data}}[D(y)]-E_{y\sim P_{G}}[D(y)]},解得的值就是Wasserstein distance

实作中的一些方法:

李宏毅 ML2021 学习笔记 - W6 Generative Model_第10张图片

 4. generator效能评估与条件式生成

4.1. Evaluation of GAN

  • Diversity-Mode Collapse

generator抓到discriminator的盲点。(还没有解决)(可以记录train point)

  • Diversity-Mode Dropping (还没有本质上的解决)

李宏毅 ML2021 学习笔记 - W6 Generative Model_第11张图片

 Inception Score

用inception network量一下quality和Diversity

  • Frechet Inception Distance (FID)(越小越好)

拿Inception network 进入softmax之前的HiddenLayer的输出,假设分布是Gaussian

李宏毅 ML2021 学习笔记 - W6 Generative Model_第12张图片

  •  To learn more

4.2. Conditional Generation

例如:Text to image

李宏毅 ML2021 学习笔记 - W6 Generative Model_第13张图片

训练的时候只有positive和negative example出来的结果并不会很好,还需要一种不好的情况是好的图片 + 不匹配的标签,实做会打乱图片和标签

 李宏毅 ML2021 学习笔记 - W6 Generative Model_第14张图片

 4.3. Unpaired Data

例如:风格转换

李宏毅 ML2021 学习笔记 - W6 Generative Model_第15张图片

理论上,没有办法保证输入和输出很接近。举一个极端的例子,G_{x\rightarrow y}可以学到翻转图片,G_{y \rightarrow x}可以学到再次翻转图片,所以cycle consistency并没有办法保证机器不会学到一些奇怪的转换。但是在实做上,通常输入输出很接近,即使没有使用cycle gan的结构。

2. 其他generative model

1. VAE

1.1. Auto-encoder

李宏毅 ML2021 学习笔记 - W6 Generative Model_第16张图片

 1.2. VAE

李宏毅 ML2021 学习笔记 - W6 Generative Model_第17张图片

exp(\sigma)表示variance,因为variance总是正值所以用exp

李宏毅 ML2021 学习笔记 - W6 Generative Model_第18张图片σ=0的时候 exp(\sigma)-(1+\sigma) 最小,exp(\sigma)=1 → variance为1,所以minimize这个值让variance不能太小。m_i^2L_2 Regularization,为了避免模型overfitting

1.3. Why VAE? 

李宏毅 ML2021 学习笔记 - W6 Generative Model_第19张图片

加入noise后,又因为variance不会太小,红点所在位置会同时对应到满月和半月 ,但因为要满足mean square error,所以会生成介于满月半月之间的月亮。

1.4. Gaussian Mixture Model

李宏毅 ML2021 学习笔记 - W6 Generative Model_第20张图片

 Even though z si from N(0,I), P(x) can be very complex

为了estimate\mu (z),\sigma (z), 我们maximize Likelihood: L=\sum logP(x)

李宏毅 ML2021 学习笔记 - W6 Generative Model_第21张图片

 所以

李宏毅 ML2021 学习笔记 - W6 Generative Model_第22张图片

 李宏毅 ML2021 学习笔记 - W6 Generative Model_第23张图片

maximizeq(z|x)的时候,P(x)与其无关所以不会变,所以KL divergence会越来越小。最后q(z|x)和p(z|x)越来越接近 

 所以,要minimize KL(q(z|x)||P(z)),就是让q(z|x)接近标准正态分布,也就是黄框里的式子李宏毅 ML2021 学习笔记 - W6 Generative Model_第24张图片

 另外,要maximize第二项

李宏毅 ML2021 学习笔记 - W6 Generative Model_第25张图片

1.5. Problems of VAE

李宏毅 ML2021 学习笔记 - W6 Generative Model_第26张图片

2. Flow-based model

你可能感兴趣的:(李宏毅ML2021)