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.
   151   152   153   154   155   156   157   158   159   160   161