赣州新闻网

首页 / 科技

CycleGAN创作计算机生成的艺术品

2020-04-12 · 赣州新闻网 · 科技

CycleGAN的解释和计算机生成艺术的演示

CycleGAN创作计算机生成的艺术品

CycleGAN指的是GAN的子集,可以拍摄图像并生成反映某种类型转换的新图像。 CycleGANs最酷的部分是您不需要配对: 1 y &图像。 这对于您可. ! u ! a E M能没有配对图像的情况非常有用。 例如,如果要将斑O 5 s Z 9马的图片转换为马的图片。 除非我猜您是否画过斑马和马匹,否则* | 5 b $可能无法收集此类数j 9 S ` K 9据……如果有足够的创造力,它们也将对{ : R @ P A $ _ E创建实际上看起来还不错的计算机生成的艺术品有用!

CycleGAN创作计算机生成的艺术品

> This figure is taken from the original CycleGy p } 1 d D 5 T :AN paper.

在这里,我将概述CycleGAN的工作原理。 这篇文章确实假定您至少对GAN有所了解。 因此,如果您不熟悉GAN,请查看我的博客文章\"面向初学者的生成对抗网N $ K x O络(GENs):生成分散注意力的驾驶员图像\"- I ! a。

在这篇文章中,我a W ? * u a使用了一个示例CycleGAN,该示例经过了训练,可以将森林图片转换为森林抽象画。 我用于生成这些图像的代码可以在我的GitHub上找到% # p V 6 x L。

数据集

在这里,数据集由森林图像和抽象绘画组成。s I K 2 N @ 我使用关键字\"森林\"和\"著名k $ x d的抽象画\"从Google图片中抓取了这些图片。 为此,我使用了Python软件包Googl^ ! r V E 3 v o )e Images Dow s Enload。 下面是几个示例。z o 4 o 9 + |

CycleGAN创作计算机生成的艺术品

该模型

在训练CycleGAN时,需要训练四个神经网络:

生成抽象绘画图片的( o B S = R _ @生成器(抽象绘画生成器)。

生成森林图片的生成器(森林图像生! v , ( O n K _ q成+ { ^ H @ Y n器)。

可以区分真实抽象画与假抽象画的% C @ y 5 n r | V区分符(抽象画区分符)。

可以区分真实的森林图片和假的森林图片的区别的识别符(森林图像识别符)。

如果您已经熟悉GAN,就会发现这里确实没有什么新鲜事物。 这些方面的新颖之处在于如何训练这些网络。

模型训练

在详细介绍之前,让我对CycleGAN的训练方式进行高层概述。 首先,我们获取森林图像,使用抽象绘画生成器创建伪造的抽象绘画,然后获取伪造抽象绘画,然后使A K a G , ? L n 6用森林图像生成器重新创建原始森林图像。 我们还朝另一个方向拍摄抽象绘画,使用森林图像[ # D b生成器创建伪森林图像,然后获取伪森林- s r + ,图像,然后使用抽象绘画生成器重新创建原始抽象绘画k ^ | ; . _ u &。 这种巧妙的循环概念是CycleGAN的新颖贡献,如下图所示。 需要注{ ! x +意的是,同一生成器用于生成伪造的抽象绘画和抽象绘画的8 _ @ : { f m V v ;的抽象画和J B ? V 0 h o ~一幅假的森林图像。 如上面的高级概述中所述,我们现在必须获取那些伪造的图像,并将其重建为对应的真实图像。 因0 ! U F N ! M此,第三,我们采用伪造的抽象绘画并将其放入森林图像生成器中,以生x J g I 9 f ~成原始的真实森林% 4 O图像(在循环中,我们M m Z E F 8 N r位于下图的黄色阴影部分)。 我们针对具有L1损失的真T ; x ~ y T实森林图像来评估此重建的森林图像(请注意,此处,L1损失通常会乘以某个常数,因此与其他计算的损失具有相同的比例)。 这是森林图像周期一致性损失。

CycleGAN创作计算机生成的艺术品

最后,我们获取伪造的森林图像,并将其放入抽象绘画_ B U 3生成器中以生成重构的U : + E h抽象绘画(在循环中,我们位于下图的黄色阴影部分)。 我们将这种重构的抽象绘画与具有L1损耗的实际抽象k ^ Q绘画进行评估(注意,此处,L1损耗通常乘以某个常数,因此它与其他计算得出的损耗具有相同的比例)。 这就是抽象绘画循环一致性的损失。

CycleGAN创作计算机生成的艺术品

现在我们几乎可以计x 5 3 ; ) ; . p H算出生成器的损耗了(是的,所有这些工作都是针对一个数字的)。 我们还需要计算另一个损失,即身份映射。 计算身份映射损失是因为,如下图所示,已显示此步骤可保留原始图像的颜色。 首先,我们通过森林图像生成器放置真实森林图像,并计算真实森w B 1 ^林图像和生成的森林图像的L1损失。 这是森林映像身份映射丢失(请注意,此丢失也要乘以常量)。 其次,我j , Y l n s b o们对抽象绘画做同样的事情,我们通过抽象绘画生n & R y e J成器放置真正的抽象痛苦。 这就是抽象绘画身份映射的损失。

CycleGAN创作计算机生成的艺术品

> Figure 9 fros J 4 m tm % -he C` . 5 8 y . *ycleGAN paper.

我们终% s h P (于可以计算K F I b 5出生成器损耗了,这是所有损耗的总和:

生成器损失=抽象痛苦GAN损失+森林图像GAN损失+森林图像周期一致性损失+抽象o t o绘画周期一致性损失+森林图像身份映射损失+抽象绘画身份映射损失

然后就此损失更新生成器的权重!

2.训练鉴别器

现在我们已经更新了生成器的权重,接下来我们需要训C , / F练鉴别器。

首先,我们更新抽象绘画鉴别器的权重。 我们通过抽! [ J 4 * n _ !象绘画鉴别器放置一幅真实的抽象绘画,并获取此输出并以二进制交叉熵损失对其p @ # 5 [ d } |进行评估。 然后,我们将先前生成的假抽象绘画,通过抽象绘画鉴别器进行处理,并用二* ( T p Z S进制交叉熵损失对其进行评估。 然后,我们取这两个损失的平均值。 这是抽象画鉴别器的损失。 关于该损失,更新了抽象绘画鉴别器的权重。

其次,我们更新森林图像鉴别器的权重。 我们通过森林图像鉴别器放置一个真实的森林图像,并获得此输出并通过二进k O 3 d m * L I Qnerator architecture from Johnson et al.

对于鉴别符,我们使用了PatchGAN,它基本上试图对图像的每个N x N色块(此处为70 x 70)是真实的还是假的进行分类。 有关PatchGAN的更多详细信息,请参见代码和本文。

计算机生成的森林图像

经过一段时间的训练,让我们看看我们的计算机生成的抽象森林图像的外观! 以下是一些示例,但是O j E X x您可以在我的GitHub上查看所有示例。

CycleGAN创作计算机生成的艺术品

还不错! 我为杜克大学(Duke University)的AI艺术竞赛创作了这些图像,最终获得了第一名-单击此处以获取更多信息。

结论

正如您在上面看到的,在这种情况下,计算机确实可以通过CycleGAN来生成艺术品。 同样,CycleGAN的^ 1 M B真正酷E Q F F n V的部分是您M 8 ;不需要数据集中的配对! w J P + z图像。 令人惊奇的是,这是{ C v u i ] M b可能的! 我很想知道在其他领域,例 , G ` L如自然语言处理(也许已经存在!)中是否可以进行不成对的机器学习。

*** 2020年1月6日更新***:我忘了早些发布,但是这里展示的艺术在杜克大学AI艺术竞赛中获得了第一名。 查看描述这场比赛的文章!

(本文翻译自Zach Mon~ k . 6 T + @ ~ =ge, PhD的文章《CycleGANs to Create Computer-Generated Art》,参考:https://towardsdatascience.com/cyc/ ` O X v Tlegans-to-create-computer-generated-art-161082601709)

大学比赛宁都工作文章信息艺术计算计算机