基于情绪感染和深度强化学习的人群对抗仿真方法与流程

文档序号:21785458发布日期:2020-08-07 20:29阅读:241来源:国知局
基于情绪感染和深度强化学习的人群对抗仿真方法与流程

本发明涉及人群仿真和强化学习以及统计学领域,尤其涉及一种基于情绪感染和深度强化学习的人群对抗仿真方法。



背景技术:

随着人口的增多,大规模人群聚集,不法分子聚集起来滋事闹事甚至发生暴乱事件的情况频频出现,造成的损失伤亡令人触目惊心。所以如何在短时间且最小化损失的情况下平息战乱,维护社会安全是急需解决的重要问题。目前对于此类问题主要通过预先的人工演习和利用人群仿真模型解决。然而人工演习将耗费大量的资源,并且虽然演习能提高作战技能与熟练程度但对于一些突发的事件有时也不能迅速的想出作战计划。因此我们更倾向于利用仿真模型对人群行为进行研究,从而能够在事件发生时及时给出较优的解决方案。虽然目前人群仿真技术持续发展,在军事、交通及公共安全等多个领域广泛应用,但是对于大规模场景下高密度的人群仿真仍然是一个挑战。若使用传统的方法,在随时间变化的环境中,根据生活经验人为的为agents预先设置整体运动趋势,具体行为动作是不完全合理的,缺乏可靠性和真实性;而使用目前热门技术神经网络,虽然能够令agent(agent指能自主活动的人)自己学习,但是当研究人数过多时可能会造成维度爆炸、难以收敛等问题。因此,目前仍需要一种更加真实合理、易收敛且计算复杂程度低的人群仿真模型对人群行为进行研究,从而当暴乱事件发生时能够迅速对人群的运动进行规划指导。



技术实现要素:

本发明为了解决上述技术提供一种基于情绪感染和深度强化学习的人群对抗仿真方法。解决研究人数过多维度爆炸和难以收敛等问题。

为解决上述技术问题,本发明采用的一种基于情绪感染和深度强化学习的人群对抗仿真方法,包括以下步骤:

步骤1)、提取所有agent的人数信息;

步骤2)、随机给每个agent赋予id信息、初始位置、初始情绪值、初始奖励值和初始动作;

步骤3)、通过初始动作计算获得初始平均生理影响;

步骤4)、将人数信息、id信息、初始位置、初始情绪值、初始奖励值、初始动作和初始平均生理影响输入到神经网络中,获得t时刻agent的动作;

步骤5)、通过t时刻agent的动作计算获得t时刻agent平均生理影响;

步骤6)、通过t时刻agent的动作获得t时刻agent的位置和t时刻agent获得的奖励值;

步骤7)、根据初始情绪值计算获得t时刻agent的情绪值;

步骤8)、将人数信息、id信息、t时刻agent的位置、t时刻agent的情绪值、t时刻agent的动作、t时刻agent平均生理影响和t时刻agent获得的奖励值输入到神经网络中获得t+1时刻agent的动作;

步骤9)、重复进行步骤5)、步骤6)、步骤7)、步骤8)获得t+2时刻的动作,依次进行迭代训练若干次。

优选的,所述的所有agent包括有正方agent、反方agent和受害方agent。

优选的,将所述的所有agent分为若干个agent组,agent组中包括有中心个体agenti和中心个体agenti感知范围内的其他agentj。

优选的,所述步骤2)中赋予正方agent的初始情绪值为正数,反方agent的初始情绪值为负数,受害者agent的初始情绪值为零。

优选的,所述t时刻agent的动作包括有移动动作和攻击动作。

优选的,所述t时刻agent的情绪值包括有agent受外部环境刺激而产生的感染情绪和agent根据初始动作所产生的行为情绪。

优选的,使用one-hot编码表示中心个体agenti感知范围内的t时刻其他agentj的动作。

优选的,所述步骤3)中根据平均场理论将agent组中其他agentj对中心个体agenti的影响转化为一个整体的影响,计算获得t时刻agenti平均生理影响。

优选的,所述的神经网络为dqn神经网络。

优选的,所述的dqn神经网络采用梯度下降法反向更新dqn神经网络参数。

本发明是在将情绪感染与深度强化学习技术结合构建人群仿真模型的基础上引入平均场理论:

(1)研究暴乱事件下的人群行为时额外考虑情绪因素对人群认知行为的影响以及考虑周围人群行为对中心个体生理行为的影响,使计算得到的下一时刻的人群行为更加真实可信。

(2)在计算对平均生理行为的影响时引入平均场论,不再需要分别计算每个个体对中心个体的影响,而是将所有人对中心个体的影响统一计算,将原本复杂的多维问题转化为二维问题,这样极大的简化了计算过程,缩短计算时间;并且采用平均场论能够大幅度降低网络输入的维度,防止维度爆炸,保证算法快速收敛,从而确保为正方提供策略的及时性、有效性。

(3)运行深度强化学习,学习最优的策略,相比于传统的根据生活经验人为的预先设置整体运动趋势,具体行为动作的方式更加合理有依据。

从而当暴乱事件突发时,应用本发明能够快速的为正方agent提供策略指导,尽快制服反方agent避免场面失控,并获得较高的收益,从而维护社会的安全;同时本发明对真实的对战演练也具有很大的参考和学习价值。

附图说明

图1是本发明基于情绪感染和深度强化学习的人群对抗仿真方法的第一次训练流程图;

图2是是本发明基于情绪感染和深度强化学习的人群对抗仿真方法的第二次训练流程图;

图3是本发明基于情绪感染和深度强化学习的人群对抗仿真方法平均生理影响计算流程图;

图4是本发明基于情绪感染和深度强化学习的人群对抗仿真方法训练网络结构图。

具体实施方式

为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

需要说明的是,除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

实施例1、如图1-4所示,一种基于情绪感染和深度强化学习的人群对抗仿真方法,包括以下步骤:

步骤1)、提取所有agent的人数信息;所述的所有agent包括有正方agent、反方agent和受害方agent。将所述的所有agent分为若干个agent组,agent组中包括有中心个体agenti和中心个体agenti感知范围内的其他agentj。即agent组中可以包括有正方agent、反方agent和受害方agent。正方agent、反方agent和受害方agent都中的任何一个单一的agent都可以作为agenti,如果一个agent组的一个agent作为了中心个体agenti,那么在这个agent组中其余所有的agent均是其他agentj。可以根据视频中显示的信息将其分类,比如:警察是正方agent,暴徒是反方agent,路人等无关人群是受害者agent;不同类型的人群有统一的着装时从着装区分;如果着装无法区分就人为的通过观察区分,和警察对战的我们将其视为反方agent,其余为受害者agent。分类以后可以通过用不同颜色的人物模型以及他们的id编号来区分三方成员。

步骤2)、随机给每个agent赋予id信息、初始位置、初始情绪值、初始奖励值和初始动作;随机给每个人赋予初始情绪值emo,赋予正方agent的初始情绪值为正数,反方agent的初始情绪值为负数,受害者agent的初始情绪值为零。初始奖励值为零。

根据视频提取出每个agent的初始位置坐标(x.y),正方agent人数r总(i∈{1,...,n}),反方agent人数o总(j∈{1,...,m}),受害者agent人数v总(k∈{1,...,s});以及每个人的初始动作act。

步骤3)、通过初始动作act计算获得初始平均生理影响;可以根据下文步骤5)中的计算方法进行计算。

步骤4)、将人数信息、id信息、初始位置、初始情绪值、初始动作、初始奖励值和初始平均生理影响输入到神经网络中,获得t时刻agent的动作(t表示时刻,i代表agenti);

步骤5)、通过t时刻agent的动作计算获得t时刻agent平均生理影响;one-hot编码表示中心个体agenti感知范围内的t时刻其他agentj的动作。根据平均场理论将agent组中其他agentj对中心个体agenti的影响转化为一个整体的影响,计算获得t时刻agenti平均生理影响。

计算中心个体agenti感知范围内的其他agentj的动作对中心个体agenti生理行为的影响。将中心个体agenti感知范围内的其他agentj在t时刻的动作表示为(n表示动作的种类数,m表示其他agentj的总人数。)用one-hot编码表示。在agent组中任何一个agent都可以作为中心个体agenti,选任一个agent作为中心个体agenti后,其余的agent自动变为其他agentj。

利用平均场理论,将其他agentj对中心个体agenti的影响转化为一个整体的影响,相当于两个个体在交互,缩短计算时间,大幅度降低网络输入的维度,有利于算法收敛。将中心个体agenti感知范围内其他agentj的行为编码列表,行表示动作的种类数,列表示其他agentj人数,然后按列求平均,通过计算得到平均生理影响,每个人的平均生理影响计算都是如此。计算可得一个m行n列的概率分布列表:指的是在中心个体agenti感知范围内的其他agentj的行为分布,prob对于中心个体agenti的生理行为具有一定影响,因为人们会倾向于模仿自己看到的行为,所以我们认为中心个体agenti会选择prob中最大值所对应的行为动作去执行。

步骤6)、通过t时刻agent的动作获得t时刻agent的位置和t时刻agent获得的奖励值;

t时刻agent的动作包括有移动动作和攻击动作。当agent执行的是攻击动作,那么agent会根据选择攻击对象,移动到对象的位置;如果agent获得了具体的移动动作,则会朝着该目标位置移动,初始位置会随着变为t时刻agent的位置。

根据t时刻agent的动作获取不同的奖励值,例如当t时刻agent的动作是移动动作时,获得-0.005的奖励值,当t时刻agent的动作是攻击动作时获得-0.1的奖励值,攻击动作令对方失去攻击力获得5的奖励值,被攻击自己失去攻击力获得-0.1奖励值。由此获得t时刻agent获得的奖励值。

步骤7)、根据初始情绪值计算获得t时刻agent的情绪值;t时刻agent的情绪值包括有agent受外部环境刺激而产生的感染情绪和agent根据初始动作所产生的行为情绪。感染情绪是受外部环境因素(周围人与自己的距离以及周围人的情绪值)所产生的情绪值,行为情绪指是根据周围人群采取某种行为所获得的收益值的影响从而产生的情绪值;感染情绪与行为情绪加和表示agent的情绪值。

受外部环境刺激而产生的感染情绪采用公式:

进行计算,其中l表示中心个体agenti和其他agentj之间的距离,ei表示中心个体agenti的情绪,aj,i是中心个体agenti从其他agentj接收的情绪强度,而bi,j指从其他agentj发送到中心个体agenti的情绪强度。指的是的感染情绪。exp(-l)表示的距离的指数函数。

假设受害者agent的情绪只能被影响,他们的情绪不能影响其他人。计算公式为:

其中分别表示正方agent和反方agent对受害者agent情绪影响的增量,即表示受害者agent在t时刻情绪的变化量。

通过执行动作获得的行为情绪收益值计算,agenti在t-1时刻与t时刻的收益差表示为δbenei(t)=benei(t)-benei(t-1),该情绪值的变化量表示如下:

行为情绪的计算通过公式:

设置参数δ表示情绪波动阈值,若是收益差上下浮动值在(-0.01,0.01)内,认为此时没有产生情绪差,若是收益差大于阈值,收益增加,正方agent变得更加积极,情绪值增加;反方agent则变得更消极,情绪值降低,此时他们的情绪变化量按第二个式子计算。同理,若收益差小于阈值,按第三个式子进行计算。

步骤8)、将人数信息、id信息、t时刻agent的位置、t时刻agent的情绪值、t时刻agent的动作t时刻agent平均生理影响和t时刻agent获得的奖励值输入到神经网络中获得t+1时刻agent的动作;神经网络为dqn神经网络。dqn神经网络采用梯度下降法反向更新dqn神经网络参数。

步骤9)、重复进行步骤5)、步骤6)、步骤7)、步骤8)获得t+2时刻的动作,依次进行迭代训练若干次。再迭代训练时,是对得出时刻的动作进行替换,例如得到t+2时刻的动作以后,在步骤5)中t+2时刻的动作代替上一步的t+1时刻的动作进行计算获得t+2时刻的平均生理影响,同理,在步骤6)中t+2时刻的动作代替上一步的t+1时刻的动作进行计算获得t+2时刻agent的位置和t+2时刻agent获得的奖励值;在步骤7)中t+1时刻的情绪值代替上一步的t时刻的情绪值进行计算获得t+2时刻agent的情绪值;然后将这些获得的数据再通过步骤8)获得t+3时刻的动作,进行迭代训练即可。

如图4中,在第一次输入的数据中input-1:指的是人数信息。input-1作为第一层卷积conv1的输入。第一层卷积conv1和第二层卷积conv2将input-1变换为列表的形式,输入到第一个全连接层dense1中。

input-2:包括有id信息、初始位置、初始情绪值、初始动作、初始奖励值和初始平均生理影响;input-2输入到第二全连接层dense2中。

input-prob:指的是初始平均生理影响,作为input-prob输入第四全连接层dense4中,第四全连接层dense4输入到第五全连接层dense5中;

第一个全连接层dense1与第二全连接层dense2相连输入到第三全连接层dense3,第三全连接层dense3和第五全连接层dense5相连输入到第六全连接层dense6中,第六全连接层dense6输入到第七全连接层dense7中,最终由输出层output输出。

将这三个输入的值在dqn神经网络采用梯度下降法,使用损失函数,通过最小化损失值,反向更新网络参数,优化网络,输出层output得到q值,通过q值选出t时刻agent的动作。

在第二次输入的数据中,input-1:指的是人数信息。

input-2:包括有id信息、t时刻agent的位置、t时刻agent的情绪值、t时刻agent的动作和t时刻agent获得的奖励值。

input-prob:指的是t时刻agent平均生理影响。

获得t+1时刻agent的动作。

同理,第三次输入的数据中input-1:指的是人数信息。

input-2:包括有id信息、t+1时刻agent的位置、t+1时刻agent的情绪值、t+1时刻agent的动作和t+1时刻agent获得的奖励值。

input-prob:指的是t+1时刻agent平均生理影响。

获得t+2时刻agent的动作。

重复这种计算迭代训练300-500次,优选迭代400次,即可获得最优模型。将模型存储,既能及时的为作战双方提供策略指导,也能作为日后仿真演练的参考资料。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1