计算创意学系列(零):计算机算法能实现创造力吗

计算创意学系列(零):计算机算法能实现创造力吗

各位读者新年好。今天要给大家预告一个新的文章系列。

几个星期前参加了山中天艺术中心、《二十面体》杂志和灵感买家俱乐部联合举办的乌力波六十周年活动中的一个线上直播,在直播上介绍了Inkle工作室的几部代表性作品,并试玩了最新作品《Pendragon》(感谢梓涛的活动图文总结)。

直播最后的讨论环节,有朋友提出一个非常有意思的问题:(大意是)人工智能生成的叙事,是不是真的能像人类作家精心设计的叙事那么有创造力(Creative)?这个问题很值得讨论,但又不是三言两语就能简单说清楚。

于是,我决定干脆开坑一个新的文章系列来讨论这个话题(反正最近也没想到什么别的题材好写)。这个问题从根本上说是另一个更加一般的问题:计算机算法能不能实现创造力?

而这个问题,正是一个新兴学术领域:计算创意学(Computational Creativity)所研究的核心问题。这个领域源自于对近几十年人工智能在内容生成(Content Generation)方面成就的关注,但试图引入看待这些成果的一个不同视角——它关注的不是这些生成的内容展示出了多少智能,而是这些生成的内容、以及内容生成的过程展示出了多少创造力(Creativity)。由这些现有的成果出发,它进一步引出一个根本性问题:如何设计一个算法,它能够产生被人类判定为”有创意的”作品,或者说它的计算过程能够被认为是“具有创造力的”?

对于这样一个非常有趣又很有争议性的问题,我认为给大家展示一系列有启发性的材料,激发大家自己对这个问题的看法,会比我个人的观点重要得多。因此这个文章系列会以解读这个领域现有的理论或者应用方面的成果为主。当然偶尔也会附上我自己的一些想法,更多只是作为参考。

作为本系列的第一篇文章,我想先简单介绍计算创意学这个研究领域,作为后面讨论的基础。

什么是计算机创意学(Computational Creativity)

自计算机诞生以来,在各个创作领域都出现了基于计算机的工具。作家能够使用Word创作小说,画家能够使用Photoshop创作美术作品,建筑师能够使用AutoCAD设计建筑,等等等等。这些工具革命性地改变了各个领域的创作方式,但这些工具仍然只是被动的工具,它们辅助创作者更有效率地进行创作,但作品的内容仍然来自于创作者、作品的著作权仍然属于创作者,如果作品极其优秀,这也是归功于创作者的天才。

而近几十年来人工智能的发展,向人们展示了不一样的可能性。人们看到了许多AI不再仅仅作为某个创作者的工具,而直接自动生成作品内容的例子。从基于传统符号推理的故事生成程序Tale-Spin,到今天基于大数据深度学习的GPT-3模型,还有各种各样的图像自动生成AI、音乐自动生成AI、建筑设计自动生成AI,甚至能够自动生成桌面游戏或者电子游戏的AI程序,一次又一次地颠覆人们的认知。

深度神经网络StyleGAN生成的日漫风格人物

这很自然地引起人们的思考,有没有可能计算机不再只是创作者的工具,而也作为一个创作者加入到创作过程中?而作品的创造力,也不再是源于人类创作者,而是源于计算机,或者至少有关键的一部分源于计算机。也就是说,有没有可能设计出以自发创造力进行创作的算法?

这样的思考诞生了计算创意学(Computational Creativity)这个研究领域。如果我们将创造力看作是智能的一种表现,那么计算创意学也可以被看作是人工智能的一个分支。

但是计算创意学所关注的那种AI,又比一般的AI要求更高。人们看到的那些AI内容生成的例子,绝大多数还不能达到计算创意学的要求。1977年的故事生成程序Tale-spin,尽管能够生成逻辑严谨的童话故事片段,但这些故事片段通常读起来平庸而枯燥无味;2020年的GPT-3虽然能产生有趣得多的文本,但生成的文本缺乏整体一致性,并且考虑到它本质上只是建立了一个拟合其数量庞大的训练语料库的概率分布,它所生成的文本是不是真的可以看作是全新的创作,还是很有争议的。

基于深度神经网络GPT-3的文字冒险游戏AIDungeon,能够根据玩家输入的任意英文句子实时生成后续情节发展

计算创意学的最终目标,是设计出以自发创造力进行创作的算法。创作出来的作品,不仅仅要满足“能够解决问题”或者至少“有意义”这个基本的要求,还必须是富有创造力的:它应该让人有眼前一亮的感觉、有某种思维被颠覆的感觉、或者说有找到了全新视角的感觉。更重要的是,算法本身应当对作品所具有的这些价值具有某种程度的认知——当它将某个作品呈现出来的时候,它应当能够从某种程度上为这件作品的价值辩护。当创作者自己都没有意识到作品的创意所在的时候,很难说这个创作者具有任何创造力。

这是一个极具野心的目标。为了达到这个目标,有大量极其困难的问题需要找到答案,比如说:

(下面的问题列表摘自《Computational Creativity: the Philosophy and Engineering of Autonomously Creative Systems》的第一章  Systematizing Creativity: A Computational View)

  • 究竟什么是创造力(Creativity)?创造力是创作者的一种品质,是创作过程的一种特征,是作品展现出来的一种属性,还是上述三者的某种组合?
  • 在某个创作领域表现出创造力的能力,跟对这个领域知识和技能的掌握是什么样的关系?是不是必须对这个领域的知识和技能有极强的掌握才能够在这个领域表现出创造力?
  • 某个领域的有创造力的作品,是如何利用和颠覆这个领域的常识和人们的期望的?
  • 我们该如何评价一件作品有没有展示出创造力?如何量化评估创造力?要正确评估一件作品的创造力,需要哪些关于这个创作的上下文信息?
  • 对于不同的领域和不同的媒体,创造力是不是有不同的含义和不同的表现形式?
  • 创造力如何能够从群体行为和集体创作中浮现(Emerge)出来?
  • 为了解释创造力并建立一套有洞见的关于创造力的理论,能不能找到一套认知心理学范式(Paradigm)或者系统性的比喻,来提供这套理论的基础?

我们发现,这些问题远远超出计算机科学的范围,涉及哲学、认知科学、心理学、社会人类学等等众多学科。因此计算创意学的研究是需要所有这些学科共同的努力的。

如果脱离人工智能单纯研究人类身上的创造力现象,上述问题也同样适用。但对于计算创意学来说,它的独特之处在于它要从一个特别的视角出发寻求这些问题答案:一种算法的视角。它假设这些问题的答案可以是某种算法性的过程,并且更进一步,我们应该能够通过在计算机中实现这些算法,来设计制造出具有自发创造力的人工智能。

因此,我们最一开始的问题——人工智能究竟有没有可能产生有创造力的作品——在这里就变成了:上述问题的答案究竟有没有可能是一些算法性的过程。计算创意学从一开始就做出了对这个问题的肯定性的假设。

科学理论建立的过程从根本上说,是一种证否的过程。科学理论作为一些全称命题(Universally Quantified Statements),比如“一切物体的运动都遵循牛顿第一定律”,是无法直接证明的(要检查遍宇宙中所有的物体来证明它们全部遵循牛顿第一定律是不现实的)。因此科学研究采取的方法是从可证否的假设出发,然后再去尝试证否这些假设。比如假设“一切物体的运动都遵循牛顿第一定律”,然后寻找违背这个假设的现象。

支持科学证伪主义的哲学家卡尔·波普尔

我们虽然无法证明一个全称命题是真的,但是一旦发现了一个反例,就能证明这个全称命题的否定是真的。这个全称命题的否定于是作为一条知识被加入到人类的知识库中,人类知识的边界由此得到扩展。研究者提出新的假设时会将这些新的知识纳入考虑,提出更加难以被证否的命题。

而那些很长一段时间不能被证否的假设,就成为这段时间内被认可的理论,甚至被应用到人类生产生活中。虽然它们在未来仍然有可能被推翻,但它们至少在一段不短的时间内的成功中,证明了它们在一定边界内的正确性。而对它们的推翻,也可以看作是终于发现了这些适用范围广泛的理论的边界。

因此计算创意学,就可以看作是对于“创造力现象能够以算法过程产生”这个假设进行证否的一项事业。为了进行证否,计算创意学的研究者要去检查各个领域的创造力现象,并一一设计算法去重现(Reproduce)那些创造力现象。

由于这个假设是关于算法能力边界的假设,意味着计算创意学是一门极具实践性的科学。证否这个假设的过程会产生大量新的算法,不仅是在回答假设能否被证否这个理论问题,同时也可能带来改变生产生活的一些应用,比如说某个创作领域的一部分活动的自动化。

由于这种强实践性,很自然地也出现了许多构建计算创意学系统的尝试,并不是直接以上述理论研究为目标的。它们可能一开始就是从应用为目的,单纯地去设计一个能够在某个领域有实用价值的内容生成系统。比如音乐生成系统、装饰画生成系统等等。虽然它们没有标榜自己获得的成就有多少理论价值,也可能不能被视为严格意义上的计算创意学AI,但对它们进行一些后验的理论探讨,还是有可能得到有价值的理论洞见,或者对设计严格意义上的计算创意学AI有参加意义。

在这种不完美的算法不断突破自身的算法设计过程中,我们能够越来越清晰地认识到AI在算法在重现创造力现象上能够走多远。也许有一天我们会发现一个算法不可逾越的鸿沟,让我们认识到“AI能够以自发创造力创作出人类认为有创意的作品”这个假设的边界;也许这样的鸿沟很久很久都不会出现,让这个领域衍生出的技术能够一直发展下去,让我们不断看到AI和创造力现象的新的可能性。

不论如何是怎样的发展,这个方向的研究都能让我们对创造力这个神秘现象的理解更进一步。

下一章我们就来讨论当前阶段人们对于“创造力”这个概念的理解。

(注:因为没有找到官方翻译,我擅自将“Computational Creativity”这个词在研究领域的语境下翻译为“计算创意学”。如果大家找到更好的翻译欢迎留言。)