es-clip——创造力的现代进化策略: 拟合具体图像与抽象概念

https://es-clip.github.io/

Modern Evolution Strategies for Creativity: Fitting Concrete Images and Abstract Concepts

https://github.com/google/brain-tokyo-workshop/tree/master/es-clip

https://export.arxiv.org/abs/2109.08857

摘要:自20世纪70年代以来,进化算法已被应用于数字艺术领域。遗传算法的一个流行应用是优化矢量图形原语的程序布局,使其与给定的绘画相似。近年来,还提出了基于深度学习的方法来生成程序图,可以使用梯度下降优化程序图。在这项工作中,我们回顾了进化算法在计算创造力方面的应用。我们发现,与传统的遗传算法相比,现代进化策略(ES)算法在形状放置方面的质量和效率都有很大的提高,甚至可以与基于梯度的方法相媲美。我们证明了ES也非常适合于优化形状的放置以适合剪辑模型,并且可以产生与人类对语言的解释一致的多样、独特的几何抽象。视频和演示:https://es-clip.github.io/

图1:我们提出的绘画合成使用进化策略(ES)放置透明三角形。以文本提示形式表示的每个概念都附带相应的合成图像。这里,拟合定义为渲染画布和文本之间的余弦距离,两者均由CLIP嵌入[39],我们使用ES优化三角形的位置和颜色,从而产生各种不同的几何抽象。

1 引言

从20世纪初开始,在现代主义[28]的大背景下,一系列前卫艺术摒弃了传统透视规则中对物体的描绘,取而代之的是革命、抽象的观点。巴勃罗·毕加索(Pablo Picasso)和其他有影响力的艺术家推广的立体主义艺术运动[40],提出由艺术家对物体进行分析、分解,并以几何表示的抽象形式重新组装。这自然发展为几何抽象[7],在这里,像瓦西里·康定斯基和皮特·蒙德里安这样的先锋抽象主义者使用纯几何和基本的合成原语来代表世界。其影响是深远的:简单几何的使用可以被视为抽象表现主义[38]中的一种风格,在抽象表现主义中,艺术家表达了他们潜意识或冲动的情感。它还帮助塑造了极简主义艺术[36]和极简主义建筑[41]运动,在这些运动中,一切都被剥离到其基本品质,以实现简单[2]。

极简主义艺术的理念也在计算机艺术中得到了探索,其根源在于数学艺术[34]。Schmidhuber[44]在20世纪90年代提出了一种称为低复杂性艺术的艺术形式,作为计算机时代的最小艺术,它试图利用算法复杂性的思想来描绘对象的本质[27]。类似地,算法艺术[51]建议使用艺术家设计的算法生成艺术。从广义上讲,算法艺术可以说包括遗传算法,艺术家在其中确定控制图像如何迭代演变的规则,这是一种常用的方法,用于使用简单形状近似图像,通常产生抽象的艺术风格。例如,[1,24]提出了一种基于进化的基本遗传算法,用半透明重叠三角形表示目标图像。多年来,这种方法在创造性编码社区中广受欢迎,产生了许多复杂的扩展[5,10,46]。这些方法是迭代的,能够捕获创建过程[48]。

随着最近机器学习界对进化策略(ES)兴趣的重新兴起[16,42],在这项工作中,我们重新探讨了ES在创造性应用中的应用,作为基于梯度的方法的替代方法。对于形状图像近似任务,我们发现,与传统遗传算法相比,现代ES算法在质量和效率方面都有很大的改进,正如我们将要演示的,甚至可以与最先进的可微分渲染方法相媲美[29]。我们发现,ES也非常适合优化形状的放置,以适合剪辑[39]模型,并且可以产生与人类对语言的解释一致的多样、独特的几何抽象。有趣的是,我们的方法产生的结果类似于抽象表现主义[38]和极简主义艺术[36,41]。我们为我们的方法提供了一个参考代码实现,因此它可以成为计算艺术家工具箱中的一个有用工具。

2    背景

相关工作

近年来,深度学习也被应用于生成程序图的方法,该方法可以通过梯度下降进行优化。越来越多的作品[22,32,37,55]也解决了使用模拟绘画介质近似像素图像的问题,而微分渲染[25,29]方法可以直接使用梯度下降优化计算机图形。为了学习抽象表示,概率生成模型[13、15、17、33、35]用于直接从潜在空间中按程序采样图形,无需任何给定的输入图像,与像素图像类似。为了与自然语言相结合,已经提出了一些方法,可以按程序生成图像类别[54]和单词嵌入[20,21]的图形,使算法能够绘制所写内容。NLP和像素图像生成的这种组合在CLIP[39]及其程序草图对应物CLIPDraw[11]中进行了更大规模的探讨。

可能在相关作品中,最接近我们的方法来自Fernando等人[9],与我们的工作类似,他们使用在ALIGN[23]数据集上预先训练的剪辑式双编码器模型来判断生成的艺术和文本提示之间的相似性,并利用进化算法优化不可微分的渲染过程。然而,在[9]和我们的工作之间有几个关键区别:[9]使用多层LSTM驱动的分层神经Lindenmayer系统[31]参数化渲染过程[19],因此,它对具有复杂空间关系的井模式进行建模,然而,我们的工作倾向于一种非常简单的参数化,它只是将三角形单独放在画布上,以促进一种不同的、极简主义的艺术风格,这是对它们的补充(见[8])。此外,虽然[9]使用了一种简单的二进制锦标赛遗传算法[18],但我们选择了一种现代最先进的进化策略算法PGPE[45] with ClipUp[50],其性能足以在几千个计算步骤内产生有趣的结果。

进化策略(ES)[3,4]长期以来一直应用于优化问题。ES的直接实现可以迭代地扰动池中的参数,并保留最合适的参数,这很简单,但效率很低。因此,应用这种简单的算法可能会导致艺术创造力的次优表现[1]。为了克服ES中的这一普遍问题,人们提出了一些最新进展来提高ES算法的性能。其中一个改进是基于参数的探索(PGPE)[45]的策略梯度,它以黑盒方式估计梯度,因此拟合的计算本身不必是可微的。由于PGPE的运行与每次迭代的参数数量成线性关系,因此在许多情况下,它是一种高效的go-to算法。利用估计的梯度,基于梯度的优化器(如Adam[26])可用于优化,同时也有一些工作(如ClipUp[50])提供了一个专门为PGPE定制的更简单、更高效的优化器。另一个有代表性的ES算法是协方差矩阵自适应进化策略(CMA-ES),在实践中被认为比PGPE更具性能。然而,它相对于每次迭代的参数数量的计算运行时间复杂度是二次的,这限制了它在许多参数数量较大的问题中的使用,而PGPE仍然是可行的。

语言衍生的图像生成一直是创意环境中的最新趋势,其中有几个方向可以利用剪辑[39],这是一个预先训练的模型,有两个编码器,一个用于图像,一个用于文本,可以将图像和文本转换为相同的、可比较的低维嵌入空间。由于图像编码器是一个可微神经网络,它可以为可微生成模型的输出提供梯度。梯度可以通过所述模型进一步反向传播,直到其参数。例如,工作的一个方向使用剪辑的梯度来引导GAN的生成器,例如引导BigGAN[52]、引导VQGAN[43]、引导Siren[53]或遗传算法生成潜在空间的GAN[12]。另一个工作方向是将剪辑应用于可微分渲染器。CLIPDraw[11]建议使用diffvg[30]生成图像,diffvg是一种可区分的SVG渲染器。尽管所有这些方法都使用相同的预训练剪辑模型进行指导,但它们显示出截然不同的艺术特性,因此我们假设艺术风格是由“画家”的固有特性决定的,即GAN生成器或渲染器。

3    创造力的现代进化策略

我们提议的管道的架构如图2所示。我们提出的方法通过使用进化策略(ES)放置透明三角形来合成绘画。总的来说,我们可以在由三角形的位置和颜色组成的参数空间中表示三角形的配置,将此类配置渲染到画布上,并根据渲染画布与目标图像或文本提示形式的概念的匹配程度来计算其拟合度(fitness,适配度)。ES算法保留了一个候选配置池,并使用突变进化出更好的配置,这些配置由所述拟合度度量。为了获得更好的创造性结果,我们使用了现代ES算法,即由ClipUp[50]优化器优化的PGPE[45]。工程方面,我们使用PGPE和ClipUp的pgpelib[49]Python实现。

当我们选择遵循极简主义艺术的精神时,我们使用透明三角形作为参数空间。具体地说,N个三角形的配置由每个三角形的(x1、y1、x2、y2、x3、y3、r、g、b、a)集合参数化,这些三角形是顶点坐标和RGBA(红、绿、蓝和Alpha a.k.a.透明通道)颜色,总共生成10N个参数。在ES中,我们更新所有参数并使用一个固定的超参数,即三角形数N。注意,N更好地理解为要使用的三角形数的上限:虽然N是固定的,但该算法仍然能够通过使不需要的三角形透明,有效地使用“更少”的三角形。

图2:我们方法的架构。我们提出的方法通过使用进化策略(ES)放置透明三角形来合成绘画。在画布上呈现参数后,我们计算拟合度,其度量画布拟合目标图像或文本提示形式的概念的程度。拟合度反过来指导进化过程,以找到更好的参数。

由于ES与具体的拟合度评估是正交的,我们可以自由选择哪些是适合的。特别地,我们考虑两种适合度,即,拟合具体图像(图2中的下分支)并拟合概念(图2中的上分支)。拟合具体图像很简单,我们可以简单地使用渲染画布和目标图像之间的像素级L2损失作为拟合。拟合一个概念需要更多的阐述。我们将该概念表示为文本提示,并在CLIP中使用文本编码器嵌入文本提示[39]。然后,我们使用CLIP中提供的图像编码器嵌入渲染画布。由于剪辑模型经过训练,使得嵌入的图像和文本在余弦距离下具有相似性,因此我们使用该距离作为拟合度。我们注意到,由于ES算法提供黑盒优化,渲染器与适应度计算一样,不一定需要是可微的。

我们发现,在实践中,应该做出一些决定,以便整个管道能够正常工作。首先,我们按照[11,43]的实践,通过随机裁剪来计算拟合度并平均每个增强版本画布上的拟合度来增强渲染画布。这将防止渲染画布过度拟合,并提高优化的稳定性。其次,我们用均匀分布的噪声在背景上渲染三角形。从数学上讲,这等于使用最大熵假设对画布中未被三角形覆盖的部分的不确定性进行建模,并使用蒙特卡罗方法进行近似。最后,我们将每个三角形的最大alpha值限制为0.1,这样可以防止前三角形(过度)遮挡后三角形。

4    拟合具体目标图像

在本节中,我们将展示我们在拟合具体目标图像方面所建议的工作的性能。在此过程中,模型采用图2中较低的分支。在图3中,我们通过运行10000个步骤的进化,将著名的绘画《蒙娜丽莎》与50个三角形进行了匹配。我们的结果是一种独特的艺术风格,由放置良好的三角形表示,这些三角形同时关注细粒度纹理和大背景。演化过程还显示形状位置和颜色从粗到细的调整。

图3:我们的方法利用了现代ES(带有ClipUp的PGPE),带有50个三角形,运行10000个步骤,以拟合这里的目标图像“蒙娜丽莎”。 最终进化结果跟随目标图像,进化过程跟随目标图像。 The target image is followed by the finally evolved results and the evolution process follows the target image.

三角形和参数的数量。我们提出的管道能够适合任何目标图像,并且可以处理大量参数,因为PGPE高效运行,即与参数数量成线性关系。这是通过应用我们的方法来拟合多个目标图像的10,25,50,200个三角形,分别对应于100,250,500和2000个参数来证明的。如图4所示,我们提出的管道适用于大范围的目标图像,ES算法能够将三角形的数量用作“计算预算”,其中额外的三角形始终可以用于获得拟合度。这允许人类艺术家使用三角形的数量,以便在所产生的艺术中找到抽象性和细节之间的正确平衡。ES algorithm is capable of using the number of triangles as a “computational budget” where extra triangles could always be utilized for gaining in fitness. This allows a human artist to use the number of triangles in order to find the right balance between abstractness and details in the produced art.

图4:用10、25、50和200个三角形拟合多个目标的定性和定量结果,每个三角形运行10000步。图片来源:达尔文、蒙娜丽莎、Velociraptor来自[1]。 Anime Face由外福实验室制作[47]。Landscape来自维基百科[6]。 Impressionism是阿尔弗雷德·西斯利(Alfred Sisley)创作的A May Morning in Moret,由[14]收藏。拟合度是100%− L2损失。

ES算法的选择。

我们比较了两种选择的进化算法:我们的,使用了最近的PGPE和ClipUp,以及一种基本的,传统的,由先前采用的变异和模拟退火组成的算法[1,24]。如图5所示,在相同的参数预算下,我们选择较新的算法比基本算法得到更好的结果。主观上,我们的最终结果在视觉上更接近目标图像,进化过程更平滑,从数量上来说,我们的方法导致更好的拟合(99.62%对97.23%)。此外,即使允许基本算法的迭代次数增加56倍,也不会产生比我们更好的结果。

图5:比较进化算法的选择:我们的(PGPE和ClipUp)与基本进化算法(模拟退火变异)[1]。两种设置都拟合50个三角形,所有选项除了EA之外都是相同的。最后给出了我们的结果和基本算法10000次迭代,以及基本算法迭代次数再乘56倍后的结果。10000次迭代的进化过程细节显示在下面一栏,上半部分组是我们的,下半部分组是基本算法。Fitness is 100%− L2 Loss。

与基于梯度的优化比较。

虽然我们提出的方法是基于ES的,但有趣的是研究它与基于梯度的优化相比如何,因为后者最近被普遍采用(见第2节)。因此,我们通过使用基于点采样的可微渲染器NVDiffract[29]实现合成三角形的渲染来执行基于梯度的设置。我们使用第3节中提到的相同处理。如图6所示,与梯度优化可微渲染器相比,我们提出的基于ES的方法可以获得类似但略高的拟合度。此外,也许更有趣的是,两种方法可以产生不同风格的艺术品:我们提出的方法可以自适应地为背景分配大三角形,为细节纹理分配小三角形,而可微分渲染器倾向于引入目标图像中看不到的纹理(尤其是在背景中)。我们认为,由于优化机制的不同,我们的方法更多地关注三角形的放置,而可微渲染器则关注透明颜色的合成。

图6:进化策略(非梯度方法)与可微渲染器(基于梯度的方法)使用200个三角形拟合目标图像。上面一栏显示最终结果,下面部分显示优化的细节。Fitness is 100%− L2 Loss。

5 用CLIP拟合抽象概念

在本节中,我们将展示配置为拟合由语言表示的抽象概念的方法的性能。在此过程中,模型采用图2中的上部分支。在形式上,参数空间保持不变,但拟合度计算为文本提示和渲染画布之间的余弦距离,两者均由CLIP编码。由于模型有更多的自由来决定要画什么,这个问题可以说是一个比上一节中拟合具体图像更难但更有趣的问题。

在图7中,我们展示了拟合以文本提示形式表示的抽象概念的演化结果和过程,使用了50个三角形并运行了2000个步骤的演化。我们发现,与拟合具体图像不同,2000个步骤足以拟合一个概念,使其收敛。我们的方法可以处理从一个单词到一个短语,最后到一个长句的文本提示,尽管任务本身可能比前一个任务更具挑战性。结果显示了一个抽象的创造性艺术概念,与特定的图像不相似,但与人类对文本的解读相关。进化过程还演示了迭代调整,如前两个示例中的人类形状、迪士尼世界中的城堡形状以及最后一个示例中的合作主题总部。此外,与前一节中的拟合具体图像相比,我们的方法更关注三角形的放置。

图7:ES和CLIP拟合文本提示中表示的概念,使用50个三角形并运行2000个步骤的evolution。每行左边显示文本提示,右边是最终演化结果和演化过程。我们展示了3种文本的示例性提示,从一个单词(“自我”和“人类”)、一个短语(“沃尔特迪斯尼乐园”)和一个长句(“位于加利福尼亚州山景城1600圆形剧场公园路的谷歌公司总部综合体”)。

三角形和参数的数量。与拟合具体图像一样,我们也可以拟合具有大量参数的抽象概念,因为PGPE算法和表示画布的方式保持不变。在图8中,我们应用我们的方法来拟合多个具有10、25、50、200个三角形的概念(文本提示),这些三角形分别对应于100、250、500和2000个参数。结果表明,我们提出的管道能够利用三角形的数量作为“拟合预算”,以平衡细节和抽象级别。与前一个任务一样,这允许人类艺术家在所产生的艺术中平衡抽象性。

我们观察到,虽然该模型可以轻松处理至少50个三角形,但更多三角形(200个)有时会带来挑战:例如,对于200个三角形,“公司总部…”会得到更好的结果,而“东京图片”则会导致较差的结果。这可能是由于组成过度阴影三角形的困难,我们将其留待将来研究。

图8:ES和CLIP拟合多个文本提示的定性结果,每个文本提示包含10、25、50和200个三角形,每个三角形运行2000个步骤。我们展示了3种文本的示例性提示,从单个单词(“自我”和“人类”)到短语(“东京图片”),再到长句。

多次运行。

由于目标是一个抽象的概念,而不是一个具体的图像,因此我们的方法在安排三角形的配置时有很大的自由度,这意味着随机初始化和优化过程中的噪声可能导致截然不同的解。在图9中,我们在几个文本提示上显示了我们的方法的4次单独运行,每次使用50个三角形,迭代次数为2000次,这与前面的示例相同。如图所示,我们的方法创建了与人类对语言的解释一致的独特抽象,同时能够从相同的文本提示中产生不同的结果。这也是计算机辅助艺术创作所需要的特性,在计算机辅助艺术创作中,人类创作者可以被置于“循环”中,不仅可以拨动文本提示,还可以从我们的方法产生的多个候选文本中选择。

图9:ES和CLIP拟合的定性结果,使用50个三角形拟合多个文本提示,每个三角形运行2000个步骤。文本提示如图8所示。显示了四次运行的结果。人类的创造者可以被置于“循环”中,不仅可以在文本提示周围搜索,还可以从我们的方法产生的多个候选者中选择

与基于梯度的优化比较。考虑到CLIP,我们还对基于ES的方法与基于梯度的优化方法的比较感兴趣,特别是因为许多现有的工作[11,43,52,53]已经提出利用CLIP来指导使用梯度的世代。可以说,这是一项更具挑战性的任务,因为渲染器和CLIP所呈现的两种截然不同的渐变动态所呈现的动态。通常,为了使这种组合在理想情况下发挥作用,需要进行更多的研究,这就需要一份类似于[11,43]的手稿。尽管如此,我们还是制定了一个合理可行的版本进行比较。与拟合目标图像一样,我们使用NVDiffract实现了合成三角形的渲染过程[29]。在前向过程中,我们根据参数渲染画布,将画布馈送到剪辑图像编码器,并使用编码图像和编码文本提示之间的余弦距离作为损失。然后我们一路反向传播,直到三角形的参数允许基于梯度的优化。我们使用第3节中提到的相同处理。

如图10所示,虽然我们的ES方法和可微方法生成的图像与人类对文本提示的解释一致,但我们的方法在形状和对象之间生成了更清晰的抽象和清晰的边界。更有趣的是,由于我们所代表的艺术风格与抽象表现主义艺术非常相似,因此我们与可微的渲染之间的差异与后印象主义和印象主义之间的差异相似,后者使用了更大胆的几何形状和颜色。与拟合具体图像的对应比较一样,我们认为这些结果本质上植根于优化机制,我们提出的方法通过我们的设计选择产生了独特的艺术风格。

图10:进化策略(非梯度方法)v.s.可微渲染器(基于梯度的方法),使用CLIP拟合文本。这两种设置都将200个三角形拟合到目标提示。下面显示了演化过程的详细信息,其中上半部分用于演化策略,下半部分用于不同的渲染器。

6    讨论和结论

在这项工作中,我们通过建议将现代进化策略(ES)算法与受极少主义艺术风格启发的三角形绘制原语相结合,重新审视计算创造力的进化算法。与传统的遗传算法相比,我们提出的方法在质量和效率方面都有很大的改进,并且与基于梯度的方法相当。此外,我们还证明了ES算法可以产生与人类对语言和图像的解释相一致的多样、独特的几何抽象。我们的发现表明,与基于梯度的方法相比,ES方法产生的结果非常不同,有时甚至更好,这可以说是由于优化机制的内在行为。然而,理解在一般情况下ES方法如何与梯度方法进行比较仍然是一个悬而未决的问题。我们期待着未来的作品能在这里探索的极简主义之外,进一步探索更广泛的艺术形式。

我们对进化算法的处理提供了一种可以应用于计算创造力的不同范式的见解。广泛采用的基于梯度的方法针对特定领域进行了微调,即边缘的差异渲染、参数化形状或用于渲染更好纹理的数据驱动技术。每个应用程序都需要特定于域且难以迁移的微调和调整。相反,ES与域(即渲染器如何工作)无关。我们设想,受ES启发的方法有可能在未来以更少的适配努力统一各个领域。

7 致谢

我们感谢林彻、李杰瑞、汤宇金、金阳华、杰西·恩格尔、赵逸夫的意见和建议。我们特别感谢金阳华对我们的帮助。本文的实验是在Google云平台提供的多GPU Linux虚拟机上进行的。

你可能感兴趣的:(es-clip——创造力的现代进化策略: 拟合具体图像与抽象概念)