除了围棋,深度学习又让机器学会了艺术创作(含视频)
近年来,人工智能的技术奇点论甚嚣尘上。自从伊隆·马斯克和霍金们公开表达了人工智能威胁论,现在谁不表示一下对AI代替人类的担忧都不好意思参加各类科技大会。
尽管如此,艺术创作一直是人类引以为豪的AI难以具备的独有能力——至少到目前为止,脑科学家们并没有搞清楚人类在从事艺术创作时,其大脑的工作原理。因而科幻小说中面临整个地球文明的末日,人类选择向宇宙中扔出的漂流瓶里就包含了大量经典的艺术作品。然而这篇文章描述了如何通过深度学习让机器学会作画,希望对人工智能领域的创业者有所启发。
小线说https://v.qq.com/txp/iframe/player.html?vid=o0306ce26b4&width=500&height=375&auto=0
主持人刘劲扬:下面首先请王乃岩老师给我们做关于“深度学习的艺术应用”,这两天我们看了,好像画画的那例子。
王乃岩:大家好!我叫王乃岩,来自图森科技,非常荣幸能在这里和大家交流一下“深度学习在艺术领域的一些应用”。因为艺术领域一直被认为是人类专属的一个领域,机器之前完全没有涉足过这个领域,但是我在这个里面会大概讲一些我们可以通过深度学习,学习到很神奇的结果。
我分三部分来讲这个事情:
第一部分,模仿。给一幅画或者一个图片,你模仿这个风格。
第二部分,抽象。我们可以把深度学习的内容抽象,然后在一个画中显示出来。
第三部分,创作。完全什么都不给,从零开始生成一幅图片。
在开始之前我想先简要介绍一下深度学习这个东西,因为大家一直都在提这个东西,好像也没有人来简单的做一个介绍,我花5分钟的时间给大家简要介绍一下,包括AlphaGo我们这些图像识别的应用里面我们在用的一个大概是什么样的技术。
第一个,最常用的一个模型叫做卷积神经网络,简写就是CNN。有两个核心操作,一个是卷积操作,来检测这个图像上的一些特征,这些特征其实都是很简单的东西,比如这里有一个标志,可能第一层我们学习到的特征,我们会检测到比如说这个牌子的边缘、数字的圆弧这里,其实就是一个检测边缘的边缘检测器。还有一个操作叫做下载或者池化,意思就是说把一定区域内的特征融合起来,做了一个综合,就不断的累加这两种操作,像在这里是一层池化,再加一层卷积,这是深度学习模型。
第一层的检测特征是怎么实现的?大家看到这是在一个很经典的模型里面,我们可以学到的一些第一层的滤波器,明显有一些黑白相间的条文,这些是用来检测图像边缘还有一些图像特征,我们可以检测这个图片哪里有边缘。
下面一个例子,我从左上到右下的边缘滤波器,具体做法,把这个滤波器在图像的每个位置上都算一下和它的相关性,相关性大的就代表这个地方是有这样一个从左上到右下的边缘。我们会得到这样一张特征图,在这里大家可以看到很亮的地方代表这种特征是很显著的,在那些没有边缘、没有伦理的地方大家可以看到天空就是一片灰色。同理我们可以对每一个这样的滤波器都得到这样一张特征图,然后我们把这些加在一起就完成了最重要的卷积这个。
还有一个楼房的例子,我输入比如这个楼房里面的窗户都是很标准的窗户,但是这有一个很花式的图像,我们通过这种技术同样可以把这种花式的窗户迁移到原始的楼房的图像里面去,这个是最终的结果,大家可以看,基本上如果不仔细看的话很难发现其中的一些破绽。
最近这个工作也被拓展到了视频上,由于视频的特性,不考虑时序上的连续性的话,给人的观感会非常奇怪。最近有一个工作通过光流约束了生成的每一帧视频的时序连续性,效果相当稳定,大家可以看下视频。
在这个部分还有一个很有趣的工作,我们现在前面都是全自动合成,对于艺术家来说,他们都希望有一些能手动的对于内容构图的控制。这里有一个NeuralDoodle,可以给大家看一下他的一个宣传的视频。
我们再把这些物体的部分和局部的模式进行组合,在最早层第四层和第五层我们可以看到,就有很丰富的语义信息,这里面有一些只对于花才会激活的神经元,还有对于这个狗的脸激活的一些神经元。其实神经网络采用的是自下而上抽象的方式来学习到语义的信息,并不是完全的黑盒子。其实在每一层的每个神经元,我都能找出让他最大激发的一个模式,而如果我们能够把这些模式可视化出来的话,就会发现很有意思,他其实很像神经学家探究的人的视觉系统的一些工作模式,人的视觉系统从最开始的层到最高层可能有某些特定物体激活的细胞这样的流程,也是分层次的架构。
第一,什么是创造力?我个人觉得,创造力就是说,把平常的东西组合起来,生成一些不平常的但是又合理的东西。算法擅长什么呢?算法擅长于去识别这些常见的模式,比如前面提到的这些边缘、物体的部分,但是你如果想把这些常见的模式组合成一些有意义但是又不常见的组合,其实这件事情我觉得并不是计算机所擅长的,人其实是应该负责这项工作的,算法只是为了减少人在这面重复的一些劳动。
第二,小数据还是大数据这个问题。有一个很常见的观点就是说,比如说给一个人一两张猫的照片,人就可以学到这个概念,但是机器可能需要几千张、上万张才能学好,所以一个观点机器并不能算智能体。我的观点恰恰相反,人是大数据的学习体,因为人每天都在学习,人从睁眼第一秒开始,都接收外界传输的一些信号,正因为如此人才有强大的,我们叫泛化的能力,人从一个知识迁移到另外一个任务的能力,神经网络训练的时候有两个很重要的概念,一个叫做初始化,就是说你怎么把那些连接初始化,我想把这个东西对应成,比如说在人的遗传,在训练神经网络的时候一个很常见的,如果初始化好你最后的结果可能好一些,其实很像人遗传的一些因素,比如像智商这样的因素。还有一个概念叫迁移学习,人虽然只看一两张猫的图片就能知道什么是猫,他可能之前看了10万张什么是狗、什么是兔子,很相关的这样的概念他已经习得了,所以他才能把这个猫的图片通过小样本习得。比如猫是有四条腿、猫是一个在地上跑的四肢的动物。所以在机器和人工智能中其实有人去研究怎样把已经习得的一些概念迁移到新的任务。
最后一点,算法是不是真的理解这个艺术?这个问题其实就像在问潜水艇会不会游泳一样没有意义,我觉得这个取决于你怎样定义这个理解,如果说你只想生成一个很像艺术家画的画,确实是可以达到。但是你说我想生成一个气氛是欢快的、气氛是忧伤的,可能这个暂时还没法做到。但是如果随着我们,我前面提到,可以从别的任务中迁移来一些知识的话,这个事情不是遥不可及的。
最后一点,机器学习和深度学习,其实已经成为艺术家的工具,纽约大学在2016年春天的时候他们已经开了一门课,他们也意识到这可能是一笔很大的财富。
我就讲这么多,谢谢大家。
本文授权转载自公众号“深度学习大讲堂”