Page 326 - 《软件学报》2026年第2期
P. 326

梁志宇 等: 知识增强的时间序列异常检测算法自动选择                                                       805


                                                          m
                    (1) 概率化.   p soft  应为概率向量, 即满足  p soft ∈ [0,1]  且各维度的值之和为  1.
                    (2) 单调性.  p soft  各维度中的概率值应与其对应算法的准确率呈正相关, 即准确率越高的算法对应的输出概率
                 越大.
                    为了满足上述条件, 本文将软标签           p soft  定义为:

                                             ((                                  ))
                                              Acc(A 1 (T),L) Acc(A 2 (T),L)  Acc(A m (T),L)
                                       p soft = s       ,          ,...,                             (11)
                                                  t soft     t soft       t soft
                 其中,  t soft > 0 为温度系数超参数, 用来控制软标签的分布平滑程度.           t soft  越小,  p soft  的分布形状越尖锐, 即不同类别
                                t soft  趋于  0  时,
                 间概率差异越大. 当                p soft  的极限值即为  p hard .
                    图  3  通过简单的示例说明了现有方法采用的硬标签和本文提出的基于历史任务准确率的软标签的差异. 3                               个
                 候选的时间序列异常检测算法在该训练数据上的准确率分别为                       0.2、0.5  和  0.3, 对应的硬标签  O(T) 为  2, 等价于

                 p hard = (0,1,0), 表示算法  A 2  在时间序列  T  上的异常检测准确率最高. 与之相比, 由公式        (11) 计算出的软标签为
                 p soft = (0.042,0.844,0.114) p soft  不仅反映了历史任务上最准确的异常检测算法, 同时也量化了所有候选算法间准确
                                    .
                 率的大小关系. 以     p soft  作为输出的目标值, 可以为算法选择器        f  提供有关于各个时间序列异常检测算法之间关联
                                 f  学习到更多算法选择的相关知识, 提高新任务上的检测准确率.
                 关系的信息, 有助于

                                                    硬标签                       Acc(A i (T), L)  软标签
                                                     p hard                       t soft    p soft
                          Acc(A 1 (T), L)  0.2        0       Acc(A 1 (T), L)  0.2  2      0.042
                                       argmax                              t soft =0.1  Softmax
                          Acc(A 2 (T), L)  0.5  O(T)=2  1     Acc(A 2 (T), L)  0.5  5      0.844
                          Acc(A 3 (T), L)  0.3        0       Acc(A 3 (T), L)  0.3  3      0.114

                                      (a) 硬标签                               (b) 软标签
                              图 3 现有方法采用的硬标签和本文提出的基于历史任务准确率的软标签示例

                    与第  2.3 节介绍的流水线相同, 每个历史时间序列          T  的所有定长子序列     T i,l  与   T  共享相同的软标签, 表示为  p soft,i =

                 p soft . 基于软标签的算法选择器训练的优化目标是最小化当前模型输出                   p i = P(E T (T i,l )) 与软标签  p soft,i  之间的交叉
                 熵损失, 定义为:

                                                          m ∑
                                                    L S,i =  p soft,i,j log p i,j                    (12)
                                                         j=1
                  3.3   时间序列异常检测外部知识融合
                    除训练标准时间序列分类模型 (即算法选择器) 所需的时间序列数据和异常检测算法的准确率外, 时间序列
                 异常检测的历史任务中亦包含许多额外信息                [3] , 如异常检测任务的应用场景、历史数据的异常类型和分布等. 本
                 文将其统称为外部知识. 将这些外部知识融入算法选择器中, 有助于进一步提高选择器对异常检测算法的判别能
                 力. 然而, 如何有效实现外部知识的融合颇具挑战. 主要原因有两个.
                    (1) 外部知识种类多样, 不同历史任务和时间序列数据对应的知识类型不一而足. 例如, 有些任务包含丰富的
                 异常产生原因和机理知识, 如云原生数据库系统的内存溢出、磁盘损坏、网络阻塞导致的系统崩溃等性能异常.
                 而有些任务仅能获取异常的表层信息, 如异常模式的数量、持续的步长等. 针对每类知识的特点设计特定的知识
                 融入方法显然是不现实的.
                    (2) 与历史任务不同, 在算法选择和异常检测的执行阶段, 在线新增的异常检测任务往往缺乏外部知识. 倘若
                 直接将时间序列和外部知识进行融合建模, 会导致算法选择器在原有时间序列分类模型基础上增加额外参数, 以
                 便学习外部知识与时间序列的联合特征. 这不仅会增大在线测试阶段的计算代价, 更会因外部知识缺失造成的数
                 据分布差异, 导致算法选择器的性能下降甚至失效.
                    针对上述挑战, 本文构建了一个能灵活统一处理各类知识、深入理解知识间关联的外部知识融合模块, 并将
   321   322   323   324   325   326   327   328   329   330   331