模型简介
CycleGAN实现了在没有配对示例的情况下学习将图像从源域 X 转换到目标域 Y,被称为循环对抗生成网络。CycleGAN相比于Pix2Pix,只需要两种域的数据,不需要他们有严格对应关系,它是一种新的无监督的图像迁移网络。
构建生成器
生成器的结构如下图所示
构建判别器
通过 Conv2d
、 BatchNorm2d
和 LeakyReLU
层对网络模型进行处理,最后通过 Sigmoid 激活函数得到最终判断该图像为真实图的概率。
优化器和损失函数
对生成器 𝐺G 及其判别器 𝐷𝑌DY ,目标损失函数定义为:
𝐿𝐺𝐴𝑁(𝐺,𝐷𝑌,𝑋,𝑌)=𝐸𝑦−𝑝𝑑𝑎𝑡𝑎(𝑦)[𝑙𝑜𝑔𝐷𝑌(𝑦)]+𝐸𝑥−𝑝𝑑𝑎𝑡𝑎(𝑥)[𝑙𝑜𝑔(1−𝐷𝑌(𝐺(𝑥)))]
模型训练
一、训练判别器:
目的是最大程度地提高判别图像真伪的概率;
二、训练生成器
目的是产生更好的虚假图像。