跨物种造物,AI 将长颈鹿图片转换为鸟,还骗过了人类与机器
admin
2021-01-02 05:44:34
0

当人们研究人工智能生成和检测图像的方式时,都需要明确一个研究主题。近期康奈尔大学的三位研究人员 Daniel V. Ruiz,Gabriel Salomon,Eduardo Todt 决定训练人工智能将长颈鹿的图片转化成鸟的图片,用生成对抗网络(GANs) 产生新数据来研究这种图像到图像转换(image-to-image translation)。这篇论文还投中了 Computer on the Beach (COTB’20) 2020 会议。

目前图像到图像转换的应用已经比较广泛,包括从卫星图像生成地图到仅从轮廓生成完整的服装图像。这篇论文研究将长颈鹿转变为鸟其实颇具挑战,因为两种动物有不同的大小、纹理和形态。他们训练了一个名为 InstaGAN 的无监督跨域转换模型,让它接受了大量长颈鹿和鸟的图片训练。

InstaGAN 由韩国科学技术院和浦项科技大学的研究人员在 2019 年提出,相关论文《InstaGAN: Instance-Aware Image-to-Image Translation》还被 ICLR2019 接收。

最后鸟类成品保留原始图片的布局和背景,只是将长颈鹿直接转换成鸟类。需要强调的是,生成的鸟并不存在,这仅仅是 InstaGAN 生造的结果。

跨物种造物,AI 将长颈鹿图片转换为鸟,还骗过了人类与机器

这次论文的创新点,用作者自己的话说就是,“我们这次没有把苹果变成橘子,而是把大象变成了香蕉”。因为之前无监督的图像到图像转换,例子大多是将站着的狮子转换为趴着,将猫转化为狗,马变成斑马等,但这些训练在比例、形状都很相似,所以难度有所差异。

他们具体是怎么做的呢?

用于训练 GAN 和生成相关的图像有两个数据集:COCO(Common objects in Context) 和 Caltech-UCSD Birds 200。COCO 数据集有超过 91 种类型的 328000 张图片,作者们从中选了 2546 张和 101 张的长颈鹿图片分别用于训练和验证,又从另一个主要涵盖 200 多个种类的鸟数据集 Caltech-UCSD Birds 200-2011 中,八二分,选择 80% 也就是 9414 张的鸟类图片用于训练,20% 也就是 374 张用于验证。

每张图片都能看到长颈鹿和鸟的轮廓。AI 主要工作是两块,一是把长颈鹿变成鸟,另一部分是判断它看到的图片是真的鸟还是假的长颈鹿—鸟。

接下来开始训练。大多数参数与 InstaGAN 初始论文中一样。通过双线性插值(bilinear interpolation)将长颈鹿和小鸟数据集的图像大小调整为 256×256 ,GPU 训练花费了将近 3 周时间(如果用 2 个英伟达 RTX 2080 GPU,时间能减少到一周半)。

InstaGAN 在训练中使用的 loss functions 包括:Least-squares GAN loss,cycle loss,context loss 和 identity loss,根据它们在最终结果中的重要性进行加权。cycle loss 权重最高。LSGAN 也是如此,因为它改善了收敛性,减少了可能消失的梯度问题(vanishing gradient issues),这需要超过 100 个 epoch 来实现良好的视觉效果和损失最小化。

在三周的训练结束后,他们得到一个人造鸟图集 FakeSet 。下图显示了图像到图像转换的一些例子。

跨物种造物,AI 将长颈鹿图片转换为鸟,还骗过了人类与机器

可以看到原始图像和蒙版,以及转换之后的图像和蒙版。请注意,姿势、空间排列和背景是没有改变的的。也就是说,InstaGAN 已经相当好地学会了转换图像,这些图像中,长颈鹿几乎没有遮挡,都是侧身站立,而在相同的位置上如今也产生鸟类。有意思的是,InstaGAN 学到了一个有趣的“欺骗”方法——生成深色的鸟,与浅色背景形成对比,如此能更好地骗过人类、机器鉴别者。

相关内容