当前位置: 首页>后端>正文

读十堂极简人工智能课笔记03_遗传算法与进化

读十堂极简人工智能课笔记03_遗传算法与进化,第1张

1. 寻找正确答案

1.1. 卡尔·西姆斯

1.1.1. 计算机图形艺术家和研究者

1.1.2. 演示过数字进化之创造性和新颖性的先驱

1.1.3. 1994年

1.1.3.1. 创造一批能游泳、走路、跳跃,甚至互相竞争的虚拟动物震惊了整个科学界

1.1.3.2. 它们的人工大脑却是个极其复杂的网络,信息经由传感器的输入,经过大量的数学函数计算和操作,才能产生那些看起来很聪明的动作和表现

1.1.4. 这些动物并不是西姆斯直接编程产生的

1.1.4.1. 他并没有设计这些动物

1.1.4.2. 他并没有生成它们的身体,也没有创建它们的大脑

1.1.4.3. 西姆斯的虚拟动物是进化而来的

1.1.5. 如果一个控制系统某一天真的产生了“智能”行为,这个系统可能已经复杂混乱到我们无法理解的地步

1.2. 艺术家威廉·莱瑟姆和斯蒂芬·托德

1.2.1. “变异者”程序

1.2.2. 莱瑟姆和托德的艺术作品都是计算机里进化出来的

1.2.3. 就像给动物配种一样,选择他们认为优秀的作品来配种

1.2.4. 从一片随机混沌中慢慢地涌现出不可思议的样式、盘旋卷曲的形状和超凡脱俗的图案

1.3. 智力其实就是改进的能力

1.3.1. 我们在学习一样东西时会不断练习,直到掌握到一定程度才停下来

1.3.2. 只要有更强大、更便宜、更受欢迎、更高效的解决方案,我们就会想办法寻找它

2. 人工生命的进化

2.1. 西姆斯使用了一种遗传算法来推动虚拟动物的进化

2.2. 他的品控标准(或称“适应函数”)就是动物能够游、走或跳得多远(越远越好)

2.2.1. 乌龟状动物的身体可能只是五个简单的方块,但它的大脑如果打印出来,打印纸的长度延伸出去能覆盖会议大会堂的很大一部分

2.3. 进化计算的实践者创造出了一个虚拟世界,让计算机自己繁衍出越来越好的答案,直到找到最佳答案

2.3.1. 遗传算法就是这样一种方法

2.3.2. 它的工作机制是先创造出一批可能都没什么用的答案作为初始群体,按适应度(也就是把问题解决得多好)给这些答案排序,然后让最适应的答案产生后代

2.3.3. 只要让遗传算法运行足够多代,剩下的答案就已经进化成高度适应的群体,能很好地解决它们所面对的问题

3. 由自然界启迪的优化方法

3.1. 遗传算法及其近亲(进化策略和进化编程)可以追溯到计算机科学的最早期

3.1.1. 使用遗传算法让代码自己进化(也就是自动调试我们所写的代码),让计算机实现自我编程

3.1.2. 遗传算法等技术将使人工智能实现自我修改,直到它们变得比我们更聪明

3.2. 蚁群优化和人工免疫系统是在20世纪90年代才出现的

3.2.1. 蚁群优化方法能给配送人员找出最佳路线,就像蚂蚁能找到食物和巢穴之间的最短路径一样

3.2.2. 人工免疫系统模仿我们自己身体里的免疫系统,能检测到计算机病毒,甚至能控制机器人

3.3. 粒子群优化方法能让虚拟粒子像寻觅鲜花的蜜蜂一样四处飞舞,以发现最佳解决方案

3.4. 越来越多的自然过程可以启发优化方法

3.4.1. 中心引力优化、智能水滴算法和河流形成动力学等方法

3.4.2. 基于大型哺乳动物的行为习惯

3.4.2.1. 动物迁移优化

3.4.3. 基于昆虫,甚至植物和水果的习性

3.4.4. 基于鸟类和鱼类的各种算法

4. 基于搜索的算法

4.1. 人工智能和搜索一直是携手并进的

4.1.1. 基于搜索的算法是人工智能的一个独特分支

4.1.2. 搜索是计算机科学家喜欢玩的一种烧脑把戏

4.2. 大多数受自然界启发的优化算法都是平行搜索方法,从一群分散在解空间各处的初始答案开始,各自同时往周边地带探索,寻找最好的答案

4.2.1. 优化算法动辄要搜索数百维空间,而且答案的质量往往难以确定,或者会随时间改变,又或者可能会有多个好答案

4.2.2. 算法甚至可以搜索空间的维度本身,增加或删除参数

4.2.2.1. 如果在四十维空间(由四十个参数值定义)里找不到答案,那么也许能在五十维空间里找到

4.3. 搜索是最近大获成功的强化学习等技术的组成部分

4.3.1. 通过搜索获取解决方案是极其困难的任务

4.3.2. 在每个阶段,通常的结果都是计算机被卡住,找不到一个好答案

4.3.3. 搜索的空间太大,无法在合理的时间内搜索到答案

4.3.4. 空间太复杂,无法有效导航

4.3.5. 空间本身的性质太容易改变

4.3.6. 测试每个潜在答案是否能解决问题所需的时间,限制了系统可以考虑的答案的数量

4.3.7. 答案越复杂,测试它所需的时间也就越长

4.3.8. 计算力的提升永远是杯水车薪,而且这种情况可能还会持续几十年,甚至几百年

4.3.9. 计算能力也不能帮助我们理解如何找出正确答案

4.3.10. 搜索只能帮助计算机找到问题的答案

4.3.10.1. 它总是需要我们的帮助来发挥它应有的作用

4.4. 自然进化是如何在一个似乎永无止境的可能性空间中搜索,并找到活生生的答案的

5. 进化中的机器人

5.1. 机器人大脑的构件可能是模拟神经元、有限状态机、规则集合,或数学方程,搜索则是黏合剂,把这些构件以正确方式组合起来,并连接到传感器和效应器,从而让机器人能执行真正的任务

5.2. 达里奥·弗洛里亚诺

5.2.1. 他让模拟神经元配置自己进化,来为机器人自动制造大脑

5.2.2. 并不满足于让大脑进化,他还想知道这种大脑是如何运作的

5.2.3. 探索了许许多多种进化出来的机器人大脑

5.2.4. 建造了由有机生物体启发的机器人躯体

5.2.4.1. 一些会走路的机器人

5.2.4.2. 一些像跳蚤一样蹦蹦跳跳的机器人

5.2.5. 两家无人机公司——senseFly和Flyability

5.2.6. 数字世界的进化论有着一个美妙之处:人类设计师的角色可以被降低到最低限度

5.3. 霍德·利普森和乔丹·波拉克

5.3.1. 复制了卡尔·西姆斯的想法,在虚拟世界中进化出可以移动的奇特虚拟生物

5.3.2. 使用3D打印机,将虚拟变成现实

5.4. 虚拟世界和我们自己的世界之间的“现实差距”

5.4.1. 在虚拟世界中可能正常工作的大脑和身体,不知何故在混乱、不可预测的现实世界中总是没法正常运转

6. 自我设计的计算机

6.1. 阿德里安·汤普森

6.1.1. 在1996年

6.1.1.1. 将进化计算与一种名为现场可编程门阵列(FPGA)的特殊芯片联系起来

6.1.1.2. 这些芯片最初设计的应用,是计算机网络和电信骨干网等需要快速推出新电路的场景

6.1.1.3. 与其设计一套电路并在昂贵的芯片制造厂里生产出来,你不如随时向FPGA发送特定信号来重新配置这个电路,它的内部组件会如你所愿地连接在一起,并存放在一个永久的存储器中

6.1.2. 面对同一个问题时,进化电路所使用的硅片面积要比出自人类设计师之手的电路少得多

6.2. 让计算机大脑本身的电路进行进化

6.2.1. 在FPGA中演化和测试了许多代的真实电路后,进化计算找出了有效的电路

6.2.2. 创造了古怪得有时几乎无法解释的电路

6.2.3. 这些电路比预期的要小,而且它们使用电子元件的方式也很反常

6.2.4. 芯片上显然不属于电路的部分仍然会以某种方式影响输出,让输出更接近理想值

6.2.4.1. 进化利用了底层硅片的物理特性,这是人类设计师想都想不到的招数

6.2.4.2. 设计甚至利用了环境,因为稍微改变一下温度,芯片就不那么好用了

6.2.5. 把这个电路设计部署到另一个看起来一样的FPGA上面,它就不再灵光了

6.2.6. 在更大的温度范围和多个FPGA上尝试进化,就会得到更可靠的解决方案

6.3. 进化只会设计出必要的东西,一点也不浪费

6.4. 许多困扰人类直觉的问题,可以用计算机进化论找到崭新的解决方案

6.4.1. 朱利安·米勒(2019)

6.5. 让计算机来负责进化电路并不容易,但多年的进展已经催生了新的技术,即将改变我们创造人工智能的方式

6.5.1. 研究人员仍然在可进化的硬件领域继续开拓


https://www.xamrdz.com/backend/3yu1941175.html

相关文章: