1
本文作者: no name | 2016-09-11 12:50 |
雷锋网按:姚新,现为英国伯明翰大学计算机学院讲座教授,计算智能及其应用卓越研究中心主任,IEEE Fellow(院士),IEEE 计算智能学会杰出讲座教授。2003 - 2008年任IEEE 进化计算学报主编,2014-2015年任IEEE进化计算学会主席。他的主要研究领域包括进化计算和集成学习及其应用,特别是在软件工程中的应用。他的论文曾获2001年 IEEE Donald G. Fink奖优秀论文奖、2010和2015年IEEE 进化计算学报杰出论文奖、2010年BT Gordon Radley 最佳创新作者奖、2011年IEEE 神经网络学报杰出论文奖、以及其他一些最佳论文奖。2012年他荣获久负盛名的英国皇家学会沃尔夫森(Wolfson)研究功勋奖,2013年荣获IEEE计算智能学会先驱奖。
姚新教授在 2016 人工智能湖南论坛上报告
近年来,类脑计算已再次引起研究人员和媒体的高度关注,出现了许多关于构建人工大脑、研究类脑计算和一些理解人类大脑如何工作的宏伟计划的建议。但在类脑研究中究竟有哪些重要的科学问题呢? 姚新教授就此讨论了 3 个似乎已被许多类脑计算研究者所忽视的问题。
第一个是关于进化的问题。所有生物脑都是进化的,然而时下的类脑计算研究计划很少涉及进化的作用。在类脑计算研究中应当考虑进化吗?
第二个是关于类脑计算系统的运行环境问题。环境在类脑计算研究中的作用是什么?
第三个是关于身体的作用或脑体相互作用问题。在生物界不存在没有身体的大脑。时下的大脑研究计划很少提及身体的作用,好像含有身体的大脑研究没有什么是要做的一样。事情果真是这样的吗?
对上述问题,姚新教授没有提供确切的答案,只是谦虚地表示希望通过这 3 个问题起到抛砖引玉的作用。
这三个问题跟产业界的关系不那么密切,但是做相关产业的话也必须要考虑到这些问题。这个背景很简单,大家在开幕式的时候可能已经感到现在人工智能是相当红火,不但在科研界、学校比较红火,在产业界也非常的红火。各位领导也说了湖南省长沙市包括雨花区都喜欢引进人工智能有关的产业,最好是智能机器人,而不是一般的工业机器人。
从研究的角度来说,人工智能又跟人脑的研究又挂上钩了。按照这个计划来说,欧盟有专门的人脑研究计划;美国也有类似的人脑研究计划,也不叫人脑,是叫大脑,包括人脑和机器脑,也是通过奥巴马总统宣布的;在 IEEE 协会里面也有大脑研究计划,就是促进国际上的合作;国内也有很多,包括科学院或者是国家层面都想研究这个大脑。
那么,怎么理解大脑是一方面,另外一方面是怎么把对大脑的理解真正运用到工程中。作为人工智能推进的作用,我今天讲的这些东西倒不是说要在大脑研究或者是人工智能研究当中找到什么答案,我没有答案,但是我有问题,问题也不多,有三个问题,这三个问题跟我的研究背景有关系。
大家在谈到人工智能或者人脑的时候,总是喜欢说做了一个人工智能的东西,但是我做工程或者是科学的人想过没有,所有的大脑都是演化来的,没有一个是人造出来的。现在我们是想人造一个大脑出来,当然这没有什么问题,唯一问题稍微带有一点哲学性。比如说,现在想做一个人工智能的系统,靠人来造,而且现在要做脑计划,想要做一个人工脑,同时又说要从自然脑里面找到启发性的东西,自然的大脑都是演化出来的,不是造出来的。所以这里面的逻辑好像比较奇怪,虽然对一个产品感兴趣,却忽略了产品是怎么来的。这种方法对不对是一个问题,如果只对产品感兴趣,却不管产品怎么来的,只研究将来要研发的产品研发的东西。
在神经网络研究里面,有一种很简单的神经网络叫层次网,即一层一层的网络。最简单的三层网,一个输入网,中间的叫做引层,一个是输出的层。这个网络像所有的科学家那样可以做很聪明的事情,每个输入要么是 0 要么是 1,网络学习能够判断 0101 这串数字是偶数还是奇数。这个事情说起来很简单,但是如果你只能给计算机一个例子,通过学习,将来的输入只要是偶数就给1,只要是奇数就给0。既然这个问题比较难,研究人员就想用设计人工神经网络来完成这个工作。的确,这是人设计出来的神经网络,非常的规则。而且非常好理解它,因为只有三层。这里面是八个输入,然后中间还设计了八个神经网络的结点,输出的判断就是 0101。所以人设计的东西规整性很好,也很好理解。但是,假定不靠设计神经网络,而用人工演化的方式。让其自己演化出一个人工神经网络,结果和人工设计出来的结果有什么一样和不一样的地方呢?这个演化的结果是九个输入,而不是八个输入,跟之前的结果不太一样,因为层次不是特别的明确,没有直接的连接。
通过演化计算发现,一个神经网络的结构和人算出来的网络结构实际上有很大的不同,可以总结成几点:
第一点可以演化计算得到的网络非常紧凑,即这个输入不是真正的神经源,真正的神经源就用了四个,中间设计的神经源个数总是要跟我输入的个数一样,所以这个神经网络特别大,这是真正演化发现出来的问题。
第二点事通过自动演化发现的神经网络,程序会比较多一点,而不像人工那么规整,除了中间这一层就没有了。
第三点是这个结构出来以后,有一点杂乱无章,所以左边和右边是不对称的,不好理解,这里的问题就比较有意思了,人设计出来的所谓人工神经网络和真正演化出来的人工神经网络都解决同样的难题,但结构不一样。这就带来了一个新问题,假定很幼稚地看成所谓小大脑,这个小大脑完成了测算的问题,但是这里面没有结构,矛盾在哪里?这很奇怪,这里做研究就有趣了,怎么探讨这个问题呢?可以看到,现在所谓人工智能或者是类脑计算、人工神经网络做的东西,可以下象棋或者是下围棋,拿世界第一。过两天又看到人工智能可以人工识别图像,几百万的图像也可以找到。这些事情跟人要做的事情是两码事,一个大脑负责处理所有事情,而目前的所有神经网络系统只专注一件事情。Alpha Go 只会下象棋,不能识别图像。这个是非常奇妙的现象,大家都说要做智能,但是从人这里找到的灵感,一到人工智能这个世界就变了味道。现在的人工智能系统或者是人工神经网络中,一个系统就做一件事,做的非常好,非常专。但是一个大脑要做多件事,所以如果一个系统要做多件事,结构会有什么影响?这就和大脑模块要干什么事情有关系,静态环境还是动态环境又不一样,这里又引到我想讲的第二个问题了。
很多研究者虽然对人工智能或者是类脑计算感兴趣,但是很少考虑这个人工智能系统能干什么。光讲人工智能,不讲人工智能系统能干什么,是缺了某些东西的。人工智能和人工智能系统之间还是有区别的。
原来想讲的一个细节跟第一个问题一样,大家至少在学校里面先做个小实验。建立起一个人工网络的系统,就让它学一件事情,可以是图像识别或者是其他的。只让它做这一件事,然后让同样的神经网络系统同时学两件事,再观察同样的初始状态,最后学出来神经网络结构有什么不一样,会有非常有趣的发现。这个实验可以重复进行,一个神经网络在完成多项工作后,模块化结构就会很明显地显示出来。无论是用什么标准去衡量模块,如果你让一个神经网络完成一项工作的话,某些模块功能并没有完全发挥出来。这就是说在构造人工智能系统的时候不能光讲系统,一定要讲这个系统要干什么,以及干一件事还是两件事,是在静态环境里面还是在动态的环境里面。
第三个问题——人工智能的载体
这个实际上更简单,就是身体的问题。这个问题也很特别,所有讲人工智能的人,经常不讲人工智能系统最后放在什么地方。但是所有的大脑都是在身体上面的,所以身体实际上是蛮重要的。研究当中,四肢和六肢对大脑是有影响的。为什么研究人工智能的时候往往只研究人脑,而不研究身体呢,主要是因为我们做人工智能的研究的时候的确需要特别发达的大脑。
我们做过一个人工实验,就是人工造一个可以游泳的线虫,这个线虫是一节一节的,然后每一节的结构也非常简单,每个小圆圈就代表一个神经源。这个神经源有一些是来控制运动的,肌肉可以收缩可以伸展。然后线虫会怎样运动呢?可以想象线虫像波浪型往前游,就是靠一边肌肉收缩,一边肌肉收缩。一个时间段后,收缩的地方就伸展,伸展的地方就收缩,慢慢往前游。然后让这个人工系统直线游,从右边游到左边,游的越快越好,但是不是从人的思维角度去设计,就是把线虫放在水里面自己去游,每一次游的快慢有一个反馈,记录单位时间里面游了多少厘米。我想观察的是我给这个线虫不同的任务和不同的体态时,这个神经网络会怎么出现,所以给这个线虫分配了两个任务。
第一个任务就是让这个线虫沿直线从A游到B,游的越快越好。设计神经网络控制器时,要使这个线虫游得越快越好,实际上的控制器非常简单。画出来的几个小圆圈相当于神经源,神经源的位置是可以调的。神经源的位置调的不一样,每一次收缩和伸展的力量也不一样。我们研究神经的结构是什么样的,这只是其中一节,右上角好像一个小数字,0、10、200、300 到 1190,这是我表示用这个算法来演化人工神经网络的时候多少代,第 0 代表示初始化,初始化不知道怎么设计,所以所有神经源的位置在这个图上面都是随便放的。到了第 10 代的时候,结构开始有点出现了,因为发现神经源的连接会发展两大体,左边的神经源也有连接,右边的神经源也有连接。到了 30 代、200 代、300 代的时候,你就发现有一定的规律出来,神经源之间,左边会连起来,右边连起来,这之间没有直接的联系。这个不是人想出来的,是人研发出来的,到了 1190 代的时候,非常规整对称的结构就出来了,就是这两边的小距离几乎是一样的,这也不是人设计出来的,而是发现出来的。所以这蛮有趣的,刚开始没有给演化算法任何的指示,只是给定了这样的线虫结构,最后出现的神经网络却是非常对称的一个神经网络。
第二个任务是想研究这种情况下,神经网络和体态的关系。把线虫的体态限制住,但任务还是要直着往上面走,从A到B。大家就可以想像,平常要这样子波浪形往前走的话,在这种体态下是做不到的。因为这样走就走右边去了,不会往前走。但是我做实验的时候,不告诉它这个算法,只告诉它这是现在的身体结构有个地方被限制了。身体要往一边歪的话,短的一面收缩,长的一面伸长,肯定不是对称的。如果是对称的,就不会顺着头的方向往前走。这是很明显的一个小例子,说明设计一个人工神经网络或者是一般性探索智能系统,实际上是跟物理的体态有密切关系。
最根本的一点就是研究人工神经网络的时候,一定要考虑最后这个神经网络是放到什么样的物理系统。比如说,你要研究这个机器人本身,同时又要设计控制这个机器人的系统,那么这个机器人的体态跟控制是有密切关系的,不能分开考虑。
这三个问题总结起来就是三句话:
一是所有生物界的大脑都是演化而来的,不是上帝造出来的。现在要设计人工大脑的时候,是不是应该多考虑一点演化的过程,从演化的过程中应该可以学到一点东西。
二是至少在自然界里面,人脑要能够完成多项工作,而且这是在动态环境或者是不确定性环境里面进行的。而现在做的很多的人工智能系统都是把定义定在非常窄、非常具体的某个功能上,比如识别图像或者是下棋之类的,这两者实际上对将来真正设计的人工智能系统有着非常不一样的影响,这个问题值得我们好好考虑。
三是所有的大脑在生物界都有一个载体,那就是身体,不存在光有大脑没有身体的东西。这对于我们将来构造智能又提出一个新的挑战,就是在设计人工智能系统的时候要把载体考虑进去。
推荐阅读:
雷峰网原创文章,未经授权禁止转载。详情见转载须知。