当前位置: 华文世界 > 科技

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

2024-02-16科技

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. 研究人员仍然在可进化的硬件领域继续开拓