1. GAN
GAN 全称为Generative Adversarial Network,即生成对抗网络,在2014年由Ian J. Goodfellow等人在文章《Generative Adversarial Nets》提出。
GAN网络主要由生成网络
G
G
G和判别网络
D
D
D两个网络组成。其中生成网络
G
G
G的输入为随机噪声
z
z
z,输出为图片
G
(
z
)
G(z)
G(z);判别网络
D
D
D的输入为图片
x
x
x(有可能是真实也有可能不真实),输出为判别为真实图片的概率
D
(
x
)
D(x)
D(x),判断真实
D
(
x
)
=
1
D(x)=1
D(x)=1,判断不真实
D
(
x
)
=
0
D(x)=0
D(x)=0。
GAN网络在实际训练过程中,生成网络 G G G的目标就是尽量生成真实的图片去欺骗判别网络 D D D;而 D D D的目标就是尽量把 G G G生成的图片和真实的图片分别开来。通俗来讲,GAN的生成器 G G G的目标是生成一张真实的图像(生成出来的假的图像),判别器 D D D的目标是判别一张图像是生成出来的还是真实存在的。
因此,
G
G
G和
D
D
D构成了一个动态的“博弈过程”,在实际训练步骤中,主要采用交替训练的方法:
1)固定判别器
D
D
D,训练生成器
G
G
G;2)固定生成器
G
G
G,训练判别器
D
D
D;3)循环步骤 1)2)
在GAN网络中,其loss函数至关重要:
GAN网络的loss函数主要由两部分组成。其中
D
(
x
)
D(x)
D(x)表示判别网络判断真实图片是否真实的概率,判别网络
D
D
D希望应当越大越好,代表判别真实图片更准确,此时
V
(
D
,
G
)
V(D, G)
V(D,G)变大,从而有
m
a
x
max
max
D
D
D;
D
(
G
(
z
)
)
D(G(z))
D(G(z))表示判别网络
D
D
D判断生成网络
G
G
G生成的图片是否为真实的概率,生成网络
G
G
G希望生成的图片尽可能真实,即
D
(
G
(
z
)
)
D(G(z))
D(G(z))尽可能大,此时
V
(
D
,
G
)
V(D, G)
V(D,G)变小,从而有
m
i
n
min
min
G
G
G。