【杂谈】如何系统性地学习生成对抗网络GAN

1 了解GAN基本原理和应用

有三最早写的一篇GAN相关的文章就是一篇综述,链接如下:
虽然因为后来比较忙,一直没有更新下,但是在这个综述上中,已经介绍了GAN的来龙去脉,优化目标,以及GAN的图像生成,风格迁移,超分辨等各类应用,有超过30篇参考文献,适合对GAN感兴趣的初学者。

有三说GANs

2 GAN的重要理论

GAN的重点和难点一方面是它的理论,包括优化目标,评测指标,另一方面包括各类工程训练技巧。有三同一个实验室的亲师弟郭晓洲在自身扎实的数学系背景知识的支持下,在公众号开设了《GAN优化》专栏,从GAN的基本理论,f散度度量和Wasserstein距离,到GAN与动力学,各种GAN的正则项的优劣,模式崩溃问题,进行了细致的总结,浓浓的数学味道,并持续更新中,希望你会喜欢。

GAN优化目标

3 GAN实战专栏

好记性不如烂笔头,终究还是要靠实战,于是我们在有三AI知识星球的网络结构1000变中添加了GAN专栏,内容会包括论文详细解读,部分包括代码解读和实战,形式如下:

有三AI知识星球-网络结构1000变

SRGAN

SRGAN(super-resolution GAN)是第一个基于GAN的图像超分辩模型,能够取得4倍的高分辨率放大。

作者/编辑 言有三

早期的基于CNN模型的超分辨率框架如SRCNN,ESPCN都使用MSE损失作为优化目标,它们能取得较高的PSNR和SSIM指标,但是存在结果过于平滑的问题。全局的MSE指标较小并不能保证局部细节的清晰度,较大的MSE指标也并不意味着结果差,比如图偏移一个像素后与原图的MSE可能很大,但是感知结果非常相近,因此人眼对结果的感知评价并不完全与这些指标相符。

为了获得与人眼感知更加相符的结果,研究者从风格迁移等任务中进行借鉴,使用了感知损失替代MSE损失,它就是基于特征空间的欧式距离。

在文[2]中将SRCNN模型[1]的像素损失改为感知损失后,显著提高了视觉效果,如下图的倒数第二幅图与最后一幅图的比较。

另外,随着生成对抗网络GAN的发展,生成器和判别器的对抗学习机制在图像生成任务中展现出很强大的学习能力。

基于以上两个特点,SRGAN[3]被提出,它使用ResNet作为生成器结构,使用VGG作为判别器结构,具体结果如上图。

生成器结构包含了若干个不改变特征分辨率的残差模块和两个基于亚像素卷积的后上采样模块,因此它实现了4倍的分辨率提升。

判别器结构则包含了若干个通道数不断增加的卷积层,每次特征通道数增加一倍时,特征分辨率降低为原来的一半。

损失函数包括两部分,分别是内容损失和对抗损失。

根据内容损失选择MSE损失还是感知损失,以及是否添加GAN损失,作者比较了多个模型,SRResNet-MSE, SRResNet-VGG22,SRGAN-MSE, SRGAN-VGG22, SRGAN-VGG54。SRResNet即不使用GAN损失,MSE和VGG22分别表示不同的内容损失。

上图展示了对比结果,其中SRResNet就是SRResNet-MSE。可以看出添加GAN损失能显著改善视觉效果,而使用感知损失的结果细节也比MSE损失更好。

下图统计了一些自然的图像块,基于MSE生成的图像块和基于GAN生成的图像块的对比,也可以发现MSE的结果更加平滑。

github的tensorflow和pytorch开源代码如下:

https://github.com/brade31919/SRGAN-tensorflow

https://github.com/leftthomas/SRGAN

上图展示了一些结果,感兴趣的读者可以使用自己的数据进行训练。

参考文献

[1] Dong C, Loy C C, He K, et al. Image super-resolution using deep convolutional networks[J]. IEEE transactions on pattern     analysis and machine intelligence, 2015, 38(2): 295-307.

[2] Johnson J, Alahi A, Fei-Fei L. Perceptual losses for real-time style transfer and super-resolution[C]//European conference on computer vision. Springer, Cham, 2016: 694-711.

[3] Ledig C, Theis L, Huszár F, et al. Photo-realistic single image super-resolution using a generative adversarial networ    k[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4681-4690.

一些内容预览如下:

(0)

相关推荐