能不能把“进化”和“自然选择”用到机器设计上?

我是这样想的,仿生学是指人类模仿生物功能,来发明创造的科学。研究对象是生物体的“结构、功能和工作原理”,并将这些原理移植于人造工程技术之中,用以发明、创造新技术。而生物是自然选择而成如今的样子,也就是说生物自然选择出一个相对来说最好的“结构、功能和工作原理”。那么可不可以让机器在虚拟的计算机世界像生物一样繁衍、进化、设定特别的“环境”让机器“自然选择”,然后选取最优的设计?

后来想起来,貌似几年前看过一个电视节目,有人这样做了……不知道这样究竟是否可行……

补充20150213: 我来描述一下我怎么有这种想法的源头吧。 我在想象中设计钢铁侠,但是想到了好多问题,例如关节内侧如何确保密封+保护+活动自如+足够小,内部空气如何处理,如何保证在能够快速拆装并且可完全密封也可透气和过滤气体的情况下既能有足够能够抵挡外力的坚硬物质或者缓解外力的柔软物质保护好内部躯体,又能几乎完全不影响内部的人,还保证机体自身的重量只由自身承担,不会给内部的人负重,或者再有其它我还没想到的要求。我觉得单凭人脑想这个会精神分裂的,所以我设想让计算机来模拟这种想象,并且套用“自然选择”这种模式:我可以在虚拟的世界里设计一个基本的“钢铁侠”,这就对应比作生物界最初的那个“物种”(可能用词不严谨),里面静置的人体为这个“物种”最初接触到的“环境”,内部人体的各种活动(例如放屁……总不能在那密封的环境里吸自己的屁吧)、外部出现的各种情况都是这个“环境”出现的变化,这时机器会出现各种变化,适合内部人体的各种机器结构都留下,这就是“进化后的新物种”。我想留下的机体可能每个都只满足部分我提出的条件,所以还要另找方法融合起来,这就算设计出来了……是不是太异想天开了…… 顺便说一句:貌似我看的外骨骼的设计都只有支撑+活动两个用处,但是骨骼还有保护的作用,所以我如果设计的话,就要设计有“支撑+活动+保护”作用的外骨骼。 关于密封方面……我目前只想到也许可以借鉴深水潜水服和宇航服的设计?

推荐  (3) | 40人关注关注
24个答案
20 1

傅里叶变黄油猫软件工程师,应用数学专业

2015-02-09 20:30

我来给看得热血沸腾的同学降降温,说一些骨感的现实。

@冰之眼 介绍的遗传算法和神经网络为代表的机器学习算法是不是感觉碉堡了?天网要觉醒了?早着呢,目前这样的技术依然有很大的局限性,稍微复杂一点的问题就没撤了——但初衷不就是要用来解决复杂的问题吗?

首先会遇到的问题是:比起大自然,我们的计算能力实在太有限了,没有办法模拟巨大的模型,而解决困难的问题需要足够大的模型。例如人脑是10^10个神经元、10^14个神经连接组成的系统,是经过无数代、无数个体自然选择出来的,即使一帧的计算量都远远超过计算机的能力,如此才能实现图像识别、肢体控制等复杂功能。

我们自然想到要简化模型,减少计算量。“深度学习”就是最近发展出的神经网络简化模型,曾一度掀起研究热潮,通过人组织的、针对指定问题的神经网络,让计算机解决一些原本只有人能解决的问题,例如识别人脸。下面是一个经过深度学习的9层人脸识别神经网络示意图,包含几十个初始化参数和1.2亿个学习参数。

但问题又来了,这样的模型有太多的参数,我们甚至不清楚这些参数如何影响结果,绝大部分的参数值组合都导致一个悲催的结果:

不收敛

如果你的模型足够好,经过一定次数的演算后,计算机就能以越来越高的准确率解决问题,但实际上绝大部分情况里达到一定准确率后就不再进步了,这就是“不收敛”,不收敛意味着你的模型有缺陷,无法解决特定的问题,但你不知道缺陷在哪里,也许你换一套参数再试会变好,但也可能再试一亿套结果都一样。

实际上绝大部分计算机仿生研究者都卡在这里,他们整天对着电脑试完一组又一组的参数,看着那个死活不涨的准确率。有些侥幸收敛了发出论文的,都会有一大堆作者本人无法解释的参数。一些成果上得了报纸,成为一时热门话题,但最终都过不了实用的关,即使能用,范围也非常有限。

很多回答者都提了现在这些仿生技术能做什么,但这些问题本身有非仿生解决方案(例如冰之眼设计的实验,用图论就能完美解决)。仿生技术能比非仿生技术做得更好的可能是图像、声音识别这类人脑功能,但都是玩玩的级别,或者用在准确率要求不高的场合,没有可以媲美人脑的产品。而工程设计、艺术创作这些“真人工智能”?暂时一点未来都看不到。

14 0

毛骡金属材料学博士

2015-02-07 07:04

工厂控制软件(主要是冶金)使用了一种算法:神经网络算法。这个是一种比较接近你说的可以自动演化的算法。这货带有反馈功能,会自动根据实时的数据进行微调和趋近。是一种能够自动适应环境的算法。当然具体到底能做到什么程度我不清楚了,反正论文上说的是挺神奇的。

机器暂时没有这个功能。因为目前为止,人类制造的机器还极少考虑所谓的泛用性,扩展性和自适应性。最多只是在极小范围内做一些自适应调整,然后就鼓吹智能XXX了。但是不是不能做到的,比如在设计时候尽可能多的考虑某个部件可能出现对设计环境不适用的情况,然后设备会检测新的环境并自动换上能够用于新环境的设置或者部件。这样做就极大的接近你说的自然选择了。在我所知的范围内,“高达”就是具有类似功能的机器。虽然只有一个人能让高达在极短的时间适应新环境就是了。

在现实设计中,这种普适的机器出了需要软件的支持外,最重要的是需要对机器本身设置大量的备用部件,这造成了大量冗余。这些东西平常是没用的,只是在需要的时候会有用。按照工业设计本身所要求的轻便简洁来看,这些都是多余的。软件设计也会产生大量冗余,但是相比增加一个外挂零件包,加一大段程序所产生的负担目前为止还是略小的。所以,一般也不会有人去设计这个,做出来的也不会有太多人选用。但这只是暂时的情况,未来谁又说的准呢?

针对2015情人节前夕的补充的回答。你提到的东西其实都不需要自适应或者自动进化。作为外骨骼,设计者基本会把人体需要的所有东西都会考虑进去,然后就等着人体某些功能去触发就行了。需要自动适应或者进化的部分则一般是外部环境的变化,比如本来考虑能在地球上所有环境使用,但是由于突发情况需要急剧升空甚至穿过虫洞(复仇者联盟电影情节)的时候,由于这个过程在设计的时候并没有考虑进去。这种就需要所谓的自动进化了。生物体经过漫长的演化是有可能适应各种各样的环境的,但是机器是不可能做到的,除非设计的时候就考虑进去了。

14 1

如果把机器学习类比成进化和自然选择的话,那么有的有的!很多结构设计上是使用的机器学习的方法来优化的。

比如autodesk公司的MeshMixer软件,http://www.123dapp.com/meshmixer,你随便设计一个3D模型,在3D打印时,材料是一层一层堆积起来的,所以完全悬空的物体是无法打印的,因此需要有支撑,那么支撑的结构应该如何生成才能使支撑既有效,又用时用料最省。设计这种支撑结构就要用到机器学习进行优化。

国内也有老师做类似的研究,是用在3D模型的内部支撑结构上,结构设计的时候,其实更在意的是外表,里面是什么样子对外表和功能不一定有太大的影响,也是有了3D打印以后,物体内部结构也可以做得各式各样,于是可以做出很华丽的内部支撑结构,使物体的质量轻,用料省,还能满足某些特定的结构参数要求,比如调整重心、改变应力之类。http://staff.ustc.edu.cn/~lgliu/Projects/2013_SigAsia_3DPrinting/News/Cost-effective-3D-Printing.htm

回复@元素碳:真正的机械结构的设计还不能完全靠AI的算法,因为有个模拟出来的结果不一定准确,而且必然会出现一些莫名其妙的偶然问题,所以还是需要做出实体来测试,一旦实体化以后就会慢很多。现在有3D打印机还能迭代得快一些,真不知道以前人们靠车床甚至手工得花上多长时间才能改进设计。感兴趣的话,看看autodesk有一组计算机辅助设计模拟的教程:
http://engineeringexploration.autodesk.com

参考:

http://www.autodeskresearch.com/projects/meshmixer

http://staff.ustc.edu.cn/~lgliu/Projects/2013_SigAsia_3DPrinting/News/Cost-effective-3D-Printing.htm

11 0

Ent古生物学博士生,科学松鼠会成员

2015-02-10 11:07

都是说好消息的,我来说说坏消息吧:为什么设计领域里的进化和自然选择思想(i.e.遗传算法、神经网络etc)现在还没有产生太多有实际用途的东西,为什么人类设计师一时半会儿还不至于被淘汰。

自然选择方法的优点,是a)尝试极大量的设计可能性;b)但和穷举不同,算法保证它尝试的绝大部分可能性都在最好的那一小撮空间里;c)在指定的空间里,它对孰好孰坏的判断是相当精确的。

但它也有很多缺点——有些缺点来自它本身,有些缺点来自人类对它的模仿不到位。

自然选择方法本身的缺陷短视。

生物学家爱用的一个概念叫"适应地貌"。

想象一下你要爬上最高的山峰。人类可以看到整个地貌,能够判断出哪个山最高,然后直接往那个地方走(当然人的判断未必是准的)。

自然选择机制的“判断”倒是比人准得多,但它“看不见”整个地貌。它所能“做”的,只是向四面八方各迈一步,然后位置高的留下,位置低的消失。

假如是一座平滑的圆锥形山脉,那么这样当然能达到最高点。但假如地貌复杂,充满沟壑,它就可能被“欺骗”——爬上的山脉并非全局最大,但却是局部极大,然后因为迈出任何一步都会变小,所以它就停在那里不动了。

因此,自然选择并非总是能得到最优解;照搬自然选择去做设计,也是一样的。(当然,不妨碍人类插手干预来弥补部分缺点,下同。)

短视还带来了很多相关问题。比如“历史依赖”——如果历史上你一直是按照某个思路去做设计,那切换到另一种截然不同的思路,对人来说很困难,可对自然选择来说根本不可能。再比如“过渡状态”——人可以设计各种各样的半成品用来试验,可是自然选择不行,任何一个中间状态都必须是能用的,就像给飞驰的汽车换零件还不能让车停。

人类试图模拟自然选择所遭遇到的问题:相空间不够大。

设计机器的目的是使用。虚拟空间里跑程序的话,怎么着都好;但现实的机器,要在现实世界中使用,面临现实物理的制约,所以你要做自然选择的话,你要么直接用现实世界去选(就像原版的自然选择),要么创造出足够接近现实的虚拟空间。

前者,当然不行——太耗原材料,太耗时间。原版自然选择有足够的材料和时间,我们可没有。

后者,很遗憾,也十分困难:我们到现在都做不出足够好的物理模拟(一方面因为计算力不行,另一方面我们连自然界的物理怎么回事儿都没有足够充分的理解!)。每一个实际使用的虚拟空间都是对自然界物理学的高度简化,这样选出来的东西在虚拟空间里是最佳的,但搬到现实可就不一定了——而设计一个好的虚拟空间,让二者尽可能一致,这可不是简单活儿,而且也得依赖人类的设计。


2 0
支持者: 掰百 Jemtaly

就像 冰之眼 同学说的, 类似 遗传算法 (Genetic Algorithm) 这种的 进化算法 (Evolutionary Algorithms) 很早就被应用在求解复杂度在 NP (Nondeterministic Polynomial) 的优化问题上了. 一个经典的问题就是 图着色问题.

另外还有基于仿生或者仿自然现象的算法. 其中最出名的是蚁群算法(Ant Colony Optimization, 模拟蚂蚁的觅食行为)模拟退火 (Simulated Annealing).


1 0
支持者: Jemtaly

我晕,当然有,而且进化的计算原理就是属于计算机科学下的人工智能分支,你以为是属于生物学吗,还有人工生命等等。计算机里面是用二进制数字来作为遗传基因的。利用和自然基因一样的分配,结合,交叉,突变定律来影响下一代。然后优选出结果。

居然很多人都不知道?这是学人工智能最常见最常见的了。

1 0
支持者: xipo

我觉得进化类似于用随机穷举变量,并有条件的筛选。

生物进化的慢是因为繁殖周期的限制,这对计算机来说并不是问题,各位专业人士也都说了有类似的算法。机器进化的难点在于制造,因为性能和适应力最优的方案不一定能在现有的技术和工艺条件下制造出来。所以3d打印技术出来以后才有这么大的轰动,因为以前很多不能制造的结构现在都不是问题了。

实际上很多制造企业已经在做类似进化试的设计,大众有一款车,前引擎盖的碰撞缓冲器,有的构件的结构设计就是通过模拟受力条件而筛选出来的最优解,那个分析结果的原始形态很接近生物体的骨骼微结构(去参观的时候不让拍照……),但最后批量生产的构件还是相对比较规则的几何形态

0 0

光笙生物医学超声博士在读,磁铁

2015-02-07 00:54

进化算法才用的就是类似的思想。至于机器自身的设计上采用进化算法目前还没有实现,涉及到人工智能方面还需要很深入的研究

0 0

珜羽单片机攻城狮

2015-02-08 15:20

现在有用遗传算法来做PID控制系统的参数设置的。

参考链接:http://www.amobbs.com/forum.php?mod=viewthread&tid=5606766&highlight=%E9%81%97%E4%BC%A0%2Bpid

写的比较清楚了。

0 0

要让机器进化,首先需要交流与劳动,还有自主思考能力,劳动本来机器就会,思考与交流说下来还是机器的控制问题,最后想下来还是人工智能的问题吧

0 0

早就有类似的设想了,不是虚拟世界,而是在现实世界。

一种小型机器人,能够采矿、冶炼、自我复制,制造出与自身有微小差别的“后代”,并且在矿物不足的情况下自相残杀,模拟自然选择的情况,并完成进化。

这是小时候看的一本科幻小说,柳文杨的《神奇蚂蚁》,当时震撼了我的价值观。

0 0

恭喜你想到了冯·诺依曼当年的想法

这是人家的自动机理论里勾画的蓝图的一部分

0 0

楼上诸位都说的差不多了,神经网络和遗传算法都是几十年前就出现了的东西,遗传算法什么的,换个说法其实就是 Monte Carlo,瞬间感觉就不牛逼了。绝大多数时候感觉想法吊炸天基本上是因为文献看太少。

P.S. 我不太认同“硬件速度限制了遗传算法”的说法。我们现在的遗传算法都只能在相对简单的可控环境下做,稳定性和收敛性都太差了,真给我们一台黑科技的计算机我们也未必能设计出可以充分利用其能力的算法。只能说软硬件都还远没有到担心天网觉醒的水平吧。

0 0

这个的成本(时间、资金投入等)

令我们更加偏向于选择对机械进行“设计”

而不是用电脑模拟它的“自然选择”

0 0

青蛙长出四条腿用了 至少几万年吧....

你确定你设计个机器要等这么久吗?

如果你需要腿。不能直接给机器按上、


非要设计个程序让机器在无数次的失败中逐渐感知进化方向。


0 0

首先你要设定一个初始环境(很容易)。

其次你要定义这个初始环境里的“变化”。(楼主天真地把这个当做理所当然的东西,但是实际没想过这方面的东西)

至于遗传算法本身是很简单而且成熟的算法。

0 0

你们讲的好复杂,我觉得电脑系统更新便像进化,自动更新也差不多

0 1

那么这个智能物质,我们应该怎么称呼他

他和我们的智能有神马区别?

楼主不如今晚去找个妹子直接造个人工智能

0 1

--研究对象是生物体的“结构、功能和工作原理”,并将这些原理移植于人造工程技术之中

首先这个最优的设计如何算最优设计? 比如设计一件飞机,不同速度高度的外型优化是很不一样的

先有指标,才有最优设计.

是无目地的演化,还那是要创造新的生命吗?

不要说强人工智能,现在连个在线翻译都做不好 .因为电脑不知道怎么联系上下文

要联系上下文就需要对上下文有理解

比方说 ,糖是甜的 ,任何人都知道的常识吧? OK,你不懂?给你给一颗糖,立即就知道什么是甜了。什么是疼,什么是晕,这些感观的机制,要怎样模拟?没办法让机器感同身受啊

莱纳特偿试过构建一个Cyc项目,把我们先了解的知识灌输给机器,比如水是凉的,糖是甜的等等

但是有些常识也不是那么好定义,比如说猫是动物都有4条脚 ,但是也有受伤的猫有三条脚 ,二条脚 ,鸟都会飞 , 企鹅是鸟,但不会飞 , 不能跟据常识直接判断 ,缺乏对内在属性的联系,怎么联系如何控制复杂度,看来是这个问题还没解决。

其实强人工知能还有很多问题,现在可以说看不到希望,比方说如何判断某个算法是否能在有限的步骤得到结果 .


还有另一个方向,设计一组规则,放到模拟环境里,自由演化,看看怎么样,在设计别一组规则,放到给模拟环境中,自由演化,看看会怎么样
我觉得问题是,没有办法从需要的结果,来设计规则




0 2

这不就是养蛊么,古人早就知道了。不过这样做机器太慢了。自然进化都是以百万年为单位的。

0 4

进化效率很低哎,自然选择用在机器上就是人择嘛

5 11

机器是人工发明的,怎么自然选择?

人工发明下无论是技术进步还是人伦道德都是在人类可以掌控的情况下的。如果真的有一个高度仿生可以自然繁衍的东西人为制造出来了,而且不去人为干涉,他的发展是对人有益还是有害都是未可知的。

而且,自然选择说白了就是“为自己”。我自己能适应这个环境了,能面对环境、天敌的威胁并且繁衍生息下去就可以,我干嘛为你们人类去特意改变自己 呢?

那家禽家畜是人工干预演化来的,但是一只野鸡是需要多少代才能发展成现在这样的肉鸡和蛋鸡?一株狗尾巴草是育种了多少年才变成现在的水稻?我们干嘛要费劲发明一个可能会失控,而且要经过无数代培育才能变成我们希望模样的机器,我干嘛不用现在有的科学知识直接造出来一个我想要的东西呢?

PS:话说我特地去百度了下狗尾巴草,我的妈呀,玛丽苏真是无处不在

0 12

要是真有某个科学家做出来了,人类就完蛋了

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区