投稿问答最小化  关闭

万维书刊APP下载

基于 AI 的人群仿真课程教学设计与实践

2022/10/20 11:29:45  阅读:123 发布者:

0 引 言

建国 70 周年、建党 100 周年等大型庆祝活动经常会涉及大规模的人群集结与疏散。在正式活动开始之前一般要进行不同规模的演练以检验安保、志愿者服务、现场救援等环节的万无一失,这就使得大型活动现场全要素演练对安保和观礼人员的组织要求较高,同时由于安保原因,观礼人员的规模也会受到限制,因此仅仅通过有限规模的演练无法复现和评估实际场景下的大量人员集结和疏散效果。仿真技术借助于人群仿真算法、引擎技术和计算机技术,可以实现大规模人群集结与疏散仿真,仿真结果可用于不同场景下人群集结和疏散方案评估和方案优选,因此仿真技术成为大规模人群集结疏散的主要手段。传统的人群仿真借助社会力模型 [1]、元胞自动机模型 [2] 等模拟人群行为和路径规划,在遇到复杂场景时需要精细的路径规划设计和避障措施,另外模型参数较多,且有些参数随着场景变化而变化,模型参数标定难度大。

人工智能的迅猛发展为仿真技术带来了新的发展契机。传统的人群仿真大多是基于模型的,而结合人工智能的仿真是基于数据驱动的。基于AI 的仿真和人群仿真相结合是未来的趋势,尤其是基于智能体的强化学习 [3],行人(智能体)通过不断与环境交互,鼓励探索,从而学习到足够的经验,然后利用这些经验训练获得最优的决策(行为)。行人通过学习训练获得的序贯决策(一系列动作)类似于机器人行为,在复杂场景下具有明显的优势。对于多集结点人群的集结疏散,如对于多领队—跟随者(leader-follower)以小组(group)的形式进行多目标集结的问题,采用传统的基于模型的仿真就无能为力,而基于多智能体强化学习的仿真就能很好地求解该问题。这种将传统的人群仿真模型与基于智能体的强化学习相结合的方法,为人群仿真学科发展和研究提供了新的视野。

人群仿真作为数字表演与仿真技术学科的一个分支,也属交叉学科。课程的目标是为了培养具有计算机背景的数字媒体技术专业人才。本课程是专为这类学生所设计,旨在提供一个学习研究平台,该平台除了社会力模型等传统的人群仿真模型,还能嵌入各种强化学习算法。平台借助于 OpenAI Gym 环境,快速生成仿真训练所需的场景,然后利用实验室的服务器进行训练,获得最优路径规划和避障决策。

1 课程教学现状与问题分析

1.1 教学对象的专业背景差异大

人群仿真课程面向数字媒体专业的本科生和研究生开设,部分学生有一定的计算机基础和数字媒体技术专业背景,还有部分学生是非计算机专业背景,大部分学生对人工智能有一定的了解但也是仅仅停留在概念上,对机器学习的了解参差不齐,没有经过实际训练操作,对强化学习算法不愿做深入研究,学习兴趣不浓厚。

1.2 教学实践内容欠缺

教学过程中过于注重理论讲解,而强化学习理论过于抽象,纯粹的理论推导和讲解会让学生感到枯燥,不容易接受。教学演示实验大多是大型活动的总结性演示,偏重于解决大型工程问题,实际的大型活动由于人群规模大,场景范围大且复杂,包含大量环境要素,导致场景验证性数据很难获取,学生很难根据这些演示实验去构建仿真训练环境,因此如何从大型活动观摩演示性实验中提炼研究课题,抽取适宜的环境模型,构建相应的学习研究平台是值得研究的课题。

1.3 教学内容亟待升级

传统的人群仿真教学内容基于 10 年前的行人行为算法和路径规划,虽然随着动捕穿戴设备、三维重建的发展在数字表演动作捕捉、表演行为建模方面取得一定的成果,但是与人群仿真方面的结合还比较欠缺,这是由于人群行为更复杂、随机性更强,因此人群仿真学科教学内容升级迫在眉睫,尤其是融入智能体强化学习基础理论 [4],行人在不断探索环境中积累经验保证一定的随机性,根据积累的经验学习训练做出最优动作(决策)。在路径规划方面借鉴机器人先进成果,结合计算机视觉技术,利用行为克隆或模仿学习获得回报函数,从而避免定义回报函数的主观性,进而避免训练陷入局部最优。

2 课程内容设计

2.1 设计原则

1)注重个性化、层次性培养,按照学生的不同层次和教育背景设计教学课程体系,既要满足计算机专业背景的学生需求,又要兼顾非计算机专业背景的学生,因材施教。

2)理论兼顾实践,在课程内容设计上兼顾理论、算法诠释,加强实践内容设计。对于部分难以理解的理论和算法,借助于开源平台 Gym已有的案例,让学生重点关注不同强化学习算法的对比,而不是训练环境。

3)由浅入深夯实基础,在讲解强化学习基础理论前,对机器学习的监督学习设计案例,让学生自己动手编写代码理解网络定义、损失函数、梯度下降,逐步理解基础的 Q-学习算法。从列表式 Q-学习过渡到深度神经网络价值近似的 Q- 学习,从单智能体强化学习算法到多智能体强化学习算法,从基于模型的规划到无模型的学习,都是引导式的由浅入深的学习。然后针对不同算法的缺陷,理解不同的强化学习算法改进和完善。最后能掌握将基于模型的规划与无模型的学习相结合的方法,提高学习训练中采样效率。

2.2 实验前的知识储备

实验主要通过强化学习算法实现在复杂场景下的人群疏散仿真,实验的综合性和实践性较强,学生在试验前,需要了解强化学习训练步骤,理解 DQN[5]MATD3[6]MAMBPO[7] 算法,掌握 Python 程序设计方法等基本知识。

2.3 行人建模仿真平台简介和场景设计

行人建模仿真平台使用 pybox2d 作为物理引擎,使用 pyglet 进行渲染并接入 Gym 接口以供后续的算法进行训练,我们预设 3 个行人疏散场景并分别称它们为“1e”“2b4e”。3 个环境的空间大小为 15m×15m,行人在一个指定区域内生成并被要求只能通过其给定的出口疏散,因此领队需要通过一个合理的策略避开其他组的行人并规划出一条路径到达给定的出口,其中“1e”是一个无障碍物的简单环境,“2b4e”是一个在地图上下两侧存在一堵较宽的墙的有障碍物场景。

2.4 实验设计

1)使用 DQN 算法训练让单个智能体疏散到指定的撤离点。该实验设计的目的是让初学者对整个实验的训练流程有一个初步的了解,包括行人疏散场景地图的设计、算法智能体的创建与对地图的训练。

2)使用 MATD3 算法在“2b4e”场景下对 5个智能体进行训练。该实验设计的目的是让学习者对多智能体算法的训练流程和对多智能体强化学习算法如何控制行人进行集结疏散有一定的了解。

3)使用MAMBPO算法在“2b4e”场景下对5个智能体进行训练,并与实验二中的MATD3训练的结果进行对比。该实验设计的目的是让学习者对基于模型的多智能体强化学习算法的训练流程有一定的了解,并体会到基于模型的 MAMBPO 算法相较于 MATD3 算法在采样效率上的高效。

2.5 内容设计

1)首先根据强化学习算法环境的基本接口,结合行人建模仿真平台提供的相关数据,设计提供给强化学习算法用于训练的状态空间、动作空间和奖励函数。一种可供参考的设计方案为:状态空间考虑当前行人的位置(xy),当前行人的速度(vxvy),距离出口的相对位置(dxdy),当前行人所受的社会力(fxfy)。动作空间应该施加给行人自驱动力。奖励函数为行人每在环境中停留一步就得到 -1 的奖励,当行人到达给定出口后不得到奖励。

2)使用相应的算法类并设置好算法的超参数信息后,在仿真场景下收集经验并进行训练。以下是使用 DQN 算法对一个地图进行训练的代码:

3)训练结束后,会将训练好的模型和相应的训练结果保存为文件,此时可以通过评估场景的方法查看算法控制行人疏散的实际效果,也可以通过使用相应的绘图程序绘制奖励与 episode的曲线。

4)仿真平台已预置好两张默认地图供学习者使用,同时也提供了相应的地图编辑程序供学习者自定义地图。在一次编辑过程中,需要指定行人的初始生成位置、行人的集结点、地图中存在的障碍物等信息,编辑结束后地图将保存为数据文件供后续调用。

3 教学方法及实践效果

3.1 教学方法

基于 AI 的人群仿真课程既要了解传统的人群仿真模型如社会力模型,还要学习各种强化学习模型及算法,教学对象有计算机专业背景和非计算机专业背景,教学难度较大,因此教学方法上要分清主次,重点突出。在讲解理论部分时以智能体强化学习作为重点,同时结合社会力模型的自驱动力算法;在案例教学部分,从简单的粒子系统过渡到人群仿真系统,增加仿真的实用性。

3.1.1 理清理论部分脉络

在讲解理论部分时,要突出重点、分清脉络,如讲解深度 Q 学习网络(DQN)时,从两条线展开。这两条线分别为基于模型的动态规划(Dynamic ProgrammingDP)和无模型的学习,如图 1 所示。一是突出对重要概念的把握,特别是求解一个 MDP 问题或者一个强化学习序贯决策问题,介绍状态、动作、策略、模型等概念,从基于模型的贝尔曼期望方程入手,学习两种迭代方法:策略迭代和值迭代。由于策略迭代包含策略评估和策略提升,对于后面学习中理解无模型的算法有帮助,重点放在策略迭代上。二是当智能体对模型完全没有认知(无模型)的情况下,如何从环境中学习从而达到求解 MDP 的目的。首先通过蒙特卡洛方法引入状态价值的评价,鼓励智能体不断探索环境学习更新价值。为了减少随机探索导致的方差引入时间—差分算法(TD 算法),学习两种 TD 算法 [4],分别是 SarsaQ-Learning 算法,并比较了二者的差异,然后把重点放在对 Q-Learning 的理解上。通过这两条线,既掌握概念,又明确算法学习的重点。从策略迭代的无模型规划到列表式的无模型学习,层次清晰,重点突出。当状态空间较大时,列表式Q- 学习需要结合深度神经网络顺利过渡到 DQN,这里又涉及神经网络的输入和输出如何跟状态空间输入、 Q 动作价值函数输出的关联问题,此外采用经验回放和固定目标网络 2 个策略保证训练的收敛稳定问题。DQN 是无模型强化学习的基础,从概念到算法乃至训练整个过程的学习,需要花费较多的学时,是理解强化学习的基础。

除了图 1 所示的学习路线,还有另外一个重点的脉络需要学生理解,那就是基于策略的强化学习和基于值函数的强化学习。重点掌握两个代表性的算法:基于策略的 PPO 算法和一个基于值函数的 SAC 算法,这两算法是非常重要的强化学习算法,实际上都演化为基于 A2C(既有值函数参数,又有策略参数)的算法。

在针对研究生教学时,还要掌握将基于模型的规划算法和无模型的学习算法相结合的强化学习方法,代表性的是 MBPO 算法。研究生还要求掌握多智能体强化学习,代表性的算法是 MAMBPO,如图 2 所示。

3.1.2 由浅入深注重案例实践

为了帮助学生理解公式和算法,还需要设计一系列由浅入深的实验教学。实验设计的原则是由浅入深,既反映主要涉及的知识点,同时又存在一定的关联。这些实验借助于 OpenAI Gym 训练环境,使得学生不必要把精力放在训练环境的开发上,而是专注于模型和算法的理解。通过这些实验,不仅能掌握贝尔曼期望方程的意义,还可了解各个实验之间的联系进而认识算法之间的关系。表 1 给出了由浅入深 7 个实验。这 7 个实验中,前 2 个环境简单,重在理解求解贝尔曼方程的策略迭代法和基于模型的列表式 Q-Learning 算法;后 4 个实验基于 Gym 环境,其中实验 3 理解 Sarsa Q-Learning 算法的区别,实验 4 掌握基于深度神经网络的 Q 值近似方法,实验 5 掌握基于 Actor网络和 Critic 网络同时训练策略参数和 v 值参数的方法,实验 6 掌握 DQN 的改进算法 DDPG TD3,不仅充分利用 DQN replaybuffer,还同时训练 2 Q 值,避免 Q 值的过估计和策略的崩溃。实验7基于Gym的扩展平台进行多智能体强化学习算法的训练,平台充分考虑基于model 的算法,可提高采样效率,同时耦合行人自驱动力,可用于行人疏散仿真。

3.2 实践效果

3.2.1 单智能体仿真效果

为了演示课程教学效果,给出双出口多障碍场景的仿真结果。仿真场景为 10m×10m 的室内空间,设置了 3 道围墙障碍物、 2 个疏散通道,四面都是围墙。100 个智能体随机分布,如图 3所示。行人密度不超过 7ped/m2

3.2.2 多智能体仿真效果

仿真场景为单出口场景,包含一个大厅,一个长走廊,在大厅和过道之间有几堵墙(图中蓝色部分)和门,出口在走廊尽头。人群在大厅内产生,包含 18 leader,每组 3 个人,共 54 个人。行人通过两个出口(门),然后通过走廊朝着目的地(图中的红色出口)疏散。图 4 所示为疏散效果,图 5 所示是不同多智能体强化学习算法(MAACMASACMATD3MADDPG)的平均回报值。

通过该课程教学,取得如下的效果:①课程知识脉络清晰,易于理解掌握;②传统方法和智能相结合,促进仿真学科发展;③案例由浅入深,实用性强;④场景设计基于图编辑,易于上手;⑤算法经过实验标定,调参合理。

4 结 语

根据数字表演与仿真技术交叉学科的需要,我们基于智能体强化学习和自驱动力模型开发了适合人群仿真的教学和研究平台,设计了一系列由浅入深的实验教学案例。利用强化学习进行行人路径规划和避障等一系列行为最优决策,是人群仿真研究的有益探索。实践表明,该方法将传统人群仿真方法与人工智能相结合,可促进人群仿真学科的发展。下一步将考虑在人群仿真中引入考虑行人社交关系的图神经网络和相应的识别技术,进一步提升仿真结果的可信性。

参考文献:

基金项目:国家重点研发项目(2018YFB1403900)。

第一作者简介:金乾坤,男,北京理工大学副教授,研究方向为强化学习、人群仿真和高性能计算,jqk@bit.edu.cn

引文格式:金乾坤,杨清杨. 基于 AI 的人群仿真课程教学设计与实践[J].计算机教育,2022(10):7-11.

转自:计算机教育”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com