Page 154 - 《软件学报》2026年第7期
P. 154

周俊伟 等: PCLog: 近端策略优化与行为克隆自适应日志异常检测                                              2839


                    为了解决上述的性能漂移问题, 我们通过反馈驱动的模仿学习机制, 在模型性能下降时利用误判样本进行策
                 略微调, 有效缓解了长期运行中性能漂移的问题. 当模型在滑动窗口上的召回率下降超过设定阈值时, 触发一次微
                 调, 使策略适应最新的日志模式. 这些样本的真实标签是已知的, 用于模拟运维人员提供的纠正反馈. 具体实现如
                 下, 当模型性能出现显著下降时, 我们假设在经过一定预测周期后可获得一批标注样本. 这些正确标注的样本可视
                 为专家示范数据, 其数学表示为:

                                                                 N
                                                      D expert = {(s i ,a i )} i=1                   (10)
                 其中,  s i  表示环境状态,   a i  表示在状态  s i  下专家推荐的动作,  N  表示带标签样本的总数. 基于这一思想, PCLog        采用
                 行为克隆这一模仿学习方法, 从专家策略中进行学习. 通过该方法, 模型可以被逐步微调和修正, 从而有效提升其
                 在动态环境中持续进行异常检测的能力. 该方法的整体框架如图                     4  所示.


                                         当前策略                           动作概率分布

                                             模仿学习
                                           反馈                            错误预测
                                           ...
                                                                           ...
                                    5→5→22→   →26→23→21  纠正         5→5→22→   →26→24→21
                                                                           ...
                                           ...
                                    22→5→9→   →3→23→21              22→5→9→   →4→23→21
                                            ...                              ...
                                                图 4 日志异常检测方法示意图

                    为了同时利用      PPO  优化与专家示范, 我们构建了一个联合目标函数. 设                λ  为平衡因子, 联合目标函数定义
                 如下:

                                              J(θ) = L  CLIP  (θ)+λE (s,a)∼D expert  [ logπ θ (a | s) ]  (11)
                    该联合目标函数中的第         2  项鼓励模型最大化专家动作的对数似然, 从而在给定状态                  s 的情况下, 提高选择专
                                                                                     λ 的取值. 具体而言, 当有
                 家提供的动作     a 的概率. 在实际训练过程中, 我们采用指数衰减策略动态调整平衡因子
                 新的专家反馈可用时,       λ 初始设定为约     0.5, 以便模型能够快速吸收专家知识, 从而迅速提升其检测精度. 而在缺乏
                 新专家反馈的情况下,       λ 会逐渐衰减至零, 使模型的训练重心平滑过渡到标准的                 PPO  强化学习过程.
                  4   实验设置与分析

                    本节将通过回答以下        4  个研究问题来评估     PCLog  的性能.
                    ● RQ1: 与基线方法相比, PCLog    在异常检测中的表现如何?
                    ● RQ2: 在顺序训练数据下, PCLog     如何适应日志模式的变化?
                    ● RQ3: 反馈数据对    PCLog  异常检测性能有何影响?
                    ● RQ4: PCLog  在不同实验设置下的有效性如何?
                  4.1   实验设置
                  4.1.1    数据集
                    我们在   3  个广泛使用的公开数据集上进行了实验, 分别为              HDFS [55] 、BGL [56] 和  OpenStack [57] . HDFS  日志数据
                 集是通过在    200  多个  Amazon EC2 节点上运行基于    Hadoop  的  MapReduce 作业生成的. 通过  BlockID  对日志进行
                 分组, 该数据集可划分为       575 061  个日志序列, 其中包含    16 838  个异常样本. BGL  数据集采集自美国某实验室的一
                 台  BlueGene/L 超级计算机, 包含   4 747 963  条日志记录, 其中  348 460  条  (约占  7.3%) 被标注为异常. OpenStack  数
                 据集则是在    CloudLab  平台上部署  OpenStack Mitaka 版本时生成的. 这些数据集的详细信息汇总如表             2  所示. 我们
                 从每个数据集中选取        80%  用于训练, 剩余   20%  用于测试. 同时, 训练仅使用正常日志, 异常数据保留在测试和微
                 调阶段使用.
   149   150   151   152   153   154   155   156   157   158   159