Page 297 - 《软件学报》2025年第8期
P. 297
3720 软件学报 2025 年第 36 卷第 8 期
卷积的 GPU 内存消耗问题. 作为一个浅层 CNN 架构, MalConv 解决了读取整个恶意软件字节流时内存的消耗限
制, 捕捉了原始二进制中的全局位置不变性并且允许嵌入层与卷积层联合训练, 以获得更好的特征提取效果.
4.3 评价指标与参数设置
参照文献 [4] 对 9 个代表性工作的实验设置, 本文使用 10 倍交叉验证和准确率 (A)、精确率 (P)、召回率 (R)
和 F1 分数 (F1) 这 4 个评价指标对 MCBA 及相关对比工作进行实验评估.
• 真阳性 (TP): 模型将属于某个类别的样本正确分类为该类别的次数.
• 真阴性 (TN): 模型将不属于某个类别的样本正确分类为非该类别的次数.
• 假阳性 (FP): 模型将不属于某个类别的样本错误分类为该类别的次数.
• 假阴性 (FN): 模型将属于某个类别的样本错误分类为非该类别的次数.
• 准确率=(TP+TN)/(TP+TN+FP+FN).
• 召回率=TP/(TP+FN).
• 精准率=TP/(TP+FP).
• F1=2×精准率×召回率/(精准率+召回率).
实验中各工作的参数设置如后文表 3 所示.
4.4 消融实验
为了验证滑动 BERT 窗口以及基于几何中位数子空间和自编码器优化方法在信息提取和特征降维上的有效
性, 需要对 MCBA 在同一数据集上进行启用优化和禁用优化的对比实验. 为了实验的全面性, 本文分别在代表普
通场景的 MalwareBazaar 数据集和代表概念漂移场景的 MalwareDrift 数据集上进行评估.
首先验证 BERT 滑动窗口的有效性. 在 MalwareBazaar 和 MalwareDrift 数据集上, 我们分别开启不同数量
的滑动窗口, 并观察不同数量的滑动窗口对分类准确率的影响. 然后我们验证基于几何中位数子空间和自编码
器优化方法的有效性. 分别在两个数据集上禁用和启用不同维数的编码器进行分类性能评估. 实验结果如图 4
所示.
表 3 实验对比工作参数设置 98.9 99.1 99.2 99.2 99.2
100
实验工作 优化器 学习率 Batch size 80 56.4 64.7 67.2 69.1 68.7
ResNet-50 Adam 1E–3 64 准确率 (%) 60
40
VGG-16 SGD 5E–6 64 20
Inception-V3 Adam 1E–3 64 0
0 1 2 3 4
IMCFN SGD 5E–6 32
BERT滑动窗口数量
MAGIC SGD 1E–4 10
98.9 98.7 98.8 98.7 98.9 98.9 98.8
Word2Vec+KNN - - - 100
MCSC SGD 5E–3 64 80 56.4 60.8 61.1 59.7 64.7 62.6 61.5
60
CBOW+MLP SGD 1E–3 128 准确率 (%) 40
MalConv Adam 1E–3 32 20
0
MCBA Adam 5E–5 12 无优化 128,256 128,356 128,512 256,356 256,512 356,512
编码器 1,2 层维数
MalwareBazaar MalwareDrift
图 4 消融实验
实验结果表明, 无论是在普通场景还是概念漂移下, 启用 BERT 滑动窗口后, 分类准确率都有所提高. 这是因
为启用滑动窗口可以使学习模型接受更多来自原始文件的序列信息, 从而获得具有更大维度和更丰富信息的程序
特征向量表示. 随着滑动窗口增多, 可以观察到分类准确率也得到提高. 当滑动窗口数量大于 3 时, 分类准确率几
乎不再变化. 这意味着此时滑动窗口数量与分类准确率之间出现明显的边际效应递减, 几乎不再带来性能改善. 考
虑到实际应用和资源消耗, MCBA 的滑动窗口数量将设置为 3, 并进行后续实验. 在基于几何中位数子空间和自编
码器优化方法的评估方面, 对于 MalwareBazaar 数据集, 开启优化的效果并不明显. 这是因为在相同的数据集分布

