Attention-Based Vandalism Detection in OpenStreetMap


Attention-Based Vandalism Detection in OpenStreetMap(OpenStreetMap中基于注意的破坏检测)

0 Abstract

OpenStreetMap (OSM) 是一种协作的众包 Web 地图,是全球范围内公开可用的地图数据的独特来源,越来越多地被 Web 应用程序采用。破坏行为检测是支持信任和维护 OSM 透明度的一项关键任务。由于数据集的规模庞大、贡献者的数量庞大、各种破坏形式以及注释数据的缺乏,这项任务非常具有挑战性。本文介绍了 OVID——一种基于注意力的新型 OSM 破坏检测方法。OVID依靠一种新颖的神经体系结构,体系结构采用多头注意机制来有效地汇总指示OSM变更集的破坏行为的信息。为了便于自动检测破坏行为,我们引入了一组原始特征来捕获变更集、用户和编辑信息。此外,我们首次从OSM编辑历史中提取了一个真实世界的故意破坏事件数据集,并将该数据集作为开放数据提供。我们对真实世界的故意破坏数据进行的评估证明了 OVID 的有效性。

Chart

image-20220420090549464

Fig1: OSM 中不同破坏形式的四个真实示例。 地图数据:?OpenStreetMap 贡献者,ODbL。(a)慕尼黑大部分地区的删除 (b)海洋中的假小镇 (c)地图上的“涂鸦” (d)由广告取代的道路名称

image-20220420090608790

Fig2: OVID模型架构。 地图图像:?OpenStreetMap 贡献者,ODbL

image-20220420090636212

Table1: OSM-Reverts 和 OSM-Manual 的数据集统计。

image-20220420090655226

Table2: OVID的超参数搜索空间

image-20220420090712444

table3: 关于精度、召回率、F1分数和准确性的故意破坏检测性能 [%]。

image-20220420090723948

Table4: 单个组件进行测试Ovid的故意破坏检测性能。

image-20220420090739734

Fig3: OVID的精确/召回图。

8 Conclusion

在本文中,提出了 OVID(OpenStreetMap Vandalism Detection)模型,一种新颖的基于监督注意的 OpenStreetMap 中的故意破坏检测方法。OVID 依靠原始变更集、用户和编辑功能以及新颖的多头注意力架构来有效识别 OSM 中的破坏性变更集。通过系统地分析了OpenStreetMap历史中与故意破坏相关的恢复,并提取了一个新的开放地面真相数据集,用于OSM中的故意破坏检测。在真实世界数据集上的实验表明,OVID可以有效地检测 OSM 破坏行为。OVID的F1得分为75.99%,准确度平均为75.75%,与性能最佳的基线相比,F1得分增加了8.14% 分,准确度增加了5.41% 分。在未来的工作中,我们希望在我们的破坏检测模型的基础上创建新的应用程序。

3 the OVID model

OVID 是一个有监督的二进制分类模型,区分常规的和故意破坏的变化集。该模型由有监督的人工神经网络组成,包括三个主要组件: 特征提取,特征细化和聚集以及预测。图 2 概述了 OVID 模型架构。我们采用三类特征。首先,变更集功能捕获各个变更集的元信息,例如编辑器软件。其次,用户特征提供有关变更集作者先前编辑活动的信息,例如先前贡献的数量。第三,编辑功能对变更集内的各个更改进行编码,例如,如果添加,修改或删除了对象。由于单个变更集可能由多个编辑组成,OVID依靠一种多头注意机制来聚合编辑并识别与故意破坏检测相关的信息。最后,预测层整合了这些特征并促进了恶意破坏检测。

3.1 Feature Extraction

3.1.1 Changeset Features

特征向量\(X_{c}\)提供有关变更集元数据的信息。对于变更集\(c\),特征向量由以下特征组成。

  • No. creates [11], modifications [11], deletes [11], edits [11].捕获了它们的数量,大量删除可能意味着故意破坏。(edits为编辑总数,modifications为修改总数)
  • Min/max latitude/longitude, bounding box size. 前者捕获了地理范围,后者确定了边界框的大小。边界框太大也可能意味着故意破坏。
  • Editor application. 编辑器应用程序,使用最基本、最容易使用的更有可能是故意破坏,采用one-hot编码。
  • Has imagery used. 是否使用图像,采用二进制编码。OSM 贡献者可以指定他们是否将航拍图像用于变更集,这可以直观地使其更值得信赖。
  • Comment length [9]. 贡献者可提供评论 ??.???? 来记录变更集。 直观地说,长描述可能表明值得信赖的变化。 我们使用评论中的字符数作为特征。

连接所有特征以获得变更集特征向量\(X_{c} \in \mathbb{R}^{d_{c}}\),其中\(d_{c}\)表示\(X_{c}\)的维度。

3.1.2 User Features.

利用用户特征来捕获变更集作者 ??.?? 的先前活动,更有经验的用户可能比新用户更值得信赖。 给定一个变更集??及其作者??.??,用\(X_{u}\)表示用户特征向量。

  • No. past creates [18], past modifications, past deletes. 量化用户可信度[18]。根据之前创建、修改,和删除对象的数量来量化用户经验。添加这些数字作为特征。
  • No. contributions [9, 24]. 计算用户贡献对象的总数,将数字作为特征。
  • No. top-12 keys used [18]. 使用前12个最常见的OSM键,并确定用户将这些键加入条目的频率。分别是building, source, highway, name, natural, surface, landuse, power, waterway, amenity, service, and oneway.用户历史记录中缺少前 12 个最重要的键可能表明存在有害行为。我们将用户以前使用的前 12 个键的数量作为一项特征。
  • Account creation date [9], no. active weeks [24]. 为了量化用户经验的时间范围,我们考虑了用户帐户创建和用户贡献周数的时间戳至少一个变更集。

连接所有特征以获得用户特征向量\(X_{u} \in \mathbb{R}^{d_{u}}\),其中\(d_{u}\)表示\(X_{u}\)的维度。

3.1.3 Edit Features.

  • Object type [18], edit operation [18].
  • Object version number, no. previous authors [9, 24].
  • Time to the previous version [18, 24].
  • No. tags [24].

3.2 Feature Refinement & Aggregation

细化变更集和用户特征并聚合编辑特征以获得每个变更集的特征向量。

我们通过将变更集和用户特征向量传递给全连接层来优化它们\(X_{c^{\prime}}=F C_{d_{h}}\left(X_{c}\right)\)\(X_{u^{\prime}}=F C_{d_{h}}\left(X_{u}\right)\)。其中,\(F C_{d_{h}}(X_{i})=ReLU(X_{i}W_{i}+b_{i})\)。权重:\(W_{i}\in\mathbb{R}^{d_{i}\times d_{h}}\)、偏差:\(b_{i} \in \mathbb{R}^{d_{h}}\)\(d_{h}\)为隐藏层大小。

我们连接变更集和用户特征,并应用标准化的全连接层:\(X_{c,u} = \operatorname{norm}(FC([X_{c^{\prime}},X_{u^{\prime}}]))\)\(\operatorname{norm}(\cdot )\)表示层归一化 [3],其基于神经元激活的平均值和标准差来缩放层输出。

OVID 使用注意机制选择最相关的编辑以识别相应变更集中的破坏行为。先通过相同的全连接层\(M_{e^{\prime}}=F C_{d_{h}}(M_{e})\)来得到精制编辑特征\(M_{e^{\prime}}\)。然后,为了将单个编辑的特征聚合为单个特征向量,采用了[26]最初提出的多头注意机制。直观地说,多头注意机制计算编辑特征的加权和,其中模型学习代表特定编辑重要性的所谓注意权重。

形式上,注意力机制区分查询 Q 、键 K 和值 V 。Attention 根据 Q 和键 K 之间的相似性为查询 Q 选择最相关的值 V。

由于我们旨在选择最相关的编辑以识别相应变更集中的破坏行为,因此我们将细化的变更集和用户特征表示为注意力模型中的查询,并将细化的编辑特征表示为键和值:\(Q=X_{c,u}\),\(K=M_{e ^{\prime}}\),\(V=M_{e ^{\prime}}\)。注意力函数定义为\(\text { Attention }(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V\),其中Q 表示查询向量,K 为关键矩阵,V 为值矩阵,\(d_{k}\)为关键矩阵的一行(一个键)的维度。术语\(QK^{T}\)计算查询向量??和关键矩阵??中的单个键之间的相似性。然后,softmax函数将相似性转换为表示注意力权重的概率分布。比例因子\(\sqrt{d_{k}}\)防止softmax在反向传播期间具有极小的梯度[26]。最后,注意力权重与值矩阵 ?? 的乘积产生了值的加权和。

多头注意力通过使用多个 (\(n_{head}\)) 注意力头来扩展注意力。每个头学会专注于不同的编辑特征组合,例如,对象类型和标签的语义描述。形式上,每个头计算自己的注意力函数:\(\text { Multi-Head }(Q, K, V)=[head_{1},\cdots ,head_{n_{head}}] W^o\),\(head_{i} = \text{Attention} (Q W_{i}^{Q},K W_{i}^{K},V W_{i}^{V})\),与投影矩阵\(W_{i}^{Q} \in \mathbb{R}^{d_{h} \times d_{h}}\),\(W_{i}^{K} \in \mathbb{R}^{d_{h} \times d_{h}}\),\(W_{i}^{V} \in \mathbb{R}^{d_{h} \times d_{h}}\),\(W^{O} \in \mathbb{R}^{n_{head} \cdot d_{h} \times d_{h}}\)

我们使用多头注意计算聚合编辑特征向量:\(X_{E} = \operatorname{Multi-Head}(X_{c,u},M_{e^{\prime}},M_{e^{\prime}})\)。最后,我们使用具有层归一化的全连接层来细化编辑特征向量:\(X_{E^{\prime}}= \operatorname{norm}(FC_{d_{h}}(X_{E}))\)

一些更改集,例如自动导入,可能包含大量的数据(在我们的数据集中多达50,000个),因此单个编辑的贡献可以忽略不计。因此,我们为变更集中的最大编辑数量引入了上限阈值\(th_{e,max}\)。如果编辑次数超过\(th_{e,max}\),我们设置 \(X_{E^{\prime}} =0\) 并依赖用户和变更集特征。

3.3 Prediction

我们通过将改进的变更集和用户特征与聚合的编辑特征组合到单个特征向量\(X_{p} = [X_{c,u},X_{E^{\prime}}]\)中,来促进对破坏变更集的检测。

我们使用层归一化重复全连接层 \(n_{pred}\) 次,并使用具有单个输出维度和 sigmoid 激活函数的最终全连接层来预测二元破坏标签:\(X_{p^{\prime}}= \operatorname{norm}(FC_{d_{h}}(X_{p}))^{n_{pred}}\),\(y_{pred} = sigmoid(X_{p^{\prime}}W_{p^{\prime}}+b_{p^{\prime}})\),其中\(W_{p^{\prime}} \in \mathbb{R}^{1 \times d_{h}}\)\(b_{p^{\prime}} \in \mathbb{R}\)

如果 \(y_{pred}\) 超过分类阈值,我们将变更集视为破坏行为来确定预测函数,即:$y_{pred} > th_{class} $

4 DATASETS

构建了一个新颖的地面实况数据集(“OSM-Reverts”),其中包括从世界规模的 OSM 编辑历史中提取的 9000 多个真实世界的故意破坏事件。我们添加了非破坏性变更集,从而生成了一个包含超过 18000 个训练示例的数据集,从而可以训练有监督的机器学习模型。将OSM-Reverts作为开放数据提供,以促进再现性和进一步研究6。此外,我们考虑第二个更小的数据集 (“OSM-Manual”)用于我们的实验。表1总结了选定的数据集统计信息。

OSM-Reverts.

我们通过考虑在OSM历史2014年2019年中恢复破坏行为的变更集来创建地面真相数据集。地面事实的正确性对于训练监督模型至关重要。因此,我们在地面真相提取过程中追求高精度。

确定由恢复修复的特定破坏性变更集并非易事。 Reverts 被结构化为变更集,并且只提供他们所做的更正的文本描述。虽然一些回复明确地在评论中提到了相应的变更集,但其他人只是删除、更新或插入地理对象来修复破坏行为。回复评论是高度异构的,并不总是指定破坏性变更集。

提取过程包括以下步骤:首先,我们提取修复破坏性变更集的恢复变更集。我们只考虑在他们的评论中提到“破坏”的变化集。其次,我们确定由还原纠正的破坏性变更集。如果还原变更集明确提及特定变更集ID,则我们将提及的变更集视为故意破坏。否则,我们将审查作为还原主题的对象。如果还原删除了一个对象并且只有一个用户对该对象做出了贡献,我们认为对这个对象做出贡献的变更集是破坏行为。在其他情况下,很难将恢复归因于特定的变更集。由于我们的目标是高精度,因此我们不会在 OSM-Reverts 中包含此类未充分说明的情况。

为了创建负面示例(即不代表故意破坏的变更集),我们从 OSM 变更集历史记录中删除已识别的故意破坏变更集和恢复。我们通过从过滤的 OSM 历史中随机抽样变更集来获得负样本。我们从减少的变更集历史中随机抽取与破坏变更集相同数量的变更集,以创建负面示例并获得平衡的数据集。结果,我们获得了一个包含 18,276 个训练示例的数据集。

地面实况质量的可能限制可能包括偶尔出现假阳性和假阴性示例。假阳性,即标记为故意破坏的合法变更集,可能是由恶意恢复造成的。按照第 2 节中描述的对抗模型,我们假设恶意恢复当前不属于我们的数据集。假阴性是包含故意破坏但未标记为此类的变更集。 根据先前对众包知识库 [8] 的破坏行为的研究,与所有 OSM 变更集相比,破坏行为变更集的总体比例很小。因此,我们假设数据集中假阴性的总体比例是可以忽略的。

我们将数据集分为训练 (70%) 、验证 (10%) 和测试 (20%) 集。我们确保训练、验证和测试集与 OSM 用户是分离的,以避免对个别 OSM 用户产生偏见。 我们在训练集和验证集上训练模型,并在测试集上评估结果。

OSM-Manual.

2018 年,OSM 社区手动识别了大约一千起故意破坏事件,包括垃圾邮件和禁止输入。7 我们使用这些变更集作为积极的例子。我们通过从过滤的OSM历史记录中随机采样变更集来创建负例子。OSM-Manual 数据集总共包括 2,018 个示例。 OSM-Manual 数据集中的示例数量太少,无法训练监督模型。因此,我们仅使用 OSM-Manual 作为测试集。 我们使用 OSM-Manual 进行评估,方法是在整个 OSM-Reverts 数据集上训练模型,然后使用 OSM-Manual 作为测试集。

5 EVALUATION SETUP