人工生命——一个用代码模拟生命进化的人工智能开源项目

331 阅读14分钟

B站视频:www.bilibili.com/video/BV1xp…

项目下载地址:gitee.com/drinkjava2/…

开源项目作者

朱勇: 桂林电子工业学院机械本科,在全民学计算机大潮下,上了编程这条贼船,历经学习机、PC、286, 386, 486, 奔腾...,见证了个人计算机发展史。学过Basic、Delphi、C、C#、Lisp、Java。主业机械设计,做过节能灯、空调和石油工具设计,副业IT,做过网管、MRP系统和Java网站。2006年技术移民加拿大。目前业余时间主要花在开源项目上,最近决定将重点放在科学练丹法————人工智能的摸索上,也就是 Gitee “人工生命”项目。

HPIM1675.JPG

人工生命——一个用代码模拟生命进化的人工智能开源项目

人工生命 :这是一个人工生命试验项目,最终目标是创建“有自我意识表现”的模拟生命体,技术架构基于02年提出的 一个人工脑模型。 这个项目永远没有结束的时候,开始于模拟一个简单的生命体,然后是青蛙、狗......, 结束于有“自我意识表现”的人工脑,或者说,结束于被机器人代替人类的那一天。

访谈正文

1、一句话描述您的开源项目
“人工生命”是个人工智能研究项目,基本思路是用模拟生命进化的方式来创建人工智能。

2、项目产生的背景,为什么决定开发这个项目 ?
之所以做这个人工生命项目,也是因为阿尔法狗出现带来的触动,提示我电脑硬件的发展一日千里,在摩尔定律的推动下,已使得“造人”成为可能。而现有的神经网络研究,我感觉始终没有抓到点子上,将“造人”作为重点,我认为这是非常短视和危险的。

人工生命不是一个新概念,我在这个项目里加入了一些自已的想法,可能对其它人有一点启发,人工智能不光是一个技术问题,也是一个人生观问题,“意识”本身是什么? 如果不能回答清楚,就不能深入地研究神经网络。

实际上,我在1996年就开始思考人工智能和意识的本质之类的问题,还写信给中科院建议进行加强“类人智能”的研究(典型的民科行为,当然没回音)。在2001年还做过一个“造人论坛”网站,也没有什么反响。现在想想看,还是因为学术界重视实践,对这类天马行空的“软文”看不上眼是很正常的。

与其说这个项目是试图单枪匹马地来造出类人智能(实际上也不可能),倒不如说是打算用一些简单的技术探索来提醒人们,“造人”必须是神经网络研究的重点,一直都必须是,如果碰巧在技术探索上有成果的话,比较有说服力,会吸引来更多的人关注“造人”这个领域,这才是这个项目的根本目的。另外,这个“造人”项目也可以提醒一些神经网络项目不要走弯路,比方说本人坚信能够完全替代人类的自动驾驶、自动翻译是永远不可能在“造人”这个目标达成前实现的,这是条技术红线,不理解这条红线的企业将会注定破产。

3、您的项目的用途、特点
目前这个项目“无用”是它的最大特点,它的基本原理是拷贝生物进化的过程,从草履虫、蚂蚁、青蛙、狗......,一步步模拟上去,直到达到类人智能的程度。

在项目起步阶段,它实现的功能非常简陋,所以趣味性是重点,可以吸引更多的人来关注这个领域。当然,到了后期,“无用”将变成“有用”,这就象一个蚂蚁没象没什么用,一个青蛙好象也没什么用,但一只狗就有点用了,一个小孩就更有用了,道理是相通的。

现在的人工智能研究,目标一开始就是奔着“有用”去了,比方说人脸识别、自动驾驶这种任务, 有可能人为地加入了许多固定的算法,但当环境改变后,这些“有用”的算法反而成了制约它解决新问题的因素。

4、项目适合场景、人群以及涉及到的功能、技术
这个项目研究的是通用人工智能,与其说它适用于什么场景,不如说它代表了一个研究方向,通用人工智能的目的是解决所有智能问题,包括代替人类思考,也就是适用于所有需要智能的场景。人工生命是研究通用智能的一条路,而且个人认为是一条比较平坦稳当的路,因为自然界有太多的生命样本可以作为参考,从单细胞生物到人类都是,这些是上天赐给人类的礼物。

这个项目适合的人群,当然比较适合我这种门外汉,因为比较形象化和直观,目前没有引入什么需要高等数学的算法,不过,最终它还是应该由学院派来研究的,毕竟它的目标太大,硬件和时间投入上都是无底洞。计算机是个新领域,不象高能物理对于普通人来说已经很难有什么新发现了,而目前神经网络却是个新领哉,对于普通人来说,也有可能在技术上捡漏。

这个人工生命项目实现的功能是构造一个虚拟环境,演示在这个虚拟环境中虚拟生命的进化,除了演示目的外,它这个虚拟生命进化出来的功能也是可以解决现实中的一些实际问题,比如多变量筛选优化,可以通过大样本数+随机试错这种遗传算法来实现。

技术实现上,这个项目还在摸索中,水无定形,但总体思路是用一台串行的电脑来模拟一个并行神经网络或并行硬件芯片,把脑的输入输出当成一个整体来考虑,环境以及训练本身也要看成它脑结构成长形成的一个关键因素,以内因为主,但外因也必不可少,象教小孩一样成长,不教育就不聪明。

如果这个项目取得一些进展之后,再考虑移植到并行计算机或硬件上,现在神经网络研究的瓶颈不是在硬件上,而是在软件或思路上,所以可以借用计算机的高速度来构造一个虚拟模型来加速这个试错和摸索过程,当然对于个人来说,一台好的电脑甚至是超级电脑可以促进这个探索,因为不需要将时间花在采用特殊的编程技巧上去优化内存和加快速度。

5、在初步搭建脑模型和虚拟环境(已完成的短期目标)的过程中有没有遇到过什么意料之外的困难或收获?
做这个项目,意料之外的困难是没有的,因为要解决的问题太大,象一只蚂蚁要啃一座山一样,这不叫困难,只能说是目标太遥远,如果一定要说困难,时间不够和算法知识不了解可以算上,只能利用业余时间做,这是一个业余选手(我本职机械设计)利用业余时间做的业余项目。

至于意料之外的收获,编程序一般不会提什么意外收获,因为意外一般总是会收获一个Bug。但这个项目却是实实在在地给了我一个意外,不是指它比我花了十倍精力做的ORM工具项目更受关注,而是指在第二个版本“眼睛的诞生”程序运行时,我没想到青蛙的行为会表现的比我意料中的要复杂得多,这给了我一个惊喜,因为它证明了自然界中眼睛是可以由随机生成的神经网络形成的,能够亲眼看到这个现象在我的电脑上出现,我也是比较意外和兴奋的。

图片:uploader.shimo.im/f/j...

6、您预计完成所有短期目标需要长时间?
这个不好说,这不是一个人能完成的目标。我不比其它人更聪明,只是思路比较发散,象一根针一样东戳戳,西探探,也许碰巧能戳破一层窗户纸,但要用这根针去推开这扇窗就做不到了。这个项目的价值可能就在于吸引更多人加入“人工生命”研究这个领域吧。人越多,这方面的进展就越快。

对于我个人来说,短期目标是搭建出一个将模式识别和条件反射功能结合起来的三维脑模型,因为我对算法基本一窍不通,这是很有难度的目标,如果只有一个人搞,个人估计要花三五年时间吧,也可能根本搞不出来,这个真不好预测,如果能预测出来,那几个月就能搞出来了。

7、您的项目介绍中曾说,项目将结束于被机器人代替人类的一天,“机器人代替人类”的话题目前还是非常具有争议性,您是如何看待这个问题?
这是一个很大的话题,没有人能预测将来,只能猜测,也不可能建立在自已猜测的基础上去说服其它人。但是我还是要说我的猜测会比别人稍微准一点,因为我早在1996年就开始思考神经网络,2001年预言围棋将超过人类,2002年开始构思人脑模型,我想到的可能已经超越了大多数普通人,我尤其比较自豪的是自以为看透了意识的本质。在我看来,信息科技的进展越来越来快,将很快越过奇点,有可能在20年内出现与人的智能相等的通用机器智能,也就是说,能通过图灵测试。

神经网络研究不光是一个技术问题,也是伦理和管理问题,如果不提前做出准确的预测,放任各国各行研发,则机器人有可能在一个人们不经意的时间出现,而且有很大可能最先被运用在军事领域,这将是人类的灾难。如果不加以控制,则人类驾驭机器人的第一天起,人类被机器人反扑的命运就已经注定了。所以神经网络技术前景的预测、研发、机器人立法需要提前排上日程,要引导机器人向对人类有益的方向发展,也就是说与人类和平共处,这个可以通过机器人人权法来保障。但这些个预测、管理、立法到底谁说了算?问题又绕回到原点,谁的技术强,谁就最有发言权,不是技术上的发言权,而是指测预未来的发言权,因为人们总是会相信技术最先进的人发表的预测会更准一些。

8、您是否考虑过将项目实体化/硬件化?
这是必然的,也是这个项目的最终目标。但目前先只能考虑这个项目本身或这个人工生命研发方向的发展壮大问题。只有参与的人多了,技术上、软件上的成果出来后,再考虑向硬件化转化。目前类人机器智能研究的瓶颈个人以为还是在算法或模型上没有突破。在个人电脑或者超算这种串行机上进行并行神经网络模型的模拟是一个可以加快研发的途径。硬件总是涉后于软件的发展的,没有人能奢侈到直接在硬件上做算法研究。

9、您在工作之余是如何给自己充电的?
作为一个70后,我的业余时间太少,已经不太考虑充电,而是考虑怎么放电,体现残余价值的时候了,如果能把自已好的想法释放出来,对别人有启发,我就很高兴了。神经网络这个领域,要学的知识太多太深,对我来说不可能每样蜻蜓点水都去学一遍,只能通过做项目的方式,遇到了具体的困难再去学习相关知识,考虑怎么克服这个困难,这是一个高效利用时间的办法。如果一个人把所有的时间专心只朝一个方向钻研,他可能很快就会发现自己已经站到所有人的前面去了。大仲马的《基督山伯爵》里有这么一句话:“当你拼命要完成一件事的时候,你就不再是旁人的敌手,或说得更正确些,旁人不再是你的敌手了”, 我很欣赏这句话。

10、不知道您是否看过美剧《西部世界》,如果您看过,剧中的 AI 发展水平对您的项目理念有什么影响吗?
这电视我没看过,不过大概知道是讲一个游乐场里机器人有了自我意识起来反抗人类的故事。从它的故事设定来看,只能说是个“软科幻”。我认为“硬科幻”就是指虚构出来的科技用现有的科技水平无法证实它是假的,而“软科幻”则相反,破绽太大,腾云驾雾这种,偏重于文学娱乐价值,对科技发展的启发作用并不大。

这个科幻剧在我这个硬科幻宅来说,与我理解的神经网络技术原理有点违背,所以不是太喜欢。类似的还有“机器人三定律”等,也与我的信念违背。因为我一直坚信,智能的基本特点就是“表现即本质”,不可能出现能媲美人类的智能但是又不表现出自我意识,简单说就是如果一个机器人会走路、会聊天,那么它必然就已经“拥有”了意识,反之,如果它不“拥有”自我意识,就会连走路、扫地、洗碗这些事都做不好。意识产生这个过程是渐变的,而不是象影视剧里描写的那样某一天突然觉醒出来。其实关于科幻,我也曾有过一些构思,可惜文笔不佳,没法写成小说,如果有兴趣大家可以搜索一下“zhangrex 科幻一角”,能找到我在很多年前写的一些关于人工智能的科幻构思,其中前三个还在 1996 年 2 期的《科幻世界》上发表过。

关于人工智能反抗人类,人类需要早早未雨绸缪,在机器人伦理、立法上做好准备,奇点之后无法预料,科技将在奇点后出现大爆炸式的进步,连时间都失去了意义,一切都无法预料。用欢迎的态度可能迎来的还是一个对人类不好的结局,这个没办法,一半对一半的机率,我们不能代替高等智能来思考,但如果用敌对或奴役的态度来对待比人类更高级的机器智能,则注定将迎来可怕的后果,连这一半的机率都扔掉了。也许未来人类能够影响机器人的唯一因素,就是人与机器人之间和平共处产生的情感了,当然,这种情感可能越来越淡薄,人类的命运有可能完全由机器人社会的道德和尊严来决定。