CHAPTER 1
第1章 绪论
1.1 群体智能与智能网联概述
群体智能是科学家长期关注和研究的一种自然现象,通过有效集聚没有智能或智能水平非常有限的单个智能体,展现出远超个体能力的智能行为。例如,在很多低等社会性生物群体中可以观察到群体智能现象,包括鱼、鸟、蚂蚁、蜜蜂等群体;“三个臭皮匠,顶个诸葛亮”,人类社会的不断发展和演化也可以被认为是一种群体智能现象,绝大多数文明成果都是人类个体在长期群体化、社会化的生产和生活中逐渐演化形成的产物。因此,群体智能(Collective Intelligence),或者说多智能体系统(Multi-Agent System,MAS),是由多个智能体以特定的方式相互耦合在一起构成的系统。其中,厘清智能体概念、明确系统性度量方法,是在计算机工程领域使用群体智能的重要前提。
智能体的概念是由美国麻省理工学院的Marvin Minsky教授最早提出的[1]。当前,智能体拥有多种不同的定义。作为一个致力于智能体软件技术标准化的国际组织,FIPA(The Foundation for Intelligent Physical Agents)定义智能体为驻留在环境中的实体,可以解释从环境中获得的、能够反映发生在环境中的事件数据,并可以执行对环境造成影响的行动。著名的群体智能系统研究学者、牛津大学计算机科学系主任Michael Wooldridge对智能体提出了强、弱两种定义:在弱定义中,智能体是指具有独立性、自主性、社会性和反应性等基本特性的实体;在强定义中,智能体不仅包含了弱定义中智能体的基本特性,还具有与移动、通信、决策甚至推理等能力相关的智能特性。著名的人工智能学者、斯坦福大学的Hayes-Roth教授定义了智能体的三种基本功能:感知动态环境信息、通过推理来解释感知到的信息并产生推理结果,以及执行动作来影响环境条件。因此,智能体的特性可以大致概括为:
❑ 独立性(Independent):智能体应当具有独立存在的价值和功能,当给予足够的外部条件时,智能体可以独立地行使功能;
❑ 自主性(Autonomous):智能体拥有对自身行为和逻辑推理的自主控制能力;
❑ 反应性(Reactive):智能体可以根据周围环境的变化自动地调整自身的状态;
❑ 社会性(Social):智能体可以和其他个体进行协作,进而表现出社会行为;
❑ 进化性(Evolutive):智能体具有累积经验和学习知识的能力,可以不断提升自身的行动或者决策水平。
图1-1提供了一种智能体的基本结构图,该图包含了智能体行使功能的主要单元以及运行逻辑。具体地,感知单元的功能是获取智能体需要的外部环境信息,一般情况下,由于获取手段或者获取代价的限制,单个智能体只能获取到环境的部分信息。智能体的感知信息会经过数据处理过程被进一步加工,目的是提取出和目标任务相关的特征信息,该特征信息可以作为智能体进行状态调整或者动作执行的决策依据。针对特定的目标任务,智能体会维护一个事先指定的预测模型,该模型的输出结果可以辅助最终决策结果的生成。智能体的通信单元主要负责完成当前个体和系统内其他个体之间的信息交换过程,该过程是多个智能体实现目标任务协同的重要基础。最后,智能体的行动单元负责将最终的决策结果转换成实际的执行动作。综上所述,智能体的主要行为逻辑可以概括为“感知→决策→行动”。其中,在决策阶段,由于单个智能体往往只能获取到外部环境的部分信息,因此有必要通过在多个智能体之间添加合适的协作过程来提升决策水平。另一方面,单个智能体受限于体积、功耗等,有时无法单独满足GPT-3等大规模新兴神经网络模型[2]对算力广泛迫切的需求。再者,由于感知、预测、决策等不同学习任务之间的耦合现象日益凸显,通过网联智能体形成分布式的群体智能系统,让不同类型的智能体各司其职,从而提升系统整体智能水平,成为一个迫切的需求。
图1-1 智能体的基本结构图
美国经济管理学家Herbert Simon的有限理性决策理论(Bounded Rationality Decision Theory)为群体智能系统的有效性奠定了重要的理论基础。该理论认为,一个系统把多个智能体组织起来可以弥补单个智能体在任务能力上的有限性;每个智能体都专门负责一项任务,可以弥补单个智能体在学习新任务能力上的局限性;系统间有组织的信息流通可以弥补单个智能体的知识的有限性;明确的系统组织和任务分工可以弥补单个智能体在处理信息和应用信息能力上的有限性。因此,群体智能具有“分布智能、持续增强、实时交互”的特点[3]。需要说明的是,与分布式问题求解(Distributed Problem Solving, DPS)过程不同,群体智能系统的设计是一个自底向上的过程,需要首先构建智能体模型,然后在智能体模型基础上针对任务目标建立合适的群体沟通机制。
作为群体智能的经典领域,遗传算法(Genetic Algorithm, GA)[4]、蚁群优化(Ant Colony Optimization, ACO)算法[5-6]、粒子群优化(Particle Swarm Optimization,PSO)算法[7]以及共识主动性(Stigmergy)算法[8]等群体协作算法从自然界动物群体的群体行为出发,通过计算机模拟的方式来实现类似的群体协作过程,进而发现和提炼出有价值的群体协作机制。虽然蚁群优化算法[5-6]等通过模拟生物群体行为可以实现集中式优化,但群体智能具有更强的概念内涵,更加强调“多个智能体的互相认同与能力增强”[3]。事实上,群体智能的理念已经在维基百科和reCaptcha项目中得到了广泛的体现。例如,得益于互联网技术的出现和不断发展,人类群体的跨时空大规模协同成为可能,使得网络空间中的人群不再受到地域和时间的限制,在网络空间中进行更加方便灵活的显式或隐式交互。正因如此,维基百科搭建了互联网用户共享、获取知识的平台,赋予了用户协作共建世界上最大知识社区的能力,大大超越了以往单一人群的知识边界。因此,群体智能的水平既受制于单一智能体的能力水平,又受内部的组织规则和信息交互能力的影响。而后者是群体智能系统的重要组成部分,对系统的有效性和稳定性的影响更加深远。伴随着新一代无线通信技术(5G)以及物联网技术的快速发展[9],越来越多的现实场景倾向于使用群体智能理念来构建系统模型,这些场景包括大规模无人机群的控制[10]、工业自动化控制[11]、移动群体感知和计算[12]、车联网控制以及分布式计算网络资源管理等。在这些场景当中,基于中心控制器的传统解决方案缺乏足够的实时性、鲁棒性和灵活性;而得益于通信网络的快速发展,可以尝试通过设计和利用分布式群体智能系统来提升这些场景中管理和控制方法的有效性。另外,群体智能中知识共享与协作的能力,也可以助力机器间的通信,更好地支撑万物智联的发展[13]。
群体智能的产生也被认为是智能体的相互作用自然涌现在群体层面的结果,这一现象也被称作智能涌现(Intelligence Emergence),已经得到广泛的分析和论证。目前最著名的用于分析智能涌现的研究模型是Boid模型[14]和Vicsek模型[15],通过分析和利用这些模型,人们可以观察到群体智能系统的智能涌现现象。智能涌现过程是一个从局部到整体的过程,涌现的最终结果无法直接通过观察单个智能体的行为来预先得到,具有不可预测性。群体智能的研究内容之一就是关注如何构建多个智能体之间的协作机制,目的是引发期望的智能涌现现象,其构建方法通常受到算法模型的启发。除此之外,单个智能体的行为策略往往是事先指定的,这种设置有利于对群体智能涌现的最终结果进行分析。然而,当单个智能体的行为策略无法事先指定,或者设计合适的行为策略成本较高时,传统的群体智能系统的设计方法就会受到严重限制。同时,群体智能水平在很大程度上也取决于群体内单个智能体的智能水平,限制单个智能体的行为策略也会对整个群体的表现造成影响。因此,在建立群体智能系统模型时需要考虑引入单个智能体的学习和进化能力,智能体的主要行为逻辑和大名鼎鼎的强化学习基本过程不谋而合。