1.一种面向MADDPG多智能体强化学习模型的可视分析方法,其特征在于,包括如下步骤:
步骤1:选取一款合作类游戏作为MADDPG模型的运行环境,并定义相关的参数集合;
步骤2:训练MADDPG模型,保存并计算重要的中间数据;
步骤3:设计标签板,标识智能体和地标;
步骤4:设计统计视图,包括平均Q值子视图、平均A_loss子视图和平均奖励子视图,展示MADDPG模型的训练统计信息随时间变化的情况;
步骤5:设计评论家行为视图,用于评估模型学习得到的评论家的性能;
步骤6:设计交互视图,包括距离子视图、奖励子视图和故事流子视图,提供在某一轮中智能体和地标交互情况的概览和细节,揭示不同智能体的行为模式。
2.根据权利要求1所述的面向MADDPG多智能体强化学习模型的可视分析方法,其特征在于,步骤1包括:
选择一个合作交流或合作导航的合作类游戏环境,所述环境中包含N个智能体和L个地标;设置相关参数,包括学习率learning_rate、折扣因子γ、轮数EN、每一轮的最大时间步数max_step、批大小batch_size和多层感知器中的隐藏单元数大小HUN。
3.根据权利要求2所述的面向MADDPG多智能体强化学习模型的可视分析方法,其特征在于,步骤2包括如下具体步骤:
步骤2.1:训练MADDPG模型:对MADDPG模型进行EN轮训练,在每一轮中,首先初始化一个初始状态,然后根据最大时间步数max_step的大小迭代执行四个阶段:执行阶段、观测阶段、评论家更新阶段和行动者更新阶段,所述评论家更新阶段和行动者更新阶段间隔一定时间步数执行一次。
步骤2.2:保存并计算中间数据:在执行阶段,保存每一轮的奖励值,同时保存每一轮每一步中所有智能体和地标的环境位置和所有智能体共享的奖励值;在观测阶段,保存经验回放池中的数据,包括:多层感知器模型最后一个隐藏层的激活值、每个智能体的评论家预测得到的Q值和从经验回放池中采样得到样本中所有智能体和地标的位置;在评论家更新阶段,保存每一轮的Q值;在行动者更新阶段,保存每一轮的损失值A_loss。
4.根据权利要求1所述的面向MADDPG多智能体强化学习模型的可视分析方法,其特征在于,步骤3包括如下具体步骤:
在标签板中,用不同颜色的圆表示不同的智能体和地标,所述智能体用较大的圆标识,所述地标用较小的圆标识。
5.根据权利要求3所述的面向MADDPG多智能体强化学习模型的可视分析方法,其特征在于,步骤4包括如下具体步骤:
基于保存得到的每一轮的Q值、A_loss值和奖励值,计算得到每隔200轮的平均Q值、平均A_loss值和平均奖励值;采用三个折线图分别显示平均Q值子视图、平均A_loss子视图和平均奖励子视图;平均Q值子视图和平均A_loss子视图的折线数量与智能体的数量一致,每条线表示某个智能体的Q值/A_loss值的变化情况;线条的颜色与标签板中智能体的颜色保持统一;平均奖励值采用黑色的折线来表示;当用户选择统计视图中某个特定的轮次时,更新评论家行为视图和交互视图。
6.根据权利要求3所述的面向MADDPG多智能体强化学习模型的可视分析方法,其特征在于,步骤5包括如下具体步骤:
步骤5.1:收集不同轮次下每个智能体经验回放池中样本的状态;对于选定的轮次X,从X‑200轮开始,每隔20轮,收集一次多层感知器最后一个隐藏层的激活值;每个智能体能收集到batch_size*10个样本的激活值;对于具有N个智能体的游戏,特征矩阵定义为hdata∈(batch_size×10×N)×HUNR ,hdata中的每一行数据对应于一个具有HUN维特征的样本;采用t‑SNE降维方法将hdata投影到二维空间,得到降维后的矩阵rdata,同时保存原始的智能体ID和由评论家预测得到的Q值;
步骤5.2:基于rdata、Q值和智能体ID,渲染得到评论家行为视图;一个点代表某个智能体经验回放池中的一个样本,点的位置由rdata决定,采用根据类别或者Q值为点赋值颜色:根据类别来赋值颜色,点的颜色和对应智能体在标签板中的颜色一致;根据Q值来赋值颜色,点的颜色通过一种渐变的配色方案来编码;
步骤5.3:为用户提供两种方式来过滤得到重要的点;第一种:选择视图提供的蓝噪声采样模型来自动过滤点:输入采样率,视图将调用蓝噪声采样算法来自动重采样点,当采样率为1时,保留所有的原始点,不进行采样;第二种:通过修改Q值的范围来过滤样本点:只显示Q值落在该范围内的点;点击评论家行为视图中的一个点时,显示对应的Q值和全局环境图;全局环境图根据所有智能体和地标的位置绘制得到。
7.根据权利要求1所述的面向MADDPG多智能体强化学习模型的可视分析方法,其特征在于,步骤6包括如下具体步骤:
步骤6.1:数据预处理;
步骤6.1.1:假设地标j的位置为pos_lj,智能体i在时刻t的位置为 计算得到智能体i在时刻t到地标j的距离dis(i,j,t),用于距离子视图;
步骤6.1.2:将智能体活动的空间范围划分为n×n的网格,每个网格的ID用gk表示;根据智能体的位置,计算得到智能体所位于的网格;在不同时间步下,智能体i所在的网格被记为一个位置时间序列: 其中 表示智能体i在时刻t所在的网格ID;地标j的位置时间序列表示为 表示地标j在时刻t所在的网格ID,用于故事流子视图;
步骤6.2:设计距离子视图;距离子视图可视化在一轮的不同时间步下每个智能体到不同地标的距离,N个智能体对应于N个折线图,每个折线图包含L条线,代表当前智能体在不同时间步到不同地标的距离;X轴代表时间步,Y轴代表由dis(i,j,t)计算得到的距离值;线的颜色和标签板中的地标颜色相对应;
步骤6.3:设计奖励子视图;奖励子视图展示在一轮的不同时间步下奖励值的变化,X轴代表时间步,Y轴代表奖励值;所述奖励子视图只包含一条线;
步骤6.4:设计故事流子视图。
8.根据权利要求7所述的面向MADDPG多智能体强化学习模型的可视分析方法,其特征在于,步骤6.4包括如下具体步骤:步骤6.4.1:将智能体和地标都称为实体,由E={ei},(0≤i<N+L)所表示,将所有实体的位置时间序列转化为一个交互会话的集合:I={i1,...,ip,...,in},一个会话ip表示一段时间内多个实体在某个位置上的交互,包含开始时间stp、结束时间etp、成员和网格ID gk,成员Mp表示参与某个交互会话的实体集合;一个网格内所包含的成员发生变化表示一个新的交互会话的开始;
步骤6.4.2:渲染故事流子视图;水平轴表示时间,每个实体被一种颜色的线条所表示,线条的颜色与标签板中的颜色定义一致;每个网格也用一种颜色赋值,由一种颜色填充的轮廓表示一个网格,在轮廓上方标识网格ID;如果一条线在一段时间内位于一个轮廓区域内,表示该实体在该段时间内出现在一个网格内;如果多条线在一段时间内被同一个轮廓所包围,表明相应的实体在该段时间内位于相同的网格中;线的聚合或发散表明一个交互会话的开始或结束,亦表明实体的交互关系发生了改变;
步骤6.4.3:在故事流子视图下渲染了一条显式的时间轴,当用户点击时间轴上的一个点时,在时间轴下方添加一个所选时间步的全局环境图,用于展示所有智能体和地标的空间位置,同时显示多个时间步下的全局环境图以辅助观察一个连续的交互过程。