Page 156 - 《软件学报》2026年第7期
P. 156
周俊伟 等: PCLog: 近端策略优化与行为克隆自适应日志异常检测 2841
全部异常日志; 基线方法覆盖传统方法 (PCA、IM、LogCluster)、深度学习方法 (DeepLog、LogAnomaly)、强化
学习方法 (QLLog); 以精确率、召回率、F1 值为指标.
本文方法 PCLog 在 HDFS、BGL 和 OpenStack 数据集上的实验结果如表 4 所示 (加粗数字为最优值). 结果
表明, PCLog 在所有数据集上的整体异常检测性能均优于所有基线方法, 精确率、召回率和 F1 值均超过 0.95.
表 4 HDFS、BGL、OpenStack 数据集上的实验结果
HDFS数据集 BGL数据集 OpenStack数据集
方法
精确率 召回率 F1 值 精确率 召回率 F1 值 精确率 召回率 F1 值
PCA [58] 0.978 0.668 0.794 0.501 0.612 0.551 0.778 0.992 0.872
IM [19] 0.882 0.948 0.914 0.836 0.988 0.906 0.832 1.000 0.908
LogCluster [18] 0.873 0.742 0.802 0.436 0.858 0.578 0.913 0.991 0.950
DeepLog [26] 0.938 0.934 0.936 0.912 0.972 0.941 0.944 0.993 0.968
[59]
LogAnomaly 0.961 0.944 0.952 0.971 0.942 0.956 0.971 0.975 0.973
[49]
QLLog 0.946 0.987 0.966 0.952 0.964 0.958 0.952 0.997 0.974
PCLog 0.964 0.992 0.978 0.953 0.990 0.971 0.961 1.000 0.980
PCLog 在 3 个数据集上优于基线方法, 核心原因如下.
对比传统方法 (PCA、IM、LogCluster): 传统方法依赖手工特征或聚类规则, 丢失日志序列与语义信息. 如因
降维丢失“Block 分配-数据传输”序列关联导致 PCA 在 HDFS 数据集召回率为 66.8%; 而 PCLog 通过句嵌入保留
语义、PPO 捕捉序列依赖, 召回率达 99.2%. 对比深度学习方法 (DeepLog、LogAnomaly): DeepLog 用模板索引输
入, 信息稀疏导致新模板适应弱; LogAnomaly 虽有词嵌入但无动态反馈. 在 BGL 数据集 (20% 模板变更) 中,
DeepLog F1 值为 94.1%, PCLog 因模仿学习微调, F1 值达 97.1%. 对比强化学习方法 (QLLog): QLLog 基于 Q-learning
用离散 Q 表, 难以处理高维日志向量; PCLog 用 PPO 连续策略优化, 新增行为克隆修正, 在 OpenStack 数据集精确
率为 96.1%, 高于 QLLog 的 95.2%, 且其基于离散 Q 表的策略学习方法难以充分捕捉日志序列中的复杂模式. 与
之对比, PCLog 将日志序列建模为策略优化的轨迹, 直接对日志事件的执行策略进行优化, 使其能够在不同类型的
日志特征和异常模式上表现出更优的检测性能和更强的泛化能力.
RQ1: 与基线方法相比, PCLog 在异常检测中的表现如何?
回答: 在 HDFS、BGL 和 OpenStack 这 3 个真实数据集上的实验结果表明, PCLog 在召回率、F1 值等主要指
标上均显著优于现有的 6 种基线方法. 这说明本文提出的基于 PPO 与行为克隆的框架能够有效捕捉日志事件的
时序模式和上下文信息, 进而提升了异常检测的整体性能.
4.3 RQ2: 在顺序训练数据下, PCLog 如何适应日志模式的变化?
● 动机: 系统升级导致日志模式持续变化, 现有方法需频繁重训, 需验证 PCLog 的动态适应能力.
● 评估方法: 将数据集按时间戳排序, 用 10%–80% 训练数据增量训练模型, 测试剩余数据性能; 重点关注召回
率下降幅度 (≤3% 为适应良好); 与 PCLog 方法对比, 验证强化学习基础模型的适应潜力.
图 5 展示了随着日志数据量增加, 日志数据集中出现的模板数占全部模板总数的比例的变化. 如图 5 所示,
HDFS 和 OpenStack 数据集的采集时间较短, 均不足 2 天, 且采集期间系统未进行重大更新, 因此其模板数量在后
期趋于稳定, 增长速度较为平缓. 相比之下, BGL 数据集的采集时间跨度长达 7 m, 期间系统不断迭代更新, 导致模
板数量持续上升, 增长曲线波动较大.
图 6 展示了在 HDFS、BGL 和 OpenStack 数据集上进行的实验结果. 实验中, 日志首先按时间戳顺序严格排
序, 随后使用不同比例的训练数据训练模型, 以模拟 PCLog 对不断变化日志模式的适应能力.
从实验结果可以看出, 由于采集周期较短, HDFS 和 OpenStack 数据集的日志内容和序列模式变化较小. 此外,
OpenStack 数据集规模较小且系统更新频率较低, 因此即使使用较少的训练数据, PCLog 仍能取得优异的表现, 各
项指标均超过 0.9.

