WSADBench
收藏WSADBench 数据集与基准平台概述
WSADBench 是一个专为弱监督异常检测(Weakly-Supervised Anomaly Detection, WSAD)设计的综合性基准平台,对应的论文已被 KDD 2026 数据集与基准赛道接收。该平台支持多种数据模态和灵活的监督设置,集成了超过 30 种基线模型,并提供了可复现的实验框架。
核心特性
- 多模态数据支持:涵盖表格数据(经典、计算机视觉特征、自然语言处理嵌入)、视频数据以及多示例学习(MIL)包数据。
- 丰富的基线模型:集成 30 多种弱监督、半监督和无监督异常检测方法。
- 灵活的监督设置:支持配置标记异常样本比例(RLA)、标记正常样本比例(ELN)、未标记样本比例以及标签噪声。
- 并行执行:支持多 GPU 运行,并具备自动 GPU 分配功能。
- 可复现实验:内置结果日志、实验恢复能力和统计报告生成。
支持的数据类型
| 数据类型 | 命令行标识 | 描述 |
|---|---|---|
| 经典表格数据 | tabular_classical |
传统异常检测基准数据集(共 47 个)。 |
| CV特征 (ResNet18) | tabular_CV_by_ResNet18 |
使用 ResNet18 提取的图像特征。 |
| CV特征 (ViT) | tabular_CV_by_ViT |
使用 ViT 提取的图像特征。 |
| NLP特征 (BERT) | tabular_NLP_by_BERT |
使用 BERT 提取的文本嵌入。 |
| NLP特征 (RoBERTa) | tabular_NLP_by_RoBERTa |
使用 RoBERTa 提取的文本嵌入。 |
| 视频数据 | video |
视频异常检测数据(支持 I3D 等特征)。 |
| MIL包数据 | classical_bags_inexact |
以多示例学习包格式组织的经典表格数据。 |
支持的模型类型(部分示例)
WSADBench 集成了多种弱监督(实例级)模型,按技术类别划分如下:
| 模型 | 命令行标识 | 类别 | 描述 |
|---|---|---|---|
| DevNet | DevNet |
分数学习 | 利用有限监督进行偏差网络异常检测。 |
| DeepSAD | DeepSAD |
分数学习 | 通过单类分类实现深度半监督异常检测。 |
| REPEN | REPEN |
表征学习 | 面向正例-无标签学习的表征学习。 |
| XGBOD | XGBOD |
表征学习 | 用于异常检测的特征增强方法。 |
| RoSAS | RoSAS |
数据增强 | 鲁棒的半监督异常分割方法。 |
| DDAE | AnoDDAE |
扩散自编码器 | 基于扩散自编码器的异常检测方法。 |
注:平台还包含对其他模型的支持,如用于多示例学习的 Sultani 和基于梯度提升的 CatB 等。
数据准备
数据集来源于两部分,用户可通过统一的 Python 脚本 (download_dataset.py) 自动下载。
- ADBench 数据集:整合自 ADBench 项目,包含表格数据、图像和文本特征,可从镜像直接拉取
.npz文件。 - WSADBench 官方数据集:由项目团队在 ModelScope 平台提供,包含视频异常检测(VAD)、分布外(OOD)检测和经典表格 MIL 包数据。脚本会自动下载、解压并清理归档文件。
下载命令示例:
- 下载全部数据:
python WSADBench/datasets/download_dataset.py --datasets WSAD ADBench - 下载所有基于 MViT_32 的 VAD 数据集:
python WSADBench/datasets/download_dataset.py --datasets CV_by_MViT_32 - 下载单个数据集:
python WSADBench/datasets/download_dataset.py --datasets Classical
实验复现
WSADBench 提供了丰富的命令行参数以复现论文中的各类实验,涵盖:
-
基础异常检测与多示例学习实验:支持在不同的表格数据(经典、CV、NLP)、视频数据和 MIL 包数据上运行模型。 shell
在经典表格数据上运行 DevNet
python -m run_experiment --data_type tabular_classical --models DevNet
在视频数据上运行 DevNet
python -m run_experiment --data_type video --models DevNet --dataset TAD seg_32_pm_mvit
-
基础模型评估:支持对 TabPFN 和 LimiX 等模型进行特定配置(如单独的 Python 环境、预训练检查点下载)下的实验。 shell
运行 TabPFN(需下载预训练检查点)
python -m run_experiment --data_type tabular_classical --models TabPFN
-
敏感性分析实验:评估模型在不完整监督(改变标记异常比例、未标记数据比例)和不准确监督(引入标签噪声)下的鲁棒性。 shell
改变标记异常比例 (RLA)
python -m run_experiment --data_type tabular_classical --models DevNet --rla_list 0.01 0.05 0.1 0.25 0.5 1.0
引入正常样本标签噪声 (flip_nr)
python -m run_experiment --data_type tabular_classical --models RoSAS --flip_nr_list 0.01 0.05 0.1 0.25 0.5 --noise_type label_contamination
-
分布外(OOD)检测实验:支持在多种 OOD 场景(如 ID近/OOD远、语义级OOD)下评估模型性能。 shell
运行 ID远, OOD近 设定
python -m run_experiment --data_type tabular_CV_by_ResNet18_OOD --models DevNet --exp_note rla_emb_know_far_inc --dataset metal_nut
许可信息
- 代码许可:MIT License。
- 数据许可:Creative Commons Attribution 4.0 International (CC BY 4.0)。




