这是一篇通过GAN和系统动力学对人类移动进行建模的论文。
Introduction
研究人类运动行为建模的三种方法,
本篇文章完成的工作:
(1)首次尝试用系统动力学来模拟移动代理的状态转换,从决策的角度来描述人类运动的状态转换,并在GAIL框架下学习运动政策。
(2)考虑系统的随机动态建模时的状态转换,并提供不同的可能的方法来整合系统动力学的见解。
定义
(1)state:agent的状态包括出行者的信息。
(2)action:agent的移动方向.
(3)Agent:即旅行者。
(4) System dynamics:输入当前状态和动作,输出下一个系统的状态。
(5)Objective:目标是最小化观察到的出行者运动轨迹与模型生成的出行者轨迹之间的差异,即生成的轨迹逼近真实轨迹。
Mthod
1.obview
模型结构如图所示,
G
δ
\mathcal{G}_{\delta}
Gδ,输入:系统状态
S
S
S,输出:对每个agent的物理约束g。
π θ \pi_{\theta} πθ,输入:观测到的轨迹,物理约束 g t g^{t} gt,输出:动作分布 π θ ( a ∣ s ) \pi_{\theta}(a|s) πθ(a∣s),并从中产生预测动作 a ^ t \hat{a}^{t} a^t;用RNN表示。
s t , a ^ t , s^t,\hat{a}^t, st,a^t,系统状态 S t S^t St,这些可以生成agent的下一个状态,进而可以生成运动轨迹 τ G \tau^{G} τG。
使用GAIL框架对模型进行优化,优化目标为,
H
(
π
θ
)
H(\pi_{\theta})
H(πθ)是熵正则化项。
2.Stochastic System Dynamics
系统动力学G以系统约束G的形式影响agent的运动,包括时间和空间约束。作者主要考虑了时间约束的影响。
作者将g作为Beta分布的样本,
3.Policy Network
策略网络包含三个部分:1)Observation Embedding。2)Recurrent encoding。3)Action prediction。
(1)Observation Embedding
其中,o是某个位置的其他特征。
(2)Recurrent encoding
RNN,输入是过去某个时间步内的观察值序列。
(3)Action prediction
动作预测模块以编码器RNN的输出和系统动态约束gt作为输入。最后的动作从pA中取样获得,
4.Discriminator and Dynamics Judger
鉴别器网络采用与策略网络相似的网络结构,π中的动作预测模块被一个带有MLP的二元分类器所取代。
更新鉴别器参数的损失函数:
但是,状态的生成过程导致反向传播不能更新
π
θ
\pi_{\theta}
πθ的值,因此,通过信赖域策略优化(TRPO)学习πθ,其替代奖励函数由等式(1)表示为:
(不懂这段是什么意思。。。)
5.Dynamics judger
纳入系统约束后,作者提出了一个新的内在奖励条件:
最终训练
π
θ
\pi_{\theta}
πθ的奖励函数为:
其中η是一个超参数,它平衡了满足物理约束和模拟真实轨迹的目标。
6.训练
先是初始化 G , π θ , D ψ \mathcal{G},\pi_{\theta},\mathcal{D}_{\psi} G,πθ,Dψ的参数,然后预训练 G \mathcal{G} G。然后对于生成的轨迹 T G \mathcal{T}^G TG,先是根据TRPO策略更新G的参数,然后再更新D的参数 ψ \psi ψ,最后,训练 G \mathcal{G} G,使用agent在每个地方停留的时间作为标签,并从location中提取特征构造数据集,这些特征包括ID,time,该地点的agent数量。
实验
使用了两个数据集:Themepark和routecity。
1.Baseline模型
(1)随机行走。
(2)马尔可夫模型 :RNN模型被广泛用于通过建模时空历史运动来预测下一个位置。
(3)GAN。
(4)GAIL:通过学习具有生成性对抗网络的决策策略,明确考虑代理人的行为。与作者提出的模型不同,GAIL使用前馈网络,不考虑系统动力学。
2.Tasks and Metrics
(1)Next location prediction.
(2)轨迹生成。
评估轨迹生成的性能:
平均位移误差(ADE)、最终位移误差(FDE)、
3.结果
总之,效果更好。
结论
在本文中,我们提出了一个新的视角,将人类在空间运动的状态转换建模为一个决策过程,并用系统动力学学习决策策略。