S³GAN : High-Fidelity Image Generation With Fewer Labels (2019.03)

    xiaoxiao2022-07-04  113

    ##S³GAN : High-Fidelity Image Generation With Fewer Labels (2019.03)

    介绍

    半监督学习:整个训练集的标签可以从一小部分标记过的训练图像中推断出来,而推断出来的标签可以用作GAN训练的条件信息。自监督学习:旨在通过设计辅助任务来学习可区别性的视觉特征,如此,目标标签就能够自由获取。这些标签能够直接从训练数据或图像中获得,并为计算机视觉模型的训练提供监督信息。传统的GAN在判别器(D)网络的输出端会使用二分类模式,代表真和假。在SGAN中,就是把这个二分类(sigmoid)转化为多分类(softmax),类型数量为N+1,指代N个标签的数据和“一个假数据”,表示为:

    Models

    模型a中,鉴别器D被分解为一个鉴别器表征?^~和一个线性分类器?_(?/?),鉴别器表示为 。 y_? 是已知标签信息,z是输入的噪声, x_? 是生成器G生成的带y_?标签的图像, ?_r是真实图像,D可以表示为: 其中是将(_x^~) 和标签y进行one-hot编码作为输入的线性投影层。(没看明白) 改进后的b中,F是通过无监督学习从没有标注的真实训练数据里面,学到它们的表征, ?_CL是k-means聚类分配函数,将提取到的特征进行聚类。这里a中y_r 就替换为b中 ?_CL(F(x))。 a,b模型差别在于,a中?_r是带标签信息y_r的数据,而b中?_r的特征信息通过无监督学习由F自动提取,然后把聚类的分配结果,当成标注来用。

    模型b中,特征提取器F是需要经过预训练得到的,预训练网络在实际训练中会占用很多时间,因此可以用协同训练(Co-Training)(模型c)。直接在判别器的表征上面,训练一个半监督的线性分类器?_CT ,根据已标注的实际例子,对未标注的标签进行预测。这个过程,和???的训练一同进行。 模型d中,考虑到鉴别器本身是一个分类器,可以通过一个辅助任务来增强这个分类器。他们给了分类器一个额外的自监督任务,就是在鉴别器表征(_?^~)(?) 上训练一个额外的线性分类器?_?,来预测旋转过的训练集 (包括真图和假图) 的旋转度数r ∈ R {0, 90 ,180, 270}, 使得GAN的训练变得更加稳定,再把这个步骤与前面的半监督模型结合起来,就有了S³GAN 。 S³GAN仅用了10%的人工标注数据就达到了和“史上最强GAN”(BigGAN)相媲美的效果。

    Result

    Personal View

    在S³GAN的基础上,应用具体生成器G和判别器D网络结构,例如ProGAN(渐进生成对抗网络),并在实验的基础上加以改进(例如添加残差结构)。

    最新回复(0)