你是否曾凝视过梵高的画作,并好奇是什么让它如此具有他个人的鲜明特色?不仅仅是主题——那些旋转的星夜或充满活力的向日葵——更是笔触、色彩和质感,定义了他的作品。这种独立于题材之外的精髓,我们称之为“风格”。
几个世纪以来,图像的*内容 (描绘了什么) 与其风格 *(如何描绘) 之间的相互作用一直是人类艺术家的专属领域。但如果我们能教会机器理解这种区别,然后创作出它自己的艺术呢?
2015年,Leon Gatys、Alexander Ecker 和 Matthias Bethge 撰写的一篇开创性论文 **《一种艺术风格的神经算法》 **(A Neural Algorithm of Artistic Style) 实现了这一壮举。研究人员提出了一个系统,它可以提取一张图像的内容——比如一张城市照片——并用另一张图像的风格——比如一幅著名画作——来重新渲染它。其结果不仅在技术上令人印象深刻,在视觉上也令人惊叹,开启了创意 AI 的新纪元。
在本文中,我们将剖析这个卓越算法的工作原理。我们将探索卷积神经网络 (CNNs) 的隐藏世界,揭示它们如何感知内容和风格,并逐步讲解它们如何将这两者融合,创造出新颖的艺术作品。无论你是机器学习的学生、对 AI 充满好奇的艺术家,还是热爱优美科技的人,请准备好深入探究这个让数字艺术走向大众的算法吧。
背景: 机器如何学会“看”
在教会机器绘画之前,我们首先必须教会它“看”。这曾是计算机科学领域的一大挑战。突破来自于一类受人脑视觉皮层启发的模型:** 卷积神经网络 (CNNs)** 。
CNN 通过一系列分层结构逐步处理图像。你可以把它想象成一条视觉的流水线:
- 浅层网络: 最初几层检测简单特征,如边缘、角点、颜色和渐变。
- 中层网络: 这些层组合简单特征,识别纹理、基本形状或物体部件 (如眼睛或车轮) 。
- 深层网络: 在最高层,网络通过组合这些高级模式识别复杂物体和场景——人脸、建筑、风景。
每一层都包含用于扫描特定视觉特征的“滤波器”,其输出——一组特征图 (feature maps) ——显示每个特征在图像中的位置。Gatys 等人的关键洞见在于,这些位于网络不同层的特征图,可以用于分离图像的内容与它的外观。
核心方法: 分离内容与风格
作者们使用了一个名为 VGG-19 的预训练 CNN,它在庞大的 ImageNet 数据集上训练,可识别数千种物体。在学习识别物体的过程中,VGG-19 无意间学会了丰富的层次化图像表示。研究人员意识到,他们可以利用这些表示来分离内容和风格。
捕捉内容
当网络的内部表示专注于物体的布局及其高层特征,而非低层像素细节时,它就“理解”了内容。为说明这一点,作者们仅使用 CNN 不同层的特征图来重建图像。
图 1: 在底行 (“内容重建”) 中,浅层 (a–c) 几乎重建了原始图像的完美副本——仍保留丰富的像素细节。深层 (d–e) 则失去了这些精细细节,但保留了物体结构和布局,形成了内容表示 (content representation) 。
在数学上,内容损失 (content loss) 定义为内容图像与生成图像在某个选定深层 (例如 conv4_2
) 的特征图之间的均方误差:
其中,\(\vec{p}\) 是内容图像,\(\vec{x}\) 是生成图像,\(F^l\) 和 \(P^l\) 分别是它们在第 \(l\) 层的特征图。最小化该损失会促使 \(\vec{x}\) 匹配 \(\vec{p}\) 的内容。
捕捉风格
风格更为抽象——它关乎图案、纹理和色彩构成的美感。作者将风格定义为某层中滤波器响应之间的相关性。
例如,某一层有一个检测水平线的滤波器和另一个检测垂直线的滤波器。在交叉影线的画作中,这两个滤波器可能在某些区域同时激活;而在平滑渐变的图像中,它们则不会。测量所有滤波器的这种相关性,就能捕捉到纹理和风格特征——不论它们的具体位置。
这种相关性被存储在格拉姆矩阵 (Gram matrix) 中,该矩阵由每层的特征图计算得到:
格拉姆矩阵公式: 元素 \(G_{ij}^l\) 表示第 \(l\) 层中向量化特征图 \(i\) 与特征图 \(j\) 之间的内积。
可视化这种风格表示显示,仅匹配风格 (图 1 上半部分) 会产生带有纹理的图像。浅层捕捉细致纹理 (小尺度) ,深层则增加更大、更复杂的图案。结合多个层可以捕捉多尺度的风格。
风格损失 (style loss) 通过累加选定各层的格拉姆矩阵差异来实现:
风格损失: 对每一层的损失 \(E_l\) 加权求和,每一项代表一个尺度上的风格差异。
最小化该损失会促使生成图像 \(\vec{x}\) 采用风格图像 \(\vec{a}\) 的图案和色彩统计特征。
杰作算法: 结合内容与风格
在能衡量内容与风格相似度的方法基础上,最后一步是将它们融合。
算法步骤:
- 选择一张**内容图像 (照片) 、一张风格图像 (画作) ,并初始化一张生成图像 **(随机噪声) 。
- 定义总损失:
\[ \mathcal{L}_{total} = \alpha \mathcal{L}_{content} + \beta \mathcal{L}_{style} \]\(\alpha\) 控制内容权重,\(\beta\) 控制风格权重。
- 使用梯度下降法迭代调整生成图像的像素,以最小化总损失。
经过多次迭代,生成图像会逐渐变形,既匹配内容图像的物体,又融合风格图像的纹理与色彩,最终生成一件全新的、协调的艺术品。
实验与结果: AI 艺术画廊
效果令人惊叹。Gatys 及其同事将德国图宾根市内卡河畔的照片重新演绎成多位大师的风格:
图 2:
A: 原始照片 (摄影: Andreas Praefcke)
B: J.M.W. 特纳的《弥诺陶洛斯号的沉没》为场景披上暴风雨般的光照。
C: 梵高的《星夜》注入旋转的蓝黄色调。
D: 蒙克的《呐喊》将天空和水面染上炽热而焦虑的色彩。
E: 毕加索的《坐着的裸女》将建筑分解成立体主义几何形状。
F: 康定斯基的《构成第七号》将画面炸裂成抽象的狂潮。
该算法保留了可辨识的建筑内容,同时彻底变换了视觉风格。
微调杰作
团队探究了参数变化如何影响输出。图 3 展示了使用康定斯基《构成第七号》风格时,不同风格层选择以及内容/风格权衡下的结果:
图 3: 行表示风格表示中包含的 CNN 层数逐渐增多——从细粒度纹理 (顶部) 到大型、连贯特征 (底部) 。列表示 \(\alpha/\beta\) 比率的增加——从偏重风格 (左) 到偏重内容 (右) 。
纵向比较: 在风格计算中加入更深层,会带来更平滑、更连贯的风格化效果。
横向比较: 增加内容权重会保留更多照片般写实的结构,而减少它则会强调绘画般的抽象效果。
该矩阵突出展示了艺术创作的可控性——用户可以调节风格的范围与比例,生成从大胆的再创作到细腻的增强等多样图像。
结论与启示: 不仅仅是漂亮的图片
《一种艺术风格的神经算法》的意义不只在于它展示了一种新的照片滤镜,更在于它揭示了深度神经网络能够自然学会将图像的“是什么”与“怎么样”清晰分离——无需显式指令。
关键启示:
- 涌现特性: 为物体识别而训练的网络会自然地解耦内容与风格,这或许反映了一种基本的视觉处理策略。
- 研究工具: 可控的风格化图像可帮助神经科学家和心理学家研究人脑如何感知并响应不同视觉维度。
- 生物学联系: 通过格拉姆矩阵计算风格的方式,与生物视觉中相关性计算相似,为我们探究视觉外观感知提出了可验证的假设。
最终,这项工作暗示了一个深刻的观点: 我们创造与欣赏艺术的能力,可能源自大脑用于识别与分类世界的同样高效的算法。当机器学会了“看”,它或许也能学会“画”。通过连接人类与机器的创造力,我们为感知、理解与改造视觉世界开启了新的篇章。