缓解具有层次和依赖结构的数据中类别不平衡的影响

arXiv cs.LG 论文

摘要

提出了一种层次感知的RoBERTa框架,用于在CWE分类法中分类网络安全漏洞,表明层次感知表示学习在处理类别不平衡方面比过采样技术更有效。

arXiv:2607.11994v1 公告类型:新 摘要:使用通用弱点枚举(CWE)分类法对网络安全漏洞进行分类,由于极端类别不平衡和弱点类别之间的强层次依赖性而具有挑战性。尽管诸如合成少数类过采样技术(SMOTE)和自适应合成采样(ADASYN)等过采样技术被广泛用于缓解类别不平衡,但它们在层次化CWE文本分类中的有效性在很大程度上尚未被探索。本文提出了一种层次感知的RoBERTa框架,通过可学习的父类嵌入显式地融入CWE结构信息,保持分类学的一致性。我们的实验表明,高维嵌入空间中的合成插值违反了CWE层次结构中固有的父子约束,对经典机器学习模型只有边际效益,同时持续降低深度学习架构的性能。在CWE研究概念数据集上评估,所提模型在没有数据增强的情况下取得了0.76的加权F1分数,优于所有基线,并在少数类上取得了显著提升,包括Class类别,其F1分数从BERT基线的0.40提高到0.60。我们的结果表明,对于结构化漏洞分类,层次感知表示学习是一种比过采样更原则性的替代方案。
查看原文
查看缓存全文

缓存时间: 2026/07/15 04:17

# 缓解具有层次和依赖结构数据中的类别不平衡影响
来源:https://arxiv.org/html/2607.11994
Deepika Giri² Avishek Kadel³ Rabin Kumar Karki⁴ Akbar Siami Namin¹ 计算机科学系¹ 德克萨斯理工大学¹ 坎伯兰大学² 叶史瓦大学³ 坎伯兰大学⁴ \{bipin\.chhetri, akbar\.namin2\}@ttu\.edu dgiri25@students\.cumberland\.edu akadel@mail\.yu\.edu rkarki34351@ucumberlands\.edu

###### 摘要

使用通用弱点枚举 (CWE) 分类法对网络安全漏洞进行分类极具挑战性,原因在于极端类别不平衡以及弱点类别之间存在强烈的层次依赖关系。尽管诸如合成少数类过采样技术 (SMOTE) 和自适应合成采样 (ADASYN) 等过采样技术被广泛用于缓解类别不平衡,但它们在层次化 CWE 文本分类中的有效性在很大程度上尚未被探索。本文提出了一种层次感知的 RoBERTa 框架,该框架通过可学习的父类嵌入显式地整合 CWE 结构信息,从而保持分类学上的一致性。我们的实验表明,在高维嵌入空间中的合成插值会违反 CWE 层次结构固有的父子约束,对经典机器学习模型仅带来边际效益,同时持续降低深度学习架构的性能。在 CWE 研究概念数据集上的评估显示,所提出的模型在没有数据增强的情况下达到了 0.76 的加权 F1 分数,优于所有基线模型,并在少数类上取得了显著提升,包括 `Class` 类别,其 F1 分数从 BERT 基线的 0.49 提升至 0.60。我们的结果表明,对于结构化漏洞分类,层次感知表示学习是一种比过采样更原则性的替代方案。

## I 引言

随着软件系统复杂性的增加以及对手采用更复杂的攻击技术,缓解弱点已变得愈发必要。CWE[15](https://arxiv.org/html/2607.11994#bib.bib1) 中编录的软件和硬件弱点使得系统性的漏洞评估、缓解规划和安全决策成为可能[4](https://arxiv.org/html/2607.11994#bib.bib52)。CWE 分类法将弱点组织成不同的抽象层次,例如 `Base`、`Class` 和 `Pillar`,其中较高层的节点捕捉宽泛的概念,较低层的节点代表具体的细节。在实践中,少数弱点类型占据了语料库的大部分,而许多罕见但影响重大的类别则显著代表性不足。

基于 Transformer 的编码器,如 BERT[8](https://arxiv.org/html/2607.11994#bib.bib66) 和 RoBERTa[14](https://arxiv.org/html/2607.11994#bib.bib65),已成为 CWE 文本分类的强大基线,它们能够捕捉双向上下文依赖关系,性能优于早期的卷积神经网络 (CNN)[17](https://arxiv.org/html/2607.11994#bib.bib67) 和循环神经网络 (RNN) 架构[5](https://arxiv.org/html/2607.11994#bib.bib68)。然而,类别不平衡仍然是一个根本性挑战,会降低在罕见 CWE 类别上的性能,而且 CWE 标签带有明确的父子依赖关系[11](https://arxiv.org/html/2607.11994#bib.bib70)。例如,一个 `Variant` 总是某个 `Base` 的子类,这意味着在较高抽象层次上的错误分类会向下级联到更细粒度的类。

关于层次分类的研究强调,维护父子关系对于构建可靠的预测模型至关重要[11](https://arxiv.org/html/2607.11994#bib.bib70)。传统方法,如随机过采样和欠采样[18](https://arxiv.org/html/2607.11994#bib.bib58),能够重新平衡标签分布,但存在对少数样本过拟合或丢失多数类有价值信息的风险。更高级的方法,SMOTE[3](https://arxiv.org/html/2607.11994#bib.bib24) 和 ADASYN[9](https://arxiv.org/html/2607.11994#bib.bib25),在特征空间中生成合成少数类样本。SMOTE 在少数类实例之间进行插值,以减少分类器对多数类标签的偏向,而 ADASYN 则将合成重点集中在更容易发生错误分类的困难边界区域。我们的具体贡献如下:

1. 我们实证评估了 ML(RF、SVM)、深度学习(CNN、BiGRU)和基于 Transformer 的(BERT)模型在 SMOTE 和 ADASYN 重采样下,在一个不平衡的层次化 CWE 数据集上的表现。
2. 我们证明,在高维嵌入空间中的合成插值违反了 CWE 的父子约束,对经典机器学习模型帮助甚微,同时持续降低深度学习模型性能。
3. 我们引入了一种层次感知的 RoBERTa 模型,通过可学习的父类嵌入将 CWE 结构先验注入模型,实现语义内容和层次结构的端到端联合建模。
4. 我们提出的模型在没有数据增强的情况下达到了 0.76 的加权 F1 分数,优于所有基线模型,其中 `Class` 的 F1 分数从 BERT 的 0.49 提升至 0.60。

本文结构如下。第 II 节介绍相关工作。第 III 节介绍模型的技术背景。第 IV 节和第 V 节分别介绍方法和实验设置。第 VI 节给出结果。第 VII 节进行讨论并说明局限性。第 VIII 节总结全文并展望未来工作。

## II 相关工作

### II-A 基于 CWE 的漏洞分类

先前的工作主要将 CWE 分类视为数据丰富环境下的有监督多类问题。Chhetri 等人[4](https://arxiv.org/html/2607.11994#bib.bib52) 表明,在根据 CWE 描述预测网络攻击后果时,BERT 优于 CNN、LSTM 和 HAN 架构,但在稀疏和不平衡的条件下性能下降。VulnBERTa[16](https://arxiv.org/html/2607.11994#bib.bib8) 是一个基于层次 RoBERTa 的分类器,在国家漏洞数据库 (NVD) 报告上训练,在频繁出现的 CWE 类上取得了较高的准确率,但在稀有标签上性能显著下降。Contreras 等人[6](https://arxiv.org/html/2607.11994#bib.bib5) 在软件保障参考数据集 (SARD) 和 NVD 上评估了 BI-LSTM 和 BiGRU 模型,总体结果强劲,但在区分语义重叠的 CWE 类时遇到困难,凸显了长尾标签分布这一持续存在的障碍。

### II-B 语义与层次分类

之前的工作[13](https://arxiv.org/html/2607.11994#bib.bib11) 将基于 BERT 的交叉编码器与二元链接应用于 CWE View-1003 层次结构,提高了高基数标签集的准确率,但在尾部类别上仍然受限。V2W-BERT[7](https://arxiv.org/html/2607.11994#bib.bib12) 表明,标签嵌入和文本 CWE 定义能改善单标签 CWE 分配的表示。经典机器学习方法,包括随机森林 (RF)[2](https://arxiv.org/html/2607.11994#bib.bib63) 和支持向量机 (SVM)[10](https://arxiv.org/html/2607.11994#bib.bib64),在频繁弱点上表现良好,但在稀有弱点上持续退化,这促使人们探索显式建模标签结构的方法。

### II-C 数据集中的类别不平衡

SMOTE[3](https://arxiv.org/html/2607.11994#bib.bib24) 和 ADASYN[9](https://arxiv.org/html/2607.11994#bib.bib25) 已被证明对基于经典机器学习和 CNN 的分类器有效,最近的工作将过采样直接纳入深度学习训练循环[12](https://arxiv.org/html/2607.11994#bib.bib32)。然而,SMOTE 和 ADASYN 在具有层次结构的 CWE 文本嵌入上的行为——其中父子约束施加了线性插值无法尊重的结构依赖关系——在很大程度上仍未得到探索,本文直接填补了这一空白。

## III 技术背景

### III-A 机器学习模型

#### III-A1 随机森林

(RF)[2](https://arxiv.org/html/2607.11994#bib.bib63) 在训练数据的自助采样子集上构建决策树集成,通过聚合预测来减少方差和过拟合。每棵树递归地选择能最大化不纯度减少的分裂点,在结构化特征空间中表现良好,但在高维稀疏文本表示上表现不佳。这里,最佳分裂点被选为使父节点与其子节点之间不纯度减少最大的特征和阈值。

#### III-A2 支持向量机

(SVM)[10](https://arxiv.org/html/2607.11994#bib.bib64) 学习一个最大间隔超平面,用于在高维特征空间中分隔类别。线性核非常适合稀疏文本表示,使得 SVM 成为短文本分类任务(如 CWE 描述)的强基线。

### III-B 深度学习模型

#### III-B1 卷积神经网络

(CNN)[17](https://arxiv.org/html/2607.11994#bib.bib67) 在 token 嵌入上应用一维卷积滤波器来捕获局部 n-gram 模式,然后通过最大池化保留最显著的激活。虽然对短程依赖关系有效,但 CNN 对合成过采样引入的嵌入空间扰动敏感。

#### III-B2 双向门控循环单元

(BiGRU)[5](https://arxiv.org/html/2607.11994#bib.bib68) 以前向和后向两个方向处理序列,在每个位置拼接隐藏状态以捕获完整的上下文依赖关系。门控机制控制信息跨时间步的流动,使 BiGRU 能有效建模对顺序敏感的漏洞描述。

### III-C 基于 Transformer 的模型

#### III-C1 来自 Transformer 的双向编码器表示

(BERT)[8](https://arxiv.org/html/2607.11994#bib.bib66) 使用堆叠的编码器层,配备多头自注意力机制,通过掩码语言建模进行预训练。稳健优化的来自 Transformer 的双向编码器表示 (RoBERTa)[14](https://arxiv.org/html/2607.11994#bib.bib65) 通过移除下一句预测、采用动态掩码以及在更大的语料库上训练来改进 BERT,从而在 NLP 基准测试中产生更强的上下文表示。SecureBERT[1](https://arxiv.org/html/2607.11994#bib.bib62) 通过在大型网络安全语料库上进行持续预训练来扩展 RoBERTa,并作为我们提出模型的编码器主干。

## IV 方法

### IV-A 过采样

数据集在五个类别上呈现出严重的类别不平衡,即 `Base` (393)、`Variant` (219)、`Class` (83)、`Compound` (8) 和 `Pillar` (5)。过采样仅应用于训练集以防止数据泄露。SMOTE 使用 k 近邻=2 将所有类别均衡至 393 个样本,而 ADASYN 通过将合成集中在更困难的边界区域,产生了近乎均等的计数(`Compound` 395, `Base` 393, `Pillar` 392, `Class` 387, `Variant` 362)。图 1 展示了重采样前后的类别分布。

参见图注
图 1:SMOTE 和 ADASYN 过采样前后的类别分布。

### IV-B 模型架构

参见图注
图 2:层次感知 RoBERTa 框架概览。
对于经典基线,RF 设置为 100 棵决策树 (n-estimators=100) 和固定随机种子 (random-state=42)。SVM 分类器配置为使用线性核,这适用于高维、稀疏的特征表示。

对于深度学习,CNN 使用 128 个卷积滤波器,核大小为 [4,6,6],采用 ReLU 激活和自适应最大池化,而 BiGRU 使用隐藏维度为 128 的堆叠循环层来捕获长程上下文依赖关系。两个模型都将 token 映射到 256 维的端到端训练的嵌入,并通过一个 128 维的融合层(ReLU,dropout 0.2)融合一个 16 维的分类状态嵌入。BERT-base(uncased)使用 [CLS] 池化输出与 16 维状态嵌入融合,然后是一个 128 维的线性层(ReLU,dropout 0.2)。所有模型均以批量大小 8 训练 15 个 epoch。

### IV-C 层次感知 RoBERTa

我们提出了一种层次感知的 RoBERTa 架构(算法 1),它显式地将标签层次信息整合到基于 Transformer 的文本分类中。一个预训练的 SecureBERT 编码器[1](https://arxiv.org/html/2607.11994#bib.bib62) 从输入文本中生成一个 768 维的 [CLS] 表示。为了注入层次知识,我们引入了一个可学习的父类别嵌入,用于捕获标签之间的粗粒度结构关系。两个父类别都被投影到一个 24 维的稠密嵌入中,并与网络的其余部分一起训练。

然后,BERT 的池化表示与父嵌入融合,形成一个统一的特征表示。这代表了语义内容和层次上下文。这个融合表示经过 dropout 率为 0.3 的 Dropout 正则化,然后传递到一个线性分类头,该分类头输出目标类别的 logits。

算法 1 用于文本分类的层次感知 RoBERTa
1: 输入 tokens $X=\{x_1,\dots,x_L\}$,注意力掩码 $M$,父类别 ID $P$,预训练 RoBERTa 编码器 $\mathcal{B}$,父嵌入矩阵 $\mathbf{E}_p$
2: 类别 logits $\hat{y}$
3: 使用 RoBERTa 编码输入序列:
4: $\mathbf{H} \leftarrow \mathcal{B}(X,M)$
5: 提取池化表示:
6: $\mathbf{h}_{cls} \leftarrow \mathbf{H}_{[CLS]}$
7: 获取父嵌入:
8: $\mathbf{h}_p \leftarrow \mathbf{E}_p(P)$
9: 融合语义和层次表示:
10: $\mathbf{h}_f \leftarrow [\mathbf{h}_{cls}, \mathbf{h}_p]$
11: 应用 Dropout:
12: $\tilde{\mathbf{h}}_f \leftarrow \text{Dropout}(\mathbf{h}_f)$
13: 计算类别 logits:
14: $\hat{y} \leftarrow \mathbf{W}\tilde{\mathbf{h}}_f + \mathbf{b}$
15: 可选,获取类别概率和损失(训练):
16: $\mathbf{p} \leftarrow \text{softmax}(\hat{y})$
17: $\mathcal{L} \leftarrow \text{CrossEntropy}(\mathbf{p}, y)$
18: 返回 $\hat{y}$

图 2 展示了所提出的层次感知 RoBERTa 架构,它将来自预训练 RoBERTa 编码器[1](https://arxiv.org/html/2607.11994#bib.bib62) 的语义表示与学习到的父标签嵌入相结合。文本嵌入和层次上下文通过拼接融合,然后经过 dropout 正则化的线性分类器,以产生细粒度的子类预测。这种设计通过联合利用上下文语言理解和结构化标签信息,实现了层次感知的分类。为确保所有模型的一致性,深度学习模型(CNN、BiGRU、BERT)以及我们提出的层次感知 RoBERTa 均使用相同的批量大小 8 和 15 个 epoch 进行训练。

## V 实验过程

### V-A 数据集

本研究中使用的数据集来源于 MITRE 通用弱点枚举 (CWE) 数据集的一个增强版本。CWE 仓库是共同开发的

相似文章

面向类别不平衡的模型无关元学习适应方法

arXiv cs.CL

孟菲斯大学研究团队提出 HAMR——一种模型无关的元学习框架,通过双层优化与邻域感知重采样,在六个不平衡 NLP 数据集上自适应地为困难样本与少数类重新赋权。

基于术语的异质语料库层级归纳

arXiv cs.CL

提出了一种基于术语的框架,用于从异质文本源中归纳层级分类体系,实现跨源对齐和可解释的层级结构。在多源基准上的实验表明,与基于文本和摘要的基线相比,该框架在一致性和质量上有所提升。