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

