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

2834                                                       软件学报  2026  年第  37  卷第  7  期


                 赖于外部定义的奖励信号. 常见模仿学习技术包括行为克隆与逆强化学习 (inverse reinforcement learning, IRL) 等.
                 在日志异常检测任务中, Wang        等人  [52] 提出了一种基于行为克隆的离线模仿学习方法, 通过提取行为最优性与序
                 列关联性两类行为特征, 并构建基于            Transformer 的策略网络建模行为轨迹. 该方法结合          Q  函数与状态值函数的
                 学习, 从正常序列中提取行为模式, 有效提升了对异常行为的识别能力. Oh                     等人  [53] 提出了一种基于逆强化学习的
                 序列异常检测框架, 旨在从观察到的动作序列与元数据中反推出智能体的潜在决策策略. 他们使用神经网络建模
                 奖励函数, 并引入贝叶斯推断以增强异常评分的稳定性与可靠性.
                    值得注意的是, 融合模仿学习与强化学习的混合框架已在复杂环境下展现出较高的学习效率与泛化能力. 一
                 种常见策略是先通过模仿学习预训练接近最优的策略, 再结合强化学习进行策略细化; 另一种策略则是在训练过
                 程中联合利用专家示范与实时交互反馈, 实现端到端的策略优化. 此类混合方法特别适用于高风险或数据稀缺场
                 景, 在奖励稀疏或难以定义时亦具备较大优势. 然而, 这两类方法仍存在局限性: 例如依赖人工标注反馈、难以应
                 对未见过的日志模板、对异常数据的鲁棒性不足等.

                  3   方 法

                    PCLog 框架主要由     3  个部分组成: 数据预处理、模型训练和异常检测, 如图              1  所示. 首先, 将原始半结构化日
                 志文本中的参数替换为对应的标签符号, 以提取标准化的日志事件. 随后, 采用句子嵌入技术将日志文本转换为高
                 维稠密向量, 从而保留其语义信息.

                            预处理阶段                          模型训练阶段                       异常检测阶段
                            文本日志                            目标函数                          日志序列
                  081109 203552 149 INFO PacketResponder:  L θ =L 1 (θ)−C 1 L 2 (θ)+C 2 H(θ)
                  PacketResponder 1 for block blk_31 terminating
                               ···
                  081109 203560 13 INFO DataBlockScanner:  价值损失 L 2 (θ)  策略损失 L 1 (θ)   动作概率分布
                  Verification succeeded forblk_-90
                                                           优势函数 A t
                                                                                    计算目标动作的概率排名
                                                                        ActionProbs
                                                  V t , V t+1
                             参数替换
                                                     Critic 网络      Actor 网络
                                                                                         排名≤阈值
                           分组和句嵌入                           经验缓冲池                        是     否
                                                          (a t , s t , s t+1 , r t , π old )

                                                  θ old →θ             Entropy H(θ)
                          状态和动作序列                            初始策略                  正常             异常

                                                     图 1 PCLog  框架

                    在模型训练阶段, PCLog 引入了两个结构相同但参数独立的神经网络: 策略网络                       (Actor) 和价值网络  (Critic),
                                                                                    s t  下引导智能体选择动作
                 均由简单的线性层构成. Actor 负责输出可能下一个事件的概率分布, 用于在当前状态
                 a t ; Critic 则对当前状态的价值  V t  进行评估, 用以衡量其长期回报. 训练过程中, 从正常日志中获取语义向量和事件
                 序列, 构成状态与动作对, 生成单步训练样本, 并存储在经验回放缓冲区中. 当缓冲区达到预设的批大小后, 启动模
                 型训练. 其中, Actor 通过剪辑目标函数进行更新, Critic 则基于均方误差损失进行优化.
                    模型训练完成后, 可对日志序列中每个事件的概率分布进行评估, 并与实际事件进行比对, 以实现异常检测.
                 当检测效果下降时, 管理员可对错误预测提供反馈, 模型将这些反馈样本整合为专家轨迹, 并采用行为克隆方法对
                 策略进行微调, 从而提升模型的适应能力和检测精度.
                  3.1   数据预处理
                    系统日志通常包含丰富的系统运行状态信息, 需首先进行规范化与结构化处理以满足后续模型输入要求. 预
   144   145   146   147   148   149   150   151   152   153   154