本文作者提出了一个基于生成对抗模拟学习的框架来生成人类移动轨迹,本文的贡献如下:
(1)第一个通过神经微分方程来捕捉潜在时空动态。
(2)基于GAIL提出了一个活动模拟框架,将活动决策建模为时空点过程。
(3)大量的实验表明本文的方法优于其他所有的方法。
一、预备知识
时空点过程:
定义一个事件在某个时间某个地点发生的强度函数:
其中,
B
(
x
,
Δ
x
)
B(x,\Delta x)
B(x,Δx)代表x周围的一个小球。
对于有在
[
0
,
T
]
[0,T]
[0,T]时间内发生N个事件的历史事件序列,其联合对数似然可以计算为:
即在
[
0
,
T
]
[0,T]
[0,T]时间内,N个事件发生的概率除以该时间段内所有事件发生的概率。
生成对抗模拟学习
GAIL是一种来自模仿学习的方法,其目标函数为:
π
θ
\pi_{\theta}
πθ是专家序列。
(什么意思
序列决策过程
定义个人活动决策为一个markov决策过程,其包含五个部分,分别为:
(1)state:是以系列历史活动。
(2)action:选择下一个活动。
(3)state transition:状态转移矩阵。
(4)时空动态:被定义为两个连续活动之间的隐状态的演变,这种演变是连续的。
(5)reward函数:未知,需要被学习。
二、模型
模型的架构如图所示,
它包含三个主要部分,1)时空动态模块,通过神经时空点过程建模。2)策略函数
π
θ
\pi_{\theta}
πθ。3)鉴别器
D
ϕ
D_{\phi}
Dϕ。
时空动态以观测值为输入,输出一个连续时间内的嵌入过程,用神经微分方程来描述时空连续特征。
策略网络
π
θ
\pi_{\theta}
πθ以状态s和时空动态g为输入,生成一个动作a。
2.1 学习时空动态
2.1.1 时间动态
h
(
t
)
h(t)
h(t)是通过神经跳跃随机微分方程来建模的,类似于循环神经网络。
h
(
t
)
h(t)
h(t)可以看做是对历史的总结和对未来预测的条件。连续流和瞬时更新可以表现为:
fh是MLP,gh由GRU来建模来更新隐状态。
2.1.2 空间动态
用连续归一化流来建模条件空间密度
p
(
x
∣
t
)
p(x|t)
p(x∣t)。和时间动态类似,空间动态也是连续流和瞬时更新的。时空动态可以建模为:
fx由连续归一化流来建模,gx是标准线性流。
2.2 策略设计
策略是基于条件强度函数的:
为了更加具体的计算,将条件强度函数进行分解得到:
λ
∗
\lambda^*
λ∗是时间过程的强度,
m
(
k
∣
t
)
m(k|t)
m(k∣t)是在t下活动类别k出现的概率,
p
(
x
∣
t
,
k
)
p(x|t,k)
p(x∣t,k)是在t,k条件下,空间位置x的条件空间强度。
前两项的计算公式为:
L
λ
L_{\lambda}
Lλ是由MLP+softplus非线性层组成的。
2.3 Discriminator
输入为
(
s
,
g
,
a
)
(s,g,a)
(s,g,a)三元组,用LSTM来嵌入S(因为这是一个有关状态信息的序列),用一个embedding层来嵌入动作信息a,然后将以上两值和g进行拼接,作为discriminator的输入。损失函数为:
reward函数可以表示为:
也就是,希望生成的数据D预测为真的越多越好。
2.4 混合训练技术
似然函数为:
ActSTD使用最大似然学习时空动态的参数,使用对抗学习训练policy和reward函数。
一共列举了三种训练方法:
(1)预训练。用MLE预训练时空动态,用PPO算法训练policy网络,用二分类任务训练D。
(2)混合训练。三者都在同一过程中训练,其中时空动态用MLE训练,policy网络和D用对抗学习训练。
(3)联合训练。时空动态嵌入到policy网络中,并一起用PPO算法训练。
三、实验
实验指标分为两类,一类为数据集指标,另一类为个人指标。
数据集指标分为以下几种:
(1)Distance。(2)Radius。(3)Interval。(4)Dailyact,每个人一天的活动数量。(5)Acttype:每个活动的概率分布列。
用JSD散度来计算生成数据和真实数据之间的相似度。
对于个人层面的衡量,用预测精确度。预测的是活动类别和空间位置。
3.1 数据集层面的评估
为了更好的展示生成结果,绘制了真实数据和生成数据的weekday分布图,
(怎么能生成weekday信息的?搞不懂。
3.2 个人层面评估
用生成轨迹来进行下一步位置预测,预测的位数分别为1,2,5,10,预测的是未来的活动。
结果如下:
3.3 训练方法结果
3.4 数据增益
本节探究生成数据加到真实数据上时对预测活动类别和活动地点的影响,
3.5 COVID-19
四、结论
提出了一个新的基于生成对抗的框架ActSTD,该框架通过捕捉潜在的时空动态来生成轨迹,该框架包含连续流的动态和时空瞬时更新。