Advertisement

【ICLR 2022】异常检测 | Anomaly Detection for Tabular Data with Internal Contrastive Learning

阅读量:
请添加图片描述

基于自监督对比学习的表格数据异常检测

1. 背景与动机

在研究领域中

近年来,在图像异常检测领域中,默认情况下人们通常会根据数据结构设定辅助任务(pretext task),以此来提升模型的学习效果。例如,在清楚地认识到图像旋转并不会改变其类别归属之后,默认的做法是通过将图像旋转不同角度生成新的样本。这些新样本虽然归属于同一类别但又与原始样本存在明显的区别(这种属性被称为类相关性)。通过这些辅助任务的设计和实施,在一定程度上丰富了数据集的多样性与代表性;这使得模型能够更好地理解和掌握各类别中的典型特征和差异点

然而,在传统的数据分析中**(此处应补充:)** 表格数据常被视为一个多维向量,在这种表示方式下 我们并不知道修改数据结构会对样本本身产生何种影响 因此 使得基于先验知识设计相应的辅助任务变得困难 为了应对这一挑战 作者提出了一个假设:即在特征空间中 变量子集与其他变量之间的关联关系属于类别相关的类型 这意味着某个子集的补集仅与其对应的变量子集相关 而与其他所有子集无关 这一假设为实现对表格数据的有效增强奠定了基础

2. 方法实现

2.1 总体思路

假设输入样本为x_i\in\mathbb{R}^d,ICL算法用于构建一系列特征对\{(a_i^j, b_i^j)\}_{j=1}^m. 其中a_i^j表示从x_i中提取长度为k个连续特征组成的向量;而b_i^j则代表剩余部分对应的向量,并且满足m = d - k + 1. 随后学习神经网络F和G用于将b_j^k映射到嵌入空间. 通过使每个b_j^k与其互补对应的a_k^l建立关联关系(即互补关系),同时确保非互补关系下的a_k^l与其他所有b_j^k不建立关联. 作者通过对比学习方法最大化匹配对(b_j^k, a_k^l)之间的互信息来开展模型训练. 在测试阶段计算对比损失作为异常评分函数.

2.2 实现细节

具体而言,在包含n个类内样本的训练集S={x_i}中进行研究的是ICL的目标——旨在通过构建函数y:ℝ^d→ℝ来实现对遵循训练集数据分布规律的样本进行预测,并将其映射至较低程度的异常评分;而对于那些不符合这一数据分布规律的样本,则会得到较高的异常评分。

对于每个训练样本x_i,ICL首先生成其相关联的特征对\Phi(x_i) = \{(a_i^j, b_i^j)\}。这些特征对被提取为从每个x_i中抽取连续k个变量构成的向量。

b_{i}^{j}=[x_{i}^{1},x_{i}^{2}, \cdots, x_{i}^{j-1},x_{i}^{j+k}, \cdots, x_{i}^{d}] \tag{2}

然后研究神经映射F(b_{i}^{j}): \mathbb{R}^{d-k}\to \mathbb{R}^{u}G(a_{i}^{j}): \mathbb{R}^{k}\to \mathbb{R}^{u},并以最大化其间互信息为目标

在该框架中包括一个查询向量\mathbf{q}=F(b_{i}^{j})以及两个对比向量即正样本向量\mathbf{v^{+}}=G(a_{i}^{j})和负样本向量\mathbf{v^{-}}=G(a_{i}^{j'}),j'\ne j。作者类似于大多数对比学习方法采用了一种基于空间操作的方法即在高维空间\mathbb{R}^{u}中对各个维度进行标准化处理以统一各特征的尺度这一标准化操作从本质上来说是一种全局性的处理机制因为它并不关心具体某个维度所代表的具体特征属性而更多地关注于单个维度特征的行为这种特性使得它能够在不同类别之间保持一定的稳定性然而在分类任务中这种特性可能会带来一定的局限性因为分类问题往往需要依赖于类别间的差异性信息

因此,在完成对类别无关数据进行归一化处理之后,在进行类别相关的归一化操作时会更加精细。具体而言,在处理一个大小为u×m的矩阵B=[F(F(b_i1)),…,F(F(b_im))]时(其中每个元素F(F(b_ij))都经过函数F的作用),我们确保了每一行经由函数F变换后的l2范数等于1,并将变换结果记作BNFNFNFN)。经过这样的处理后,在计算过程中会涉及到Φ(x_i)空间中所有b类型的向量对结果产生影响的情况(如图所示)。同样地,在处理另一个矩阵A时也会遵循类似的步骤以获得ANFNFNF^N)。

对比损失被建模为一个具有m类的分类任务,并进一步阐述其计算方式如下:

\ell (F,G,\Phi(x),j) = -\ln \frac{\exp(F^N(b_i^j) \cdot G^N(a_i^j)/\tau)}{\sum_{j'=1}^{m}\exp(F^N(b_i^j) \cdot G^N(a_i^{j'})/\tau)} \tag{3}

经过对比损失函数的系统性地训练后,则其异常分数为y(x)=\sum_{j}\ell (F,G,\Phi(x),j)

3. 实验设置

3.1 数据集

  • 第一组:这些常用表格数据集具体包括Arrhythmia、Thyroid、KDD以及KDDRev。
    • 第二组:这些源自ODDS的多维点数据集共有31个实例,在此之外还需排除前述已包含的两个数据集及Heart和Yeast。

3.2 Baselines

方法 链接 方法 链接
OC-SVM Sch¨olkopf et al., 1999 DAGMM Zong et al., 2018
GOAD Bergman & Hoshen, 2020 LOF Breunig et al., 2000
FB-AE Chen et al., 2017 DROCC Goyal et al., 2020
COPOD Li et al., 2020

3.3 实验结果

4. 总结

该研究探讨了一种适用于表格数据异常检测的通用单类分类方法。该方法基于样本剩余特征构建判别模型,并利用对比损失学习提升了表格数据的表现以及检测能力。通过大量实验表明,在测试集上的准确率较基线方案提升了约15%,同时模型参数稳定,在不同测试集上均获得一致的结果。

参考文献

[1] Shenkar T, Wolf L. Identifying anomalies in structured datasets using self-supervised internal contrastive learning[C]//Global platform for machine learning innovations. 2022.

更多论文分享欢迎关注微信公众号 Efficient AI

全部评论 (0)

还没有任何评论哟~