博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
英国伯明翰大学首席教授姚新:人工智能研究应从三个问题重新考虑
阅读量:5984 次
发布时间:2019-06-20

本文共 6443 字,大约阅读时间需要 21 分钟。

 5月20日,由中国电子学会主办,ZD至顶网协办的第八届中国云计算大会进入了最后一个日程,在最后一日的全体大会上,英国伯明翰大学首席教授姚新做出了以“三个被遗忘的脑启发计算问题”为题目的主题演讲。

围绕着三个问题的说明,姚新总结道,“所有的生物界大脑都是演化过来的,所以在脑计算研究的过程中,应该适当的考虑演化的过程,而不是考虑怎么样人的智慧来设计一个脑;所有的生物界的大脑功能都是在动态环境中完成,而现在考虑所谓的智能系统还是把某一个任务分离出来,作为单个静态离散的问题,这对真正的研究方向和研究的系统是有一定影响的;研究智能系统的时候,一定要跟它的体型有关系。这个体型生物界当然是身体,但是在实际的生活中可以跟你真正的硬件条件有关系,而这二者看似不重要,实际上二者有相当大紧密相合的关系,实质把它分开以后,系统的结构和行为非常不一样。”

以下是姚新演讲实录:(以下内容根据现场速记整理,未经发言嘉宾确认,仅供参考,谢绝转载。)

谢谢林秘书长的介绍。

我今天讲这题目可能听起来有一点奇怪,因为作报告的时候大家都会讲做了什么。我想这是一个比较难得的机会。就是会后大家老是对我作报告提问,我想今天找一个机会我给大家听报告的人提问。因为就30分钟,时间也不太充裕,我就提三个问题,你想提三个问题10分钟那问题一定很长,那实际上问题很短了。我开始是有一点点的引言是讲我的报告背景是什么东西。后面三点实际就是三个问题,最后有一个很简单的总结。

我就稍微声明一下,讲的三个问题是我个人的看法,可能讲的不见得都对,因为既然是论坛是讲将来研究,研究总是有争论,所以这三个问题提出来是给大家做讨论用的。

第一个问题讲最近大家突然对人工智能特别感兴趣。做人工智能有一部分,又是做所谓的内脑计算,内脑计算里面的话,就是说对人的大脑要做研究,通过对人的大脑研究,吸取一些营养,通过这营养的造点更好的计算机系统,所以你看最近脑计划的不但是美国有、欧洲有,国内也有。国内不但是基金的有,部委的层次也有。这里面有一些什么问题呢?

第一个问题就是大学里面做脑计划、脑研究,怎么搞就跟我们平常看的和想的特别不一样。因为在这世界上所有的大脑上都是设计出来,除非你是信上帝,你要不信上帝,所有的大脑,不是人的大脑还是生物界的大脑,都是通过自然演化出来,但是你看所有这些做脑计算机的人,有几个在谈演化的过程,所以这是从做研究人礼说是很奇怪的现象,就是我对我的产品特别感兴趣,就是一个大脑感兴趣。但是我对怎么产生这产品的过程,我整个就忽略掉了,就是我可以不考虑演化,光考虑怎么设计这大脑。所以从研究趋势和研究方法来说,我觉得这很有趣,为什么人家这么做呢?怎么能把演化大脑这过程不做研究,光去考虑怎么样研究?怎么设计这大脑呢?所以我想举一个非常简单的例子,就是说做这人工智能的研究,或者做内脑计算研究。假定我们往后退一步,不要把眼光就集中在脑,现在在这时刻什么样?而是想这个脑经过几百亿年,它是怎么来的,把这过程加进去,我们是不是从这过程中能学到一些什么东西。

所以我举这例子实际上是作为人工神经网络当中一个小例子。这例子什么东西呢?就是说假定我现在对很简单的人工神经网络感兴趣,然后人工神经网络是一个粗浅的,就是多层网。所谓Feed—forvard,就是前项网,也是从人看来非常非常简单的事情,什么事情呢?就是我给你一些二进制的位,就是0101位,假定给你8个输入,每一个输入都是二进制位,人工神经网络想学习的输送,就是你告诉我基偶性什么东西,假如我给你八个,这里面有四个一,你给我输0,有基数的0你有输出一个基数的1,那你说太容易我坐下来我花半个小时给你设计出来的神经网络,的确可以设计出来非常规整的神经网络,来判断你给我多少个输出,因为输入是二进制位,输出也是二进位。但是我做研究,可以把简单的事情做复杂。假定我没有上过学,也没有学习过基偶性概念,我能不能纳一个演化的过程去发现,有没有什么样的人工神经网络,也能完成这基偶性判断的功能,所以说我可以找一个很简单的演化过程。人工生成的网络你就可以不能不能随机生成,哪个神经元跟一个有连接,就是神经元的连接也是全部。那不管怎么样,随机生成的里面,相对来说有的次数多一些,有的对次数少一些,所以我有一个适应度选择的过程,所以你们看起来右边是一个选择的过程,所以这过程有一点像演化过程中的适者生存,虽然我们也也不知道哪一个完美的答案,我总能知道哪一个答案比另外一个答案稍微好一点。一旦有这选择过程,我就把稍微好一点选出来,在这神经网络上做一点小小随机的改动,也不是绝对性的改动,所以就产生了所谓下一代。我就不断重复这过程,这过程就有一点像适者生存的过程。

我赚上几百带、几千带以后,我就看随机初始化出来的神经网这最后什么样,这神经网就是基偶性的判断。所以这一个例子,就是我人工神经网络,我有9个输入,每一个输入就是二进制的BT,这只能0和D,我输出就是9个究竟有几个基数的1还是偶数的1。

看图给大家一个解释,第一个实际上做过人工神经网络的老师或者是学生就发现,我设计出来的这么一个图,这个人工神经网络对判断9个输入的基偶性神经网络,就是当时所有基偶性的网络,就是小的神经元个数最小。就是第一个观察到,我通过演化发现出来一个神经网络,发现的特别紧凑,跟人工设计的不一样,理论设计不出来这个,我现在跟很多感兴趣的学生或者老师说,你可以试试看,我给你9个输入的BSERVATIONS。

第二个就是你发现通过演化的过程,搜索出来的人工神经网络,跟你手工设计出来来说,它的乘数相对来说会比较多一点。这个乘数怎么看呢?你看结点10和11之间两点之间没有连线,所以你说10和11是在一层当中,但是11和12,12和13中间都有一线,所以从层数来说,我有一层输入层1到9,第二层引接点就是10和11。第三层就是12,第四层就是13,又多加了一个层,所以层数总归有四层。人工设计基偶,从来不会设计个基偶性的网络,所以这是观察到的一个现象。

第三个就是人工设计出来的网络,输入的九位里面你只要变了一位,从0变到1你的输出一定要变。我们知道的基偶性。但是通过演化这么发现出来的神经网络,看上去没有什么规律的。如果说我做同样的一个实验,不是做9位,我做一个8位跟9位没有什么规整性和推广性来说,所以这是非常有趣的现象。为什么?你发现你把演化过程考虑出来,你出来所谓的产品,跟你想想出来要设计出来的产品不是太一样的事情。

不太是一样里面呢?有很多更进一步的问题可以问,从研究来说,我就讲了最后一点。最后一点就是讲对脑感兴趣的人总是知道,大脑是分区,大脑分区它有一定模块化的结构,好像最简单有一个左脑、右脑之分,做视觉的话,说我整个区域里面分了六大区,昨天还听报告数据上分的更细,整个大脑两百多个区。但是你看这结构你是分不出什么结构的。没有所谓的模块化结构在里面,但是我们从做生物界的角度,观察到大脑里面的确有模块在里面,为什么有这差距呢?这差距就引出来一个很有趣的观察,这观察实际上不见得都是神经网络里面,在人工智能稍微大一点也是这个样子。就大家无论是看科学文章,或者从媒体里面听一些报道,所谓比较成功,人工智能的系统总是针对一个很具体的问题来求解。好像我用一些深度网络,做了一个图像识别的系统,我可以把这个图像识别系统做的非常精致,做的比任何一个团队都强。

过两天我带一个团队一大堆GPU,也可以做的非常极致,比谁都好。但是你想一想,在你左右四周这些人里面。有哪一个人他活着这一辈子就做了这一件事。你每天你要吃饭、要穿衣、要讲话,而且讲话是跟不同德人讲话,还得做思考做学术研究。所以实际当中的生物网络永远是做非常多的不同的事情。而且是用一个系统做不同的事情。而现在的人工神经网络系统都是一个系统做一个事情。那这有关系吗?没有关系吧。你把这东西加到一块不就行了吗?所以说我们在看第二个例子。

我现在假如做一点小小的人工实验,这一个神经网络完成不同的问题,我看神经网络它的结构是个什么样子的?做对比实验的时候,我做同样的一个神经网络每一次只让它做一件事情,它这出来结果又是什么东西有没有区别。所以说这是我想强调问题对人工智能系统或者说神经网络系统的重要性。

这里就稍微复杂的一点,但是我就把它总结了一下,总结了一下就是说,我做对比实验的时候,我主要看什么呢?主要看生物界的神经网络里面这模块化的特性。我前面做了一个小实验,做了基偶性的神经网络,演化出来的结构,这结构说的没有什么模块性,假如说从生物界来说一点都不规则,现在往前进一步,我同样一个神经网络,我让它做多种不同的事情,把这演化出来的神经网络,只跟另外一个只做一个事情的神经网络做比较。

做出来的结果,实际上我就总结了一下。总结的时候就是说你可以对比这两个神经网络的模块化的程度。你就发现随着你哪一个神经网络系统做多个工作,这工作数的增加,它最后出来神经网络的模块性也跟着增加。你只让一个神经网络完成一个工作的话,它是没有模块性的。你不论是生物界怎么样你应该有模块性,但是你任务的原因没有模块性。

所以我这里讲的第二个问题什么东西呢?就是说在所谓的内脑计算,就是或者更广一点就是人工智能系统的时候,一定要说清楚,我要这人工智能系统做什么事情?假定我说我就要开发一个人工智能系统,而不是说人工智能系统要做什么的话?我觉得我会被这结论误导,为什么人工智能的能力和它的结构,跟你想让它做什么事情,做不同的事情它的关系太大了。所以说环境对系统的影响非常大。这是讲的第二个问题。

第三个问题呢,实际上跟第一个问题来源非常类似,都是观察一些生物界的一些非常非常普通的现象得来的。得来什么东西呢就是讲的第一个,大家对大脑总是特别感兴趣。一想这大脑聪明啊,但是大家有多少想过,所谓的大脑都是有个身体的。你在生物界里面有没有看过只有大脑没有身体的东西,没有啊。世界上所有生物界的大脑都是再一个身体里面。但是真正研究脑科学或者说是做什么内脑计算、人工职能系统的有几个是在研究身体的?你说身体什么关系,你说一个手、一个脚,跟我研究大脑。但是人们总是想,所有的人脑都是嵌到身体当中,那这身体的形状它的行为对大脑会不会影响,实际上就是想问这问题。生物界有非常多人在研究,但是计算机界、人工界几乎没有人对这问题感兴趣。而这东西虽然现在没有答案。但是咱们可以做一点探索,做一点人工的实验探索。

做探索的时候,也是用一个人工的例子,例子就是想,我现在可以做一些人文的生物,就不是真的生物,我来研究一下生物的体态和形状,跟我生物的神经元和神经网络,它之间是什么关系。这里我是用的一个比较简单的例子。这例子就是造出来有点像水里面的线虫,这不是真正的动物,实际上人工造出来的东西。那个线虫有一节一节,有点像仿造生物界的线虫。它有一个头有个尾,多少节拼起来,每一节它有个形状,产生每一节有一个神经网络来控制它的运动。神经网络怎么控制呢?实际上就假定,每一节它都有一个比较规整的神经网络。神经元这每一个圈在我身体什么位置,这是不确定的。就是说我现在虽然说是有4×5、20个神经元,20个我做实验的时候把它定下来,但是20个神经元摆身体什么地方,这是不确定性,那你不确定以后该怎么办?我还是通过演化的方法,演化方法自动去发现,我在某种任务上,我这神经元应该放在什么地方。那你说应该有哪些任务呢?实际上你看这下半部分,是我做实验中三种任务非常简单。

我前面说一个线虫,实际上一个圆桶体,具体的位置是通过演化的方法去确定,我想让线虫干什么呢?就是游泳。就是说我从A点到B点,我希望线虫往前直线游,你游的时间越短,我表示你这性能越好,这是很简单的,这是我的目标。 怎么做呢?就是通过演化的方法,看看能不能发现我什么样的神经网络结构,在这一条线的圆桶体态下使得A到B游的最快。

第二个工作稍微复杂一点,我让这线虫不断的直线游我还希望它既能左拐还是右拐。第三种情况跟第一种有点类似,也是希望直线往前走,但是我希望这线虫体态改变了,原来不是一条直线我把它扭弯,就好像人因为种种原因,这个脚稍微有点短了,一个是往右斜往左斜,但是我还得说你得往前游,你不能往边上走,我就想知道这三种情况,我通过演化的情况下不能限制,它最后出来的神经结构是什么样子?这结果跟我们想象不太一样,第一种情况下直线往前走一根线的时候,你能看出来这演化的过程,这左上角这图,这红点和黄点表示我这神经元在圆桶上分布的位置,这是随机的位置。然后随机的位置从左到右,从上到下,你看到我每一个图右上角有一个数,好像0、10、30,演化过程演化多少代,第0代、30代、200代,一直到1190代的时候,这右下角的神经网络,它有非常好的对称性。这对称性不是人加进去,是演化的方法自己发现出来,那你说这怎么解释,实际上解释很简单,我现在有一根线虫,我让它直线的A到B游,就跟平常的线虫一样的,所以说你一定有对称性游的最快。

刚才讲的第二个任务是说,我现在不但是线虫往前游,还希望它能往左拐往右拐。我把这个条件加进去,它对神经网络演化出来的结果又什么影响?这图上的影响就看的不是太清楚。就画了这么一个所谓的性能图,这怎么看呢?这横轴表示我演化的时间,所以说是从零往右走的话,就是代数的增加。纵轴你看出来所谓的对称性。这对称性是数值越小,表示我这对称性越高。所以这有两根线,一根是红线,一根是白线。红线是表示我做第一个实验的时候,我出来演化过的神经网络,它的对称性是一根红线。这黑线在下面表示我让同样一根线虫,完成双向不同任务时候,它的对称性,你就发现我让这线虫不但是往前走,又要往左走和右走的时候,它的对称性就更低,因为这数值越小它的对称性就越强。这就跟我第二个问题的模块化有异曲同工的效果在里面。

第三个实验,是一个从我个人来说最有趣的实验,这个线虫不是一根线是弯曲的一根线,你让它往前走,你可以想象这线虫怎么往前走,假如说往这方向弯的话,它要直走的话,一定是这样弹簧一样往前走,所以说神经网络分布,它不可能是这真正的均匀两边分布,这么弯的话就是往边走上过去,所以这演化的过程,就有一点魔力,就发现了根据你身体形成往左弯还是右弯,它出来两个非常不一样神经网络的结构。这个不是靠人加进去,完完全全通过演化的方法发现的。它的影响力什么?影响力就是给它的任务不一样,然后把整个身体形状做了一定的限制。

那你说我说的这些主要的信息想说什么呢?主要的信息还是想说,在研究人工智能系统的时候,一定要跟你要人工智能系统完成什么样的工作,这二者是紧密相关。同样对神经网络来说,你神经网络的结构什么样比较合适?跟你将来做什么工作有关系,而且跟做的多少样工作也非常有关系。

最后我就是做一个小小的总结。总结的第一点就是想说,所有的生物界大脑都是演化过来的,所以在脑计算研究的过程中,是不是应该适当的考虑演化的过程,而不是考虑怎么样人的智慧来设计一个脑。这二者应该是有相互互补的作用。

第二个所有的生物界的大脑它完成的功能都是动态的环境中完成,不是一个静态、离散的单个。而现在考虑所谓的智能系统无论是用神经网络,或者不用神经网络来说,还都把某一个任务分离出来,作为单个静态离散的问题,这样子对真正的研究方向和研究的系统是有一定影响的。

第三个也是一个非常重要的问题,可能也是一个被忽略的比较多的问题。研究智能系统的时候,一定要跟它的体型有关系。这个体型生物界当然是身体,但是在实际的生活中可以跟你真正的硬件条件有关系,而这二者看似不重要,实际上二者有相当大紧密相合的关系,实质把它分开以后,系统的结构和行为非常不一样。

我就讲这么多,提这三个问题,有不对的地方,请大家多批评。

 

  

原文发布时间为:2016年7月6日

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网

你可能感兴趣的文章
Android NDK开发扫盲及最新CMake的编译使用
查看>>
Weex开发系列(一):初识Weex
查看>>
开源 UI 库中,唯一同时实现了大表格虚拟化和树表格的 Table 组件
查看>>
找到思聪王
查看>>
[译] 学习 Spring Security(五):重发验证邮件
查看>>
快速的React Native开发方法
查看>>
Spring核心系列之AOP(一)
查看>>
TiDB 源码阅读系列文章(十五)Sort Merge Join
查看>>
spring mvc 5.1.1.RELEASE的一次请求过程源码分析
查看>>
RabbitMQ实战:消息通信模式和最佳实践
查看>>
省市区级联
查看>>
「译」MotionLayout介绍 (part III)
查看>>
什么是自编码?
查看>>
机器学习资料合计(一)
查看>>
系统学习iOS动画之五:使用UIViewPropertyAnimator
查看>>
实现Google带截图功能的web反馈插件
查看>>
给妹子讲python-S01E24深入解析异常处理方式
查看>>
证书问题“Command /usr/bin/codesign failed with exit code 1”编译不通过的解决方法
查看>>
跨域资源共享--CORS
查看>>
vue版stickTop效果
查看>>