如果让你猜猜下面这幅图出自哪位画家之手,你会猜是谁?印象派大师莫奈?野兽派画家马蒂斯?还是哪个艺术系学生的习作?如果我告诉你,这不仅不是某个艺术大师的作品,甚至都不是人画的,而是计算机根据右下图里的照片生成的,你会惊讶到合不拢嘴吗?
图1. 这幅画出自哪位绘画大师?
事实上,这张充满艺术气息的画作出自一款当下风靡全球的软件Prisma。这个软件可以将用户输入的普通照片处理成具有不同艺术风格的美术画作。更令人震撼的是,这个让冰冷的机器开始作画的软件其实是人工智能领域近期的又一力作,它与2016年3月将围棋顶尖大师李世石挑落马下的程序AlphaGo师出同门,其核心都是一种被称为卷积神经网络(CNN)的计算机技术。
卷积神经网络是人工智能领域的当红明星,尤其擅长处理图片,在短短几年之内就已经为人脸识别、图片分类这些困扰学界几十年的经典难题带来革命性的进展。下面,我们就来揭秘计算机是如何使用卷积神经网络技术画画的。
卷积神经网络的神奇本领
和人类画家写生时的过程一样,计算机要做的第一件事就是先观察和理解眼前的景象,然后才能“动笔”。所谓“观察景象”,对于计算机而言就是用摄像头拍一张照片而已,非常简单。但是难点在于,计算机如何才能“理解”照片里的内容。这时,就需要卷积神经网络技术上场了。
卷积神经网络能做的第一件神奇的事,就是可以将“图片内容”这个模糊又抽象的概念用简单的一串实数来具体表达。也就是说,每输入一张图片,卷积神经网络程序就能输出一串对应的实数,我们称之为“内容向量”。具体来说,一个卷积神经网络就是一个具有多层次结构的图像过滤网络。它的每一层都包含很多使用机器学习技术事先训练好的图像过滤单元,一张图片的信息在经过一层过滤单元之后,低层次的信息就会被丢弃掉,留下来的是更高层、更抽象的图像特征。
比如,最低层的原始输入是图片的像素值,表达的就是各个像素点位置的颜色这样的低级而又基础的信息。它们经过一层过滤单元之后就变成了各个位置上的“纹理”值,而这些纹理信息再经过第二层过滤单元之后就变成了各个位置上的“轮廓”值、“位置”值。就这样,整个卷积神经网络在功能上就像一个装了好几层滤网的漏斗一样,将输入的图片内容逐渐加工为一个个内容向量。
实际上,这样的工作模式和包括人类在内的哺乳动物大脑中的生物神经网络在识别物体时的过程十分相似。首先在视网膜获取画面中各个位置的颜色信息,之后信号输送到位于大脑枕叶皮层的V1区域进行第一层过滤,发现其中的边缘、棱角等;V1区域的输出继续传递到V2、V4、AIT等等后续区域,如此逐步加工,大脑就能在100毫秒(ms)左右的时间里识别出所看到的物体种类——这和计算机中卷积神经网络技术的图片处理过程大体一致。
在前面描述的图片加工过滤过程中,卷积网络中的每一层都会得到一个代表这一层的内容向量。根据任意一层的内容向量,我们都可以在完全不依赖原图片的情况下重建出整张图片。层级越高的内容向量描述的信息越抽象,这个特点也完全体现在了根据不同层的内容向量所重建出来的不同图片中。
神经网络是如何“理解”艺术风格的
从前面的介绍可知,使用卷积神经网络技术,我们可以将一张图片的“内容”这个有点抽象有点虚的概念具体化表达成数学上的一个实数向量。但更神奇的是,基于这项技术,我们还可以把图片的“风格”这个更抽象更虚的概念也表达为实数向量!这听起来颇有些不可思议,到底一张图片的风格具体是如何体现出来的?
下图中分别列举了印象派、现代主义、立体主义的几副艺术名作。人们发现,画风的差异具体体现在了构图、线条、色彩等诸多方面。当然,我们目前还不能要求计算机像人一样进行创造性的构图、表达情感及内在精神。但是,以Prisma为代表的卷积神经网络技术至少已经可以模仿不同风格的绘画笔触。对比下图的原照片和计算机生成的对应不同艺术风格的画作可以发现,这些艺术画主要是对原照片的纹理、色调、局部细节结构按照指定风格进行了重新表达,而并不需要进行涉及更高层信息的重新构图。换句话说,一个艺术效果化后的图片实际上可以看作是原照片的高层内容信息与艺术大师的作品中的风格信息的某种融合。沿着这个思路,如果我们能够为艺术大师作品B生成一个风格向量,把它和另一张照片A的高层内容向量“捆绑”在一起,再进行图片重建,生成出来的新图片就可以在原照片A的内容基础上实现艺术大师B的风格了。
图2. 计算机根据同一张照片(上)所创作的不同风格的画作(下排)。中间从左到右的绘画风格分别是:印象派(爱德华·蒙克的作品《呐喊》),现代主义(皮特·蒙德里安的作品),立体主义(弗朗西斯·毕卡比亚的作品《乌迪内》)
事实上,根据现有技术的做法,艺术大师作品的“风格向量”正是根据前面介绍的内容向量经过一些特定数学变换生成的。之所以要进行这个特殊的数据变换(而不是直接使用大师作品的低层内容向量)是因为,卷积神经网络的每一层输出的内容向量虽然是从不同细节程度上描述图片的内容,但毕竟源自同一张特定的图片,所以艺术大师作品的各层内容向量中多少都包含了该作品原有的一些物体的空间位置信息。通过对这些内容向量做数学变换之后,就可以将这些空间信息去除,这样得到的风格向量就仅保留了图片的纹理、色彩信息等基本特征。这样,我们就实现了计算机作画的第二步,提取艺术风格。
计算机自动作画可能吗?
把图片的“内容”和“风格”这样抽象的概念分别实体化已经是很精彩的成果了。但这项技术的研究人员还有一个更重要的发现,它最终让在本文最开始所看到的自动艺术作画成为可能。这个有趣的发现就是,卷积神经网络提取出的图像内容和图像艺术风格的信息是相对独立的。大致上就是说,卷积神经网络从一张图片中提取出来的“内容向量”不含有表达其艺术风格的信息,而同样提取出来的“风格向量”也基本上不含有其空间内容信息。正因为这样,才使我们能够将一幅图片B的艺术风格叠加到另外一幅图片A上,而基本不改变原图片A的内容。在新合成的图片中,原照片A中的物体及其位置、布局被保留,而其颜色、纹理及细节结构则由美术作品B来决定。
为了理解内容向量和风格向量在信息上的相对独立性,我们来打个比方。想象一串总和为0的数,比如(4.4,-6.3,-2.2,4.1)。如果这串数是一张图片的内容向量,那么自动作画技术的成功意味着这个内容向量的某些数学性质决定了它所对应图片的“艺术风格”。作为一种极其简化的理解,我们可以假设所有印象派风格图片的内容向量都是“总和为0”。在这个“总和为0风格”不变的前提下,我们可以把内容向量变成另一串数,比如(3,3,-3,-3),这样重建出来的图片在内容上与原图片完全不同,但风格仍然是“印象派”的。另一方面,在保持内容向量基本稳定的前提下,我们也可以改变它的“风格”。比如考虑(4.5,-6,-2,4.5)这个新向量,它和原始的内容向量(4.4,-6.3,-2.2,4.1)差别不大,但“风格”却从“总和为0”变成“总和为1”,而使用这个新向量重建出来的图片也会随之从印象派风格变成其他风格,但描绘的仍然是原图片的场景。在实际运用的技术中,从内容向量得到风格向量的数学变换当然比简单求和要更复杂,但真实使用中的内容向量和风格向量在图片重建过程中表现出来的信息独立性类似于上面给出的例子。
最后,为了得到“既忠实于图片A内容又体现图片B风格”的图片,现在的做法是简单地把图片A的内容向量和图片B的风格向量做加权求和,然后根据所得的“内容+风格”向量进行图片重建。具体来说,我们先随机生成一张目标图片,缩小其与原照片的内容向量差异是要优化的目标函数1,缩小其与美术作品的风格向量差异是要优化的目标函数2,这两者的加权和是最终要优化的目标函数。当这个最终的差异值达到足够小时,目标图片就可以达到理想效果了。加权求和的权重同时也使得我们可以决定是内容相似更重要,还是风格相似更重要。
图3. 基于卷积神经网络对照片做艺术化创作的流程
1. 提取输入照片A的内容,2. 提取艺术画作B的艺术风格,3. 将二者进行融合,生成新的图片。
以Prisma为代表的计算机绘画技术可不仅仅是个有意思的小软件这么简单,它背后的计算原理实际上对“到底什么是视觉内容”,“到底什么是艺术风格”这些问题给出了充满理工科气息的数学解释。同时,由于所采用的计算机技术和人类视觉信息处理方面的相似性,这些实践应用层面的成功或许也会给相应的神经科学研究领域带来启发和帮助。
我们正处在一个人工智能(AI)高速发展的时代,各种夺人眼球的创新产品喷涌而出。远到谷歌的搜索引擎,近到战胜李世石大师的AlphaGo,大到正在逐步进入实用化的无人驾驶技术,小到手机上的指纹解锁、“刷脸”支付等新应用,它们的实现无一不依托于人工智能技术的发展,而这一切正在影响、改变着现代人的生活。我们相信,现在的一切还仅仅是个开始。
(本文发表于《科学世界》2016年第11期)
请 登录 发表评论