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

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


                  3.2   目标函数与模型训练
                    在  PCLog  中, 日志异常检测被建模为一个序列决策问题, 其状态转移过程满足马尔可夫性质, 即当前状态的
                 转移仅依赖于前一状态, 与历史状态无关. 因此, 该问题可形式化为马尔可夫决策过程                          (Markov decision process,
                 MDP), 表示为五元组 ⟨S, A, T, R, γ⟩, 其中, S  为状态空间, 表示通过日志嵌入得到的向量; A          为动作空间; 对应离散
                 的日志事件编号, T(s, a, s′) 为状态转移概率; R(s, a) 为即时奖励; γ∈[0, 1) 为折扣因子.
                    在日志异常检测任务中, 经过预处理的日志数据可以转换为适合强化学习的输入格式. 具体而言, 日志根据标
                 识符进行分组, 形成多个日志序列, 这些序列可视为动作轨迹. 通过对原始半结构化文本日志进行特征提取获得的
                 向量表示构成了状态集合, 而不同的日志事件则对应动作集合. 为有效处理序列边界, 每个序列以固定的零向量
                                               e end  作为终止动作结束. 检测模型作为智能体, 通过与定制环境的交互来学
                 v start  作为初始状态开始, 并以固定事件
                 习策略   π. 从形式上看, 策略    π 被定义为从状态空间       S  到动作空间   A 的映射函数, 即    π: S → A. 环境交互与奖励定
                 义的示意图见图      3.

                                             状态序列 L s =[v 1 , v 2 , v 3 , v 4 ], 动作序列 L e =[e 1 , e 2 , e 3 , e 4 ]
                                         输入   v start  v 1   v 2    v 3     v 4


                                         输出    a 0    a 1    a 2    a 3    a 4



                                               e 1    e 2    e 3    e 4    e end
                                                    当 a t =e t+1  时, 奖励 r t =1, 否则 r t =0
                                                  图 3 环境交互和奖励定义

                                          L s  和动作序列  . 作为智能体的检测模型接收当前状态向量  , 并输出该状态下
                    假设日志序列对应状态序列                      L e                                v t
                 所有可能动作的概率分布. 随后从该分布中随机采样得到动作                     a t . 若所选动作与目标动作匹配, 则智能体获得奖
                 励  1; 否则奖励为  0. 该模型的目标是通过与环境的持续交互生成轨迹, 并基于这些轨迹学习获得最优策略, 使得所
                 有生成轨迹的期望累积奖励最大化.
                    本文提出的     PCLog  模型集成了强化学习中的近端策略优化算法 (PPO)              [54] 用于日志异常检测. PPO   算法的架
                 构包含两个核心组件: 策略网络          (Actor) 和值函数网络   (Critic). 其中, 策略网络通过输出所有可能动作的概率分布
                 来指导智能体决策, 而值函数网络则评估当前状态的价值, 为策略优化提供基准. 与                         IRL  需要先学习奖励函数不
                 同, PCLog 直接设定任务驱动的奖励函数, 结合反馈式行为克隆进行数据层修正, 两者在建模目标和优化方式上存
                 在显著区别. 具体而言, 策略网络的更新通过优化带裁剪的目标函数实现, 值函数网络则通过最小化均方误差来逼
                 近状态价值函数. 设     θ 表示策略网络的神经网络参数,          ϕ 表示值函数网络的参数. 在训练过程中, 每个数据点被视为
                                      N. 近端策略优化    (PPO) 中执行器   (策略网络) 的优化目标定义为:
                 单步样本, 批次大小设置为

                                           J CLIP (π θ ) = E t [min(r t (θ)A GAE (s t ,a t ), r CLIP (θ)A GAE (s t ,a t ))]  (2)
                                       max π θ               ϕ       t    ϕ
                 其中,  r t (θ) 表示新旧策略之间的概率比:

                                                            π θ (a t |s t )
                                                      r t (θ) =                                       (3)
                                                              (a t |s t )
                                                            π θ old
                    为避免策略更新幅度过大导致训练不稳定, 我们在算法中引入了概率比的裁剪版本:

                                                 r CLIP (θ) = CLIP(r t (θ),1−ε,1+ε)                   (4)
                                                 t
                    优势函数估计值      A GAE (s t ,a t ) 通过广义优势估计  (generalized advantage estimation, GAE) 计算得到, 其定义为:
                                  ϕ
                                                              ∞ ∑
                                                                   l
                                                   A GAE (s t ,a t ) =  (γλ) δ t+l                    (5)
                                                     ϕ
                                                              l=0
   146   147   148   149   150   151   152   153   154   155   156