Pix2Pix:基于条件生成对抗网络的图像转译
1. 声明
1.1 Gan网路
Generative Adversarial Networks(GANs)-生成对抗网络:学习一个损失,试图分类输出图像是真实的还是假的,同时训练一个生成模型来最小化这种损失。
-
生成器:从随机噪声中生成近似于真实数据的假数据。
-
判别器:判断一个数据样本是来自真实数据集还是由生成器生成的,并将判别结果(例如 真数据与假数据相像的程度),传递给生成器。生成器会根据这个分数继续训练出更加逼真的假数据,再送给判别器鉴别。
这个过程就非常像博弈、对抗,判别器训练的越强大,那么反馈给生成器的信息就越更严格,生成器就训练自己生成更加逼真的赝品来混淆判别器。如此往复,我们就能收获一个非常逼真的赝品。
- 什么时候停止:判别器是领先于生成器的,当判别器的
loss
不变化时,或者判别器对假数据判为真的概率达到了0.5及以上时,可以停止训练 Gan 网络。
1.2 max min
What does arg min max mean?
在上面的公式我们可以理解为,首先训练出能够使 最大化的分类器 ,然后在这个域下(固定),训练出使 最小化的生成器
2. 损失函数
:真实图像的配对图像,也是真实的图像
:真实图像
和 是像素级别一一配对的,例如:
图1. 右边是真实图像 y,左边是真实图像 y 分割出来的图像 x
图2. 右边是真实图像 y,左边是真实图像 y 的线稿 x
:输入图像对,判断这对图像是否是真实匹配的一对
:生成器 接收输入图像 (如灰度图、线稿图)和随机噪声 ,生成与输入图像内容对应的目标图像 (如彩色图、照片)
step 1. 我们希望训练出很强的分类器 。将一对图像逐像素比较, 中,分类器 判断 与 相像的概率越大越好; 中,分类器 判断 与 相像的概率越小越好, 越大越好。这时 越大越好, 因此我们训练 以最大化损失- 。
step 2. 我们希望在强的分类器 给出的信息下(即 下),训练出强的生成器 ,误导分类器 判断 与 相像的概率越大越好, 越小越好。这时 越小越好,因此我们希望训练 以最小化损失-。这会使 真图 和生成器合成的假图 越来越相近。
step 3. 由于假图 是由 生成,同时我们希望假图 与 也相像。
3. 最终的目标函数
为什么是条件对抗网络呢?
就是条件,过去无条件就是 和 都不添加添加
- 生成器 生成的假图 不仅来自于噪声 ,还有输入
- 判别器 对输入 和 Ground Truth 都进行了判断;判别器 对输入 和 假图 都进行了判断