AI画家是如何炼成的:深度学习和神经网络的秘密
2023-07-06张羿
张羿
天青色等烟雨,而我在等你。
炊烟袅袅升起,隔江千万里。
周杰伦的流行歌曲《青花瓷》相信朋友们都听过,它是一首充满书生飘逸气息的中国风歌曲。婉转动听的旋律和意境深远的歌词,无疑会让听众脑补出一幅优美的画卷。
但是你相信吗?人工智能听完这首歌也能“脑补”并描绘出一幅画。上面这幅画就是人工智能根据以上几句歌词绘制的作品。朦胧的远山笼罩着轻纱,绵绵细雨伴着漫山云雾,山上草木郁郁葱葱,山峰在袅袅云烟中若隐若现,空灵秀气。整幅作品不但符合歌曲的意境,还极具中国传统水墨画的神韵,说它出自人类插画师之手也不为过。
你一定会好奇:人工智能是如何绘制出插画作品的?要回答这个问题,需要先了解一下何为人工智能。人工智能(Artificial Intelligence),其词根arti本身就兼具艺术与文化的含义,但它诞生的最初目的并非是为了进行艺术创作。早在1956年,麦卡锡、明斯基等科学家在美国达特茅斯学院开会,研讨如何用机器模拟人的智能,首次提出“人工智能”这一概念。这标志着人工智能学科的诞生。然而,其发展历程几经沉浮,几十年后的今天终于取得了令人瞩目的成果。人工智能已经可以胜任很多只有人类才能完成的任务,比如视(图像文字识别等)、听(语音识别、机器翻译等)、说(语音合成、人机对话等)、思考(下棋打牌、电子竞技、科学研究、写作等)、运动(自动驾驶汽车等)。
不难看出,经过几十年的研究摸索,人工智能已经达到了新高度。而且,人工智能在普遍认为最不可能被机器替代的艺术创作领域也闯出了一片新天地。一直秉行实用主义的人工智能居然跻身艺术领域,人们或多或少会觉得有些不可思议。但了解了人工智能创作艺术作品的原理之后,就能知道这其实是意料之外、情理之中的事情。
以绘画这种最常见的艺术形式为例,想让AI实现绘画,必须先让它学会识别物体,理解世界。这对于人类而言,易如反掌,比如面前有一颗草莓,我们瞬间就能识别出它是草莓,大脑会自觉提取草莓的特征——有点圆的三角形、红色、表面带颗粒……把这些特征汇总起来,就能判断是草莓。
然而,计算机无法像人类这样轻而易举地捕捉到草莓的特征。因为计算机擅长的是加减乘除运算,这种纯计算能力并不能让它直接辨认出草莓。此时它需要先把草莓图像转化成数字,再用计算机擅长的加减乘除来操作这些数字,最终判断出是草莓。
我们可以制作一个简单的会识别数字的AI,亲身体验AI学习识别数字的过程。比如,白纸上写了一个7,如何让AI认出写的是7。我们可以用3×3的九宫格把图像分成9个区域,7经过的区域就用1表示,否则为0。这样,图像就转化成了AI能处理的数字。然后,科学家模仿人脑的思考机制,创造了“人工神经网络”。人脑由大量的神经元组成,神经元之间相互连接形成网络。神经元通过“突触”(接触的部分)接收其他神经元的信号。当它接收的信号总量超过一定大小后,它就会把信号传递给其他神经元。人脑进行信息处理的机制正是依靠神经元不断传递信号。
人工神经网络就是模拟人脑神经元的活动。人工神经元接收多个输入数值,进行若干计算之后输出数值结果。在上面的例子中,九宫格中的1和0就是输入的数值,把它们一字摆开,形成了人工神经元的“输入层”。输入层的数据最终会传到后面的“输出层”。当然,这些数据直接传下去是毫无意义的,而要经过计算处理。因此,每个输入值都对应一个“权重”。用人脑神经元解释的话,权重相当于突触的连接强度。权重越大,对应的输入值就越容易传到后面的输出层。神经网络就是通过不断修改权重来改变人工神经元之间的连接强度,由此进行学习的。学习之前,权重是杂乱无章的,因此得到的输出信号并不能正确识别我们写的数字7。核对答案之后,AI发现结果错误。此时,AI会自主修改权重。比如,AI可能发现,九宫格中的上边和右边这几个区域是容易被7覆盖的区域,所以这几个输入值所对应的权重要调大一些。相反,左下角几个区域不容易被7覆盖,一旦这些区域被覆盖了就要扣分,所以把对应的权重修改成负数。此时,输出结果显示,7会被正确识别,而4和0则不会被识别为7。通过对大量数字图片反复进行“识别图像—核对—修改权重”的过程,AI最终能学会正确识别数字。现在常见的神经网络识别数字的正确率已经达到99%以上。
现实中的问题往往非常复杂,用如此简单的人工神经网络无法解决所有问题。因此,绝大多数人工神经网络并不止输入层和输出层这两层,中间还有很多隐藏层,故而得名“深度神经网络”。训练深度神经网络进行学习,即所谓的“深度学习”。
像前文中提到的计算机辨认草莓的例子就需要用到深度神经网络。在计算机中,草莓图像首先被分解为像素,一个个像素点构成了输入层。在靠近输入层的隐藏层上,分布着对构成图像轮廓的横竖斜等线段有反应的节点。信息传到下一层之后,这些线段无缝衔接,整合为更复杂的图块。每经过一个隐藏层,上一层中的信息就会再次组合,识别出的图案也随之越来越复杂。反复进行“识别图像—核对—修改权重”的过程之后,“尖状”“颗粒”这些契合草莓的特征路径上的节点被点亮,最终输出草莓的结果。
神经网络就像在根据你提供的数据和目标进行规律总结。你要设计出合适的网络模型,运用各种技巧,尽可能找到这个预期的规律。假如你设想的输入输出数学逻辑关系正确,这个网络模型理论上就能实现。
现在再回到开篇AI根据《青花瓷》歌词绘制的山水题材水墨画。让AI学会绘制这样一幅画需要给它准备两个模块,分别叫作“学生模块”和“老师模块”。学生模块负责创作,老师模块负责对学生的作品进行核对。一开始,学生模块并不会画山水画。但没关系,我们可以让学生模块随机生成一些山的图片。同时,我们再准备一些真实的山水画作品。当随机生成的图片和真实的山水画作品都准备好之后,我们就可以对老师模块进行训练。当老师模块看到随机图片的时候,就告诉它这不是山;当老师模块看到真实的山水画之后,就告诉它这是正确的山。让“老师”不停地看图学习之后,“老师”会粗略地学会一点判断能力,比如它可能会学到:尖状的图形是山。虽然这种判断力非常有限,但用它来指导一无所知的“学生”却是恰到好处。因为对这样的学生来说,教的东西太复杂往往会适得其反。于是第一轮教学就这样开始了。“学生”学习的知识是:山必须是尖状的。这样一个简单的知识对“学生”来说很容易学习。经过一轮训练之后,“学生”就会创作出很多尖状物体的图片。我们再用这些尖状物体的图片去训练“老师”,让“老师”知道,仅仅有尖状物体的图片并不是山。“老师”逐渐了解到,山除了是尖状外,上面还可能有植被。随后,让能力提升之后的“老师”再去训练“学生”,然后再用提升之后的“学生”训练“老师”。经过这样一轮轮的反复训练后,“老师”知道山不但是尖状,还要覆盖植被,还可能云雾缭绕,等等。“学生”也知道创作的山要契合以上各种特征。最后,“学生”终于能够创造出靠谱的山水画作品。
总而言之,AI绘画并不是通俗理解的抄袭和缝合,但可能存在规律、套路上的缝合。AI先根据输入的关键词确定绘制的主题和物品,接下来的风格则源于人类画师的作品。比如开篇那幅根据《青花瓷》歌词生成的作品就是中国水墨画风格。如果把《七里香》的歌詞“雨下整夜,我的爱溢出就像雨水。院子落叶,跟我的思念厚厚一叠”给AI去发挥,依然可以生成类似的中国水墨画风格的作品。
如果要让AI画西方油画风格的作品,那绘制出的作品可能就有凡·高、莫奈、雷诺阿等印象派大师的影子。如果要让AI画科幻风格的作品,那可能就会画出像好莱坞科幻大片一样的场景。
没有任何绘画基础的人用AI程序生成这些高质量画作,只需要短短几分钟,而人类画师则需要聚精会神地绘制数小时甚至数日才能完成这样一幅作品。因此,AI绘画问世之后引起了很多争议。有人认为,AI绘画没有生命力;有人认为,AI绘画学习了很多艺术家的作品,艺术家的版权得不到保护;还有人认为,AI绘画会导致大量画师失业。但无论如何,AI绘画已经开始投入商业运用。国外一些杂志社开始用AI创作的图片来做杂志配图,也有AI绘画作品在拍卖行拍出几十万美元的高价,甚至连近日爆火的新型聊天机器人ChatGPT也具有绘画功能。AI艺术创作的未来究竟会如何?让我们拭目以待。