UNET-GAN
A U-Net Based Discriminator for Generative Adversarial Networks
主要思想
文章的工作主要是针对 GAN 的判别器的改进。使用一个U-NET作为判别器,判别器的编码部分输出对图象的全局分类结果,判别器的解码部分输出对图象像素级的判别。因此这个判别器既能判别全局也能判别局部信息。同时作者结合了 最新的正则化技术 MixCup 提出了个一致性正则化损失 。
主要内容
研究背景
GAN 目前从三个研究角度进行,即大规模训练、网络结构设计和正则化技术。尽管近年来取得了很大的进展,但如何综合具有全局语义连贯、长程结构和细节准确性的图像仍然具有挑战性。对抗器的好坏会直接影响生成器的效果。在目前最先进的GAN模型中,作为分类网络的鉴别器只学习一种表示,因此它通常要么关注全局结构,要么关注局部细节。合成样本的分布随着训练过程中生成器的不断变化而变化,容易忘记之前的任务 (在判别器训练的背景下,学习语义、结构和纹理可以被认为是不同的任务) .....
结构
结构很简单 ,使用UNET 判别器可以同时输出去全局和局部判别。对于全局判别的标签就是和输入图像一样的 0/1的值。除此之外,还是用了MixCut正则技术
CutMix
mixcut用在对判别器的训练。通常判别器输入要么是正样本要么是负样本。而MixCut就是复制粘贴的方式结合在一起输入网络(M就是二值掩膜)。对应的标签按照 正负样本 面积比例给的。除此之外还有 Mixup,Cutout
- Mixup:将随机的两张样本按比例混合,分类的结果按比例分配;
- Cutout:随机的将样本中的部分区域cut掉,并且填充0像素值,分类的结果不变;
- CutMix:就是将一部分区域cut掉但不填充0像素而是随机填充训练集中的其他数据的区域像素值,分类结果按一定的比例分配
CutMix优点:
- 在训练过程中不会出现非信息像素,从而能够提高训练效率;
- 保留了regional dropout的优势,能够关注目标的non-discriminative parts;
- 通过要求模型从局部视图识别对象,对cut区域中添加其他样本的信息,能够进一步增强模型的定位能力;
- 不会有图像混合后不自然的情形,能够提升模型分类的表现;
- 训练和推理代价保持不变
https://blog.csdn.net/weixin_38715903/article/details/103999227
损失函数
从上述结构不难看出 生成器的损失函数 包含两项 一个是编码器的全局判别损失和解码器的像素级判别损失。而训练对抗器的损失由于加入了CutMix操作,作者又提出了一个一致性损失,更充分的利用了像素判别的优势。
这个式子的意思是 将 真实图片 x 和 生成器生成的假的图片 fake 首先使用Mask将二者混合后 输入 判别器,解码出的像素级判别的结果 1 和 将x 和 fake 分别输入判别器得到各自的得分后再使用Mask混合得到结果2 ,这两个结果应该一致。因此最终判别器的损失:
但是对于全局判别器的Mix 标签 这里的设置和 以往的不同 以往Mix后的全局标签设置是按照正负样本面积比例计算的一个介于0-1之间的值。而作者这里 Mix标签设置为固定的0。用于约束编码器的输出。
In contrast to [47], the class label c ∈ {0, 1} for the new CutMix image x˜ is set to be fake, i.e. c = 0. Globally the mixed synthetic image should be recognized as fake by the encoder Denc U ,otherwise the generator can learn to introduce the CutMix augmentation into generated samples, causing undesirable artifacts.
实验
MixCut图象的生成概率 p 在前n个epoch是从0到0.5逐步提高的。以给生成器足够的时间学习生成较真实的图片。避免判别器过早的训练稳定。一开始生成器生成的太假 判别mix难度太小。