本期我们讨论了基于智能体的模型(agent-based model),每一个个体都基于特定规则对周围的环境作出相应的决策,从而使群体涌现出无法预估的行为。
对于生命游戏的元胞来说,周围只有一个同类会孤独而死,有四个以上就足以被挤死。然而实际生活中,每个个体对孤独或拥挤的感知不同,而且这种感知也会随时间发生变化。
对应的,也有多智能体进行演化的算法。之前我们讨论了小人获取糖分来生存的模型 sugarscape,其个体之间的诸如视野和新陈代谢的能力差异可能导致巨大的财富分配不均。
我们可以在其中加入繁殖的规则来进行演化:有充足糖分的个体可以产生下一代,下一代的数值基于上一代有一些随机的变化,即基因的遗传突变。我们可以观测到,几代之后,种群整体的能力产生了进化,平均速度变得越来越快,视野范围越来越大。
这种遗传算法以自然选择为灵感来解决问题。例如某种生物的目标是跑得更远,有三个以上的关节,关节之间以骨骼连接,骨骼中的肌肉进行规律的拉伸,由此产生运动。
第一步先随机生成1000个生物,对他们的成绩进行排序,并淘汰500个,成绩越差被淘汰的概率越高。剩下的500个会随机进行杂交,取其亲代的特征,并加上一定的基因突变,形成下一代。
在重复这个过程多代之后,这些小平面几何体向前奔跑的距离越来越远。我们可以看到其佼佼者已经从勉强挪一下,到能够稳定向前跑几十米。
类似的,我们可以调教bilibili小电视,把骨架用肌肉连接起来,通过肌肉的发力往前挪动。每一代都进行肌肉发力的调整。不过似乎小电视因为腿太短身体太重,成绩一直不是很理想。
利用机器学习模型,我们可以处理更多更复杂的数据,进行更有效地模拟。在强化学习算法中,智能体会获取环境的信息,尝试通过和环境进行交互,获得更高的分数。左侧显示的是其环境的输入,右侧是他所有可以做出的行为。智能体在每次行动之前都会根据 reward 函数,对每一种行为的得分进行比较。
在最开始对游戏规则毫无认知,仅仅只是随机按键,但在几代之后,会根据之前的结果优化 reward 函数的参数。最终达成目标。
2019 年 4 月,OpenAI Five 击败了一支 Dota 世界冠军 OG 战队。每个英雄每四帧就会做一次观测。他们会获取场上每一个生物的数据,根据 reward 函数计算每个动作的收益,选择是移动,平A还是放技能。游戏进行中的收益包括血量,金钱,和局面的局势,最终的收益是输赢。
在大量的学习中,个体分布的决策涌现出了精妙的合作。电子游戏的环境复杂程度越来越高,在运行中自带大量已经标记好的样本数据,并且能够实现快速的迭代,是优质的AI算法训练平台。
在非游戏领域有很多应用,例如认知计算,包括路径寻找,推荐算法。
2019 年 9 月,Open AI 利用同样模型训练多智能体玩捉迷藏,游戏的规则十分简单,躲藏者有一定的时间躲藏,被看见就算输。赢获得一分,输则扣一分。
在几千万次的尝试之中,队伍成员发展出了策略,并不断进化。躲藏者用障碍物阻挡视线,寻找者则用斜坡爬进去,于是躲藏者选择把斜坡藏起来。
令人惊讶的是,这些智能体发现了游戏的bug,躲藏者把斜坡卡出了墙体。而另一方找到了物理引擎中的漏洞,飞上天直接跳了进去。看起来在未来的游戏中,不只是玩家能够通过卡 bug 获取胜利。这些计算机模型最初是对于现实世界的简化和模拟,但反过来却能对现实世界的产生推进作用。
智能体或许能够探索出人类没有想到的策略,为人类在很多领域提供全新的思路,如同他们已经在很多策略竞技中做的那样。
[music reference: Douglas Holmquist,Susanna Lundgren - Hypersphere]
[video reference: Max Cooper - Order From Chaos (official video by Maxime Causeret)]
[simulation: https://playgameoflife.com/]
[figure reference: 《芬兰人的噩梦》]
[simulation: Evolution Simulator by Cary Huang]
[video reference: Flexible Muscle-Based Locomotion for Bipedal Creatures]
[video reference: MarI-O - Machine Learning for Video Games]
[video reference: DeepMind’s AlphaStar- A Grandmaster Level StarCraft 2 AI]
[reference: Two Minute Papers]
评论区
共 14 条评论热门最新