链表的创建

Goby Server By Docker

  返回  

[文献阅读]Multi-Scale One-Class Recurrent Neural Networks for Discrete Event Sequence Anomaly Detection

2021/8/21 1:21:38 浏览:

1.Introduction

离散事件序列异常检测
在这里插入图片描述

每个日志由消息类型和变量组成,当日志键根据记录时间按照顺序排列的时候,它们形成一个离散时间序列。
比如说这个例子,如果正常状态下k2总在k1之后,那么k2接在k5之后就可能是系统的一个异常状态。

存在的两个问题:
1.异常检测问题中的数据不平衡问题。系统大部分时间处于正常状态,异常状态比较罕见,这使得二元分类模型在异常检测上变得没有效果。
2.事件的离散性,离散事件序列由离散的符号组成,很难捕捉事件随时间的关系。

于是作者提出一种用于事件序列异常检测的多尺度单分类递归神经网络框架OC4SEQ,将异常检测目标与专门设计的深度序列模型集成起来,模型包含了不同尺度的序列模式。

2. THE PROPOSED FRAMEWORK

在这里插入图片描述
图为模型框架的整体,主要由两个组件组成,分别关注序列中的全局和局部信息。

2.1 Learning Embeddings for Events

框架的输入是事件序列,其中每一个事件都是一个one-hot 向量,e(i)=0,e(j)=1, et是E的第j个类型的数据。
但是现实场景中,事件空间可能特别大,即E有数以万计的类型,这就会导致非常高的维度。灾难。此外这种一个one-hot向量隐含的假设了事件是彼此独立的,这个在实际中也是不现实的。
于是作者提出了一个嵌入层,将事件嵌入到一个低维空间之中,以保持事件之间的关系。

因此引入一个嵌入矩阵E
在这里插入图片描述
其中d(e)是嵌入空间的维数,|E|是事件类型的数量。

于是et可以由如下表示。
在这里插入图片描述
xt是et新的低维密集表示向量。在嵌入层之后,输入序列将要被传递到下一个要引入的组件中。

2.2 Anomaly Detection from Global Perspective

为了检测异常序列,学习整个序列在潜在空间中的有效表示非常重要,选用递归循环神经网络(GRU)与一类目标函数相结合
给定一个正常序列:
在这里插入图片描述
GRU以递归方式学习序列的表示。在第t步,GRU输出一个状态向量ht,是前一个状态向量ht-1与候选状态ht之间的一个线性差值。
在这里插入图片描述
⊙是元素乘法。zt是更新门,用于控制当前给定信息xi的情况下应该更新多少状态。zt的计算如下:
在这里插入图片描述
其中Wz和Uz是可训练参数,σ(·)是sigmod函数。
在这里插入图片描述
候选状态ht的计算:
在这里插入图片描述
g(·)是tanh函数
在这里插入图片描述
W和U是之前等式中所提到的,r表示一个复位门,目的是为了应该在多大程度上合并当前的状态。r的计算如下:
在这里插入图片描述
最后一步的状态向量总结了前面步骤中的所有信息,将其视为整个序列的表示。

同时受深度SVDD的启发,即所有的正常数据都应该位于潜在的最小的超球体之中,于是我们训练的目标函数:
在这里插入图片描述
c是潜在空间预定义的中心,n是训练集中的序列总数,序列中第一项使用二次损失类惩罚每个序列到中心的距离,第二项是由超参数λ控制的正则化器。目的是使得向量与潜在空间中心的距离最小。

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号