来源:
https://www.bilibili.com/video/BV17r4y167Bz?spm_id_from=333.337.top_right_bar_window_history.content.click
1. GAN的介绍
1.1 引入
Generative Adversarial Networks,是一种无监督的深度学习模型,2014提出。
1.2 模型的主要组成
- 生成器G(generator)
- 判别器D(discriminator)
1.3 GAN训练的主要目的
希望生成器G,能学习到样本的真实分布
P
d
a
t
a
(
x
)
P_{data}(x)
Pdata?(x),那么G就能生成之前不存在的却又真实的样本 取噪声
z
z
z 学习,调整生成器的参数 使得
G
(
z
)
G(z)
G(z)~
P
G
(
x
)
P_G(x)
PG?(x)≈
P
d
a
t
a
(
x
)
P_{data}(x)
Pdata?(x) 使得学得分布与原始数据分布尽可能类似
1.4 GAN网络结构
将生成的图片与真实图片送入D中二分类比较判别 where,
D
(
?
)
∈
[
0
,
1
]
D(·) \in [0,1]
D(?)∈[0,1] SoftMax变换压缩后
- 内层。调整D,
D
(
x
)
?
>
1
D(x)->1
D(x)?>1,
D
(
G
(
z
)
)
?
>
0
D(G(z))->0
D(G(z))?>0
- 外层。调整G,
D
(
G
(
z
)
)
?
>
1
D(G(z))->1
D(G(z))?>1,调整生成器,欺骗判别器,蒙混过关,实现假数据生成。
KL散度(相对熵)
2. 常见的GAN
2.1 DCGAN
DCGAN(Deep Convolutional Generative Adversarial Networks)基于深度卷积生成对抗性网络的无监督表示学习 将判别器和生成器中原始GAN的MLP模型换为CNN
- 用步长卷积(D)和小步长卷积(G)替换池化层
- 在D和G中使用batchnorm
- 移除隐层的全连接
- ReLU激活函数,最后一层用Tanh
- 在D中用LeakyReLU
|