∈RF,以此来表示当前节点状态。节点特征卷积模型如下所示:
经过卷积后可以得到每个节点的特征维度X′∈Rd×F,然后通过全局最大池化得到全局表示x∈RF。
注意首先需要将相同服务节点划分为同一组中,相同组节点共享权重。
Dependency Model
考虑到组件间的依赖关系,因此论文中利用节点间不同的关系来进行邻居节点特征融合,提出了 D-Arvalus 模型。
基于依赖关系的模型如下图所示:
论文中首先定义了不同边类型,而且节点间依赖关系是已知的,定义了五种类型的关系如下表所示
以定义的类型作为边属性标记,然后将z 种不同标记通过 one-hot 编码转换为边属性向量rij∈N0z。
为了使用图卷积的方法,需要学习每条边的权重作为邻接矩阵的值,论文中通过节点属性和边属性来学习此权重
A~ij=∑k∈N(i)exp(ELU(f(xi,rik,xk)))exp(ELU(f(xi,rij,xj)))
其中f:R2F+z→R 是线性神经网络,将属性特征映射到边权重值。
在此基础上论文中定义了简单的空间图卷积形式,直接融合相邻节点特征:
xi′=j∈N(i)∑A~ij⋅xj
Identification and Localization of Anomalies
考虑融合节点特征和依赖关系特征后,论文中直接对节点特征进行分类。
分类模型如 Fig.2 最后模块所示,线性特征转换 + Softmax。
至于异常类型,论文中定义了 Local、Neighborhood 和 Adversary 来对系统组件进行标注并且以不同的异常类型条件来进行故障数据模拟!
Experiments
在人工生成的数据集中验证了 Arvalus 和 D-Arvalus 方法的有效性,结果如下图所示:
Thoughts
论文基于当前流行方法来解决异常发现问题,想法好但是感觉选择性忽略了几个问题:
- 生产环境中组件的依赖关系复杂,大部分情况下难以得到不同组件间的依赖类型,但在论文中仅以引用其它论文来假设可以得到依赖关系。
- 异常类型标注需要专家经验。
- 实验中仅在人工数据集中模拟故障类型并来验证算法,很难有说服力!
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 梦家博客! 打赏
wechat
alipay