Page 243 - 《软件学报》2021年第5期
P. 243
曹翰林 等:轨迹表示学习技术研究进展 1467
基于词袋的表示方法本质上是将轨迹数据看作由一堆词语构成的词袋,其中,词语可以是轨迹点、轨迹段
或是兴趣点等.然后再利用词嵌入(word embedding)的方法来学习“词语”的表示,即轨迹序列单元的表示,进而
可以得到整条轨迹的表示:
S→Z,z i =w i ,
其中,w i 为词向量.
这类方法的流程主要分为两步:定义词语和词嵌入.
定义词语最简单的做法是直接将轨迹点看作词语 [15,16] ,但其效果往往受制于数据量的大小,例如,当轨迹数
据太多时,通常会导致词典的体量过大.因此,直接将轨迹点看作词语的做法仅限于小范围场景,例如监控视频
中的行人轨迹.更常见的做法是对轨迹数据进行划分,将划分后的单元作为词语.文献[25]将出租车的行驶记录
类比为句子,并将行驶记录中的城市行政区域和出发到达事件类比为单词.文献[1,7,21]使用了划分网格的方法,
将每一个网格视为一个独立的单词;除了空间坐标之外,时间信息同样是连续的,故文献[21]将一周的时间划分
为 48 个时间区间,每个时间段分别对应一个单词.
词嵌入是词表示(word representation) [53] 的子集,在此处主要是指词语的分布式表示 [54] .其核心思想是,将高
维空间中的单词映射到低维空间中.其主要针对的问题是:用独热向量表示词语会造成词向量的维数等于词典
的大小,这样的话不仅计算量大,而且词向量表示稀疏、缺少语义信息.
近年来,常用于轨迹表示的词嵌入方法主要有两类.
(1) 第 1 类方法借鉴了 word2vec [48] 的思路.
文献[15]参考了 CBOW(continuous bag-of-words model)模型,对位置点 l i 的嵌入通过最大化以其上下文位
置点为条件的条件概率 ∑ m log ( |pl l :l ) 来完成.
−
+
i= 1 i i c i c
maximizep( ( ) | ( , ))lv i C l l = i maximize ∏ p ( ( ) | ( ))lv i v l′ = maximize ∏ exp{ ( ) ( )}lv i v l′ ,
v
′
′∈
∈
i l
lC (, ) l lC ( , ) l ∑ exp{ ( ) ( )}l′′ v l′
i l
l′′∈ C
其中,C 表示词袋,C(l i ,l)是轨迹单元 l i 在轨迹序列中的上下文,即 l i−c :l i+c ,c 为滑窗的长度;v(l)是轨迹单元 l 的向量
表示.文献[1,2]则是借鉴了 Skip-gram 模型,具体来说:首先将空间划分成等大小的网格,每一个网格代表一个单
词;然后对于给定的单词 l∈C,从它的邻居中随机采样得到上下文 C(l);最后,通过最大化其上下文单词出现的概
率来学习单词 l 的向量表示.
maximize∑ log ( ( ) | ( )).
pC l v l
lC∈
使用 word2vec 学习轨迹单元表示的优势在于:能够利用无标签的轨迹单元上下文将轨迹单元转化成有标
签的表示向量;同时,该表示向量能够捕获轨迹单元在空间中的邻近关系,即,在空间中邻近的轨迹单元有相似
的向量表示.不过,此类方法的局限在于无法获得词袋之外的轨迹单元的表示,即,未在训练集中出现过的轨迹
单元没有相应的轨迹表示向量.因此,此类方法通常与划分网格的方法相结合来缓解数据集的稀疏问题,从而使
得训练集能够覆盖到尽可能多的轨迹数据.
(2) 第 2 类方法是利用前馈神经网络对轨迹单元进行嵌入.
上述通过 word2vec 学习轨迹单元表示的过程在某种意义上属于数据预处理的范畴,因为其学习过程独立
于模型的训练过程,即先通过 word2vec 对轨迹进行表示,再将表示后的数据输入到模型中进行训练.其不足之处
是,轨迹的表示一经确定就不再改变.为了解决这一问题,近两年来,不少工作均采用前馈神经网络对轨迹序列
单元进行嵌入表示.这样做的好处在于:对轨迹单元进行嵌入属于模型的一部分,嵌入的结果可以随着模型训练
一起优化.个中原因一方面是得益于算力的提升;另一方面是随着轨迹应用场景的扩展,出现了诸如安防监控这
样的小型场景下的轨迹分析需求,使得在有限的轨迹数据空间中对轨迹单元嵌入变得可行.这一类方法的代表
性的工作是文献[26−28],它们针对的是从监控视频中提取出的行人轨迹,仅通过一个嵌入层完成对二维坐标点
(x i ,y i )的嵌入:
e i =φ(x i ,y i ;W e ),