介绍
循环生成对抗网络(简称CycleGans)[1]是功能强大的计算机算法,具有改善数字生态系统的潜力。它们能够将信息从一种表示形式转换为另一种表示形式。例如,当给定图像时,他们可以对其进行模糊处理,着色(如果其最初是黑白的),提高其清晰度或填补缺失的空白。
它们比传统的设计/生产/写作软件更强大。因为CycleGans是机器学习算法,所以它们原则上可以学习实现所需的任何转换。相反,传统的转换软件(例如Photoshop)通常经过编码和开发以执行特定任务。而且,CycleGans可以从现有的软件获得更高的性能,因为它们可以从数据中学习并随着收集的数据的增加而提高效果。
了解CycleGans不同级别的工作原理和能力令人兴奋,下面还介绍了有关人工智能如何以前所未有的方式影响我们日常的见解。
生成对抗网络
在讨论CycleGans之前,让我们简要讨论常规的生成对抗网络。
生成对抗网络(简称GAN)[2]是能够创建数据的机器学习算法。当向他们提供诸如图像,声音或文本之类的信息时,他们学会生成新的外观/声音相似的输出。例如:给定一组人脸图像,该算法可以自学(通过机器学习数据进行训练)人脸的外观,并能够创建新人脸。
CycleGAN是传统GAN的特殊变体。他们也可以创建新的数据样本,但是通过转换输入样本来实现,而不是从头开始创建。换句话说,他们学会了从两个数据源转换数据。这些数据可由提供此算法数据集的科学家或开发人员进行选择。在两个数据源是狗的图片和猫的图片的情况下,该算法能够有效地能够将猫的图像转换为狗的图像,反之亦然。
他们是怎么做到的呢?
什么是CycleGan?
CycleGan是一个神经网络,可以学习两个域之间的两个数据转换函数。其中之一是G(x)。它将给定样本x∈X转换为域Y的元素。第二个是F(y),它将样本元素y∈Y转换为域X的元素。
两个GAN,一个CycleGAN
为了学习F和G,使用了两个传统的GAN。每个GAN内部都有一个生成器网络,该网络学习如何根据需要转换数据。GAN的第一生成器学习计算F,GAN的第二生成器学习计算G。
生成器函数G和F的定义。
此外,每个生成器都与一个鉴别器相关联,该鉴别器学习将实际数据y与合成数据G(x)区分开。
生成器函数G和F的定义。
因此,CycleGAN由两个生成器和两个鉴别器组成,它们学习变换函数F和G。此结构显示在下图中:
CycleGan表示形式。它由两个GAN组成,它们学习两个转换。