一个新的GAN,反映了图像生成中的 "意义"。
三个要点
✔️ 实例条件下的GAN(ICGAN),它可以根据数据点(实例)的特征来生成数据,以应对由许多模式组成的复杂数据分布。
✔️ ICGAN表明,在以分类类别和特征为条件的数据生成中,语义操作是可能的。
✔️ ICGAN在含有与训练数据不相似的数据集上的高生成能力。
Instance-Conditioned GAN
written by Arantxa Casanova, Marlène Careil, Jakob Verbeek, Michal Drozdzal, Adriana Romero-Soriano
(Accepted at NeurIPS2021)
Subjects: Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍
生成对抗网络(GANs)是两个神经网络:一个区分真实数据和人工数据的鉴别器(D)和一个从噪声中生成数据的发生器(G)。这是一个深度学习模型,学生通过相互竞争来进行训练。
目前已知的GANs的挑战之一是模式崩溃。模式崩溃通过使生成的数据偏向于训练数据的一个子集,损害了生成样本的质量和多样性。
众所周知,这种模式崩溃的挑战使得在像ImageNet这样由大量物体类别组成的数据集上学习GANs变得困难。为了应对这样大量的模式,人们提出了条件性的GAN(Conditional GAN),以提高样本质量和给定类标签的数据生成的多样性。
由于训练这种条件式GAN需要大量的标记数据,最近有人尝试在不使用标记数据的情况下学习由大量模式组成的分布。这类研究的主要方法是通过无监督学习(通常是通过聚类)来获得调节GAN所需的类标签。在这种情况下,将数据划分为多个聚类的粒度是对生成性有重大影响的因素之一。
本文介绍的实例条件化GAN(ICGAN)通过对数据点(实例)对应的特征进行条件化判别器和生成器,并将数据点的邻域作为真实数据教给判别器,从而解决了上述问题。我们将在下一节更详细地了解ICGAN。
以实例为条件的GAN概述
实例条件下的GAN(ICGAN)模型的概述如下图所示。
输入的图像被特征提取器$f_\phi$映射到特征空间,输出的特征$mathbb{h}$被输入到发生器和鉴别器。生成器从这个特征$mathbb{x}_g$和采样的噪声$mathbb{z}$生成一个图像$mathbb{h}$。鉴别器还根据$mathbb{x}_g$的特征对生成的图像和邻近的图像$mathbb{x}_n$进行鉴别。一个经过训练的ResNet50被用作特征提取器$f_\phi$,无论ICGAN训练如何,这个参数是固定的。
当余弦相似度被用作距离测量时,输入图像的相邻图像是那些在特征空间中的k-邻接图像。
神经网络是通过如下所示的Minimax游戏来训练的。
ICGAN以每个数据点为代表点,学习聚类的分布。整体数据分布被表示为这些聚类分布的重叠,与使用聚类方法的数据分区相比,它的优点是避免了聚类中样本数量的偏差。
ICGAN的另一个优势是,它可以提供语义解释,例如来自类似数据点的类似样本,因为它是以特征而不是聚类数字为条件的。
使用ICGAN进行图像生成的实验
使用ICGAN在两种条件下进行了图像生成的实验:无标签和有标签。
在没有标签的情况下,生成的图像在两个复杂的数据集ImageNet和COCO-Stuff上进行了评估。
除了通过有标签的特征进行调节外,还新增加了通过类别标签进行调节,并在ImageNet和ImageNet-LT上对生成的图像进行了评估,ImageNet-LT是ImageNet的扩展版本,也包括有少量样本的类别。此外,还进行了实验,以检查在有标签的情况下,是否可以通过替换类别标签来对生成的图像进行语义控制。
本文介绍的结果是ImageNet中带标签和不带标签的图像生成的结果。
生成图像的评价指标
使用Frechet Inception Distance(FID)和Inception Score(IS)对ICGAN生成的图像进行评估,这是GAN的常用指标;FID和IS的描述被省略,将留给其他文章。
此外,本文还使用一个特定于图像的指标--学习感知图像补丁相似度(LPIPS)来评估生成的图像的多样性,该指标是基于用相同条件生成的两个不同图像。这些图像被输入到AlexNet,并计算出活动的距离。
图像生成实验的结果
首先,ImageNet在无标签条件下的图像生成结果如下表所示。
可以看出,ICGAN在64x64、128x128和256x256的所有分辨率下都优于传统方法。对于基线BigGAN来说,即使增加参数数量以匹配ICGAN的容量,其性能也不如ICGAN。(♰在表中)
在水平反转作为数据扩展的情况下,生成性能的提高(表中的DA(d):判别器的正反例子,表中的DA(i):输入图像)表明了ICGAN中数据扩展方法的有效性。
接下来,在ImageNet中,标记条件下的图像生成结果显示如下。
同样,在这里也发现,在大多数决议中,生成性优于基线BigGAN。
下图是在无标签(图的左半部)和有标签(图的右半部)情况下实际生成的图像。
在每个条件下,最左边的一列是用来计算特征的输入图像,而右边的三列是由噪声产生的图像。在标记图像的情况下,在图像下面标注一个单独的类别标签(例如:黄金猎犬),以生成与输入图像的类别不同的图像。
在草地背景上添加金毛犬和在雪地背景上添加骆驼的图像例子表明,ICGAN能够进行语义处理,图像看起来就像输入图像的背景加上给定的类别标签的内容。
有趣的是,当在ImageNet上训练的ICGANs被用来在COCO-Stuff上生成图像时,它们显示出比在COCO-Stuff上训练的ICGANs更好的生成性能,这一现象已被作者证实。我们推测,这是由于经过训练的特征提取器和生成器的有效性。
结论
我觉得ICGAN在这方面的贡献在于,它通过假设每个数据点的集群的混合分布来处理模式崩溃,而且使用训练有素的特征提取器可以调节反映图像的 "意义",而不是集群数字。
另一方面,ICGAN的缺点可能包括需要保持大量的数据点以覆盖复杂的数据分布,以及其生成能力取决于特征提取器。
在具有不同数据分布的数据集上可以构建显示泛化性能的GANs,这一结果令人惊讶。看看它是否也能很好地生成在特征提取器训练期间没有出现的物体类别的图像,这将是很有趣的。
如果你有兴趣,请查看原始论文中COCO-Stuff产生的结果以及在其他数据集上的泛化性能!
与本文相关的类别