StarGan v2 -飞桨PaddlePaddle 论文复现 之论文阅读
最近参加百度飞浆的论文复现课程,课程免费,有一定挑战性。
论文复现课程链接:https://aistudio.baidu.com/aistudio/education/group/info/1340
复现课程涉及到GAN生成和视频分类两个方向的9篇论文,老师大致综述和领读相关论文后,学员需要选择一篇来精读并用PaddlePaddle进行复现。不是直接从论文出发开始复现哈,而是基于论文并结合Pytorch的参考代码用PaddlePaddle来进行复现,要求精度达到原论文的水平。虽然有参考代码,但要进行代码转换并达到原论文精度还是有难度的。
我这里选择的论文是Gan方向的StarGAN StarGAN v2: Diverse Image Synthesis for Multiple Domains
以下是论文阅读的简单纪要(作业要求,先占坑):
目标问题:
Gan 生成的图像多样性不够?
对于不同图像到图像的风格转换可以专门训练一个模型来完成,但如果是多种不同风格之间的图像进行转换就需要训练K x (K-1) 种,非常麻烦。
解决思路:
先根据风格的设置将随机码转换成风格码,再基于该风格码生成对应风格的图像。
相关模块:
生成器、风格码映射网络、风格码提取网络、判别器
风格码映射网络:将随机码映射成风格码,风格码是风格特征的表示。如何学习?
风格码提取网络:从输入图片中提取风格码。如何学习?是否可以通过风格分类的方式来训练?
生成器: 基于风格码和原始输入图像,生成对应风格的图像(风格码通过AdaIN的方式注入)
判别器: 判断图像是否属于对应的风格以及是否与原图相似
对目标问题的呼应
不同的随机码配合随机的风格可生成丰富多样的风格码,进而通过GAN生成丰富多彩的图像。这可以改善GAN生成图像多样性不够的问题。
学习到风格码的表示,可以帮助生成器生成不同风格的图片,而不必为各种风格之间的转换单独训练不同的模型。
Loss函数及训练方法
为达成目标设计了多个loss,分别如下:
对抗 Loss
风格重建 Loss
风格多样性 Loss
保留原图特征 Loss
多任务的综合 Loss