图像异常检测深度学习 基于图的异常检测算法_图像异常检测深度学习

图像异常检测深度学习 基于图的异常检测算法_人工智能_02

今天给大家介绍一个非常牛逼的图异常检测方法,今天只开个头,抛砖引玉,介绍下基本原理,后续有时间了,慢慢讲细节和实战。

我们如何从电子邮件或运输日志中发现有趣的事件?我们如何从IP-IP通信数据中检测端口扫描或拒绝服务攻击?通常,给定一系列加权图,有向图或二部图,每个图都汇总了一个时间窗口中的活动快照,我们如何才能发现异常图,其中包含大的密集子图(例如,双斜度)的突然出现或消失,而该图又在真实附近 使用次线性记忆的时间?为此,我们提出了一种基于随机草图绘制的方法,称为SpotLight,该方法可确保在适当选择参数的情况下,以高概率将异常图形与草图空间中的“正常”实例“相距很远”。

这篇文章的核心是将整个图结构嵌入为一个vector,然后进行图级别的异常检测,我读完的感受是:simple but effective!简直牛逼大发了。

图像异常检测深度学习 基于图的异常检测算法_java_03

这个二部图表示,密集异常出现在了t=3这一时刻,可以发现是s3和s4之间可能发生了故障。

今天要给大家介绍的论文的题目是《SpotLight: Detecting Anomalies in Streaming Graphs》,这是一篇2018年kdd上的文章,主要介绍了如何在动态二部图中进行异常检测。

论文地址:https://dl.acm.org/doi/abs/10.1145/3219819.3220040

PDF地址:https://dl.acm.org/doi/pdf/10.1145/3219819.3220040

一、算法概述

问题1: 给定一系列加权有向/二部图,{G1,G2,…},使用亚线性存储器接近实时地检测Gt是否包含突然消失的大密集有向子图。

基于该问题,本文提出了一种基于随机草图绘制的方法----SpotLight。该方法可确保在选择适当参数的情况下,以高概率将异常图形与草图空间中的“正常”图形相距很远。

1、SpotLight的应用场景有哪些?

SpotLight专注于检测涉及大的有向子图的突然出现或消失的异常,可应用于

a)检测网络通信日志中的攻击(端口扫描,拒绝服务)

b)有趣的/ 欺诈行为会在用户-用户通信日志中造成活动高峰

c)重要事件导致流入/流出某些位置的流量异常

2、spotLight与以前的方法相比有哪些优势?

在现实世界的数据集上进行的大量实验表明,SpotLight

a)与以前的方法相比,至少提高了8.4%的精度

b)速度快,可以在几分钟内处理数百万条边

c)与 边缘和草图尺寸

d)在实践中带来有趣的发现

检测大型密集有向子图的突然消失或者出现,技术挑战是在计算上,新的边缘和节点不断到达,只有限的时间和空间来处理更改。采用的方法是设计图表的简短摘要或草图,这些摘要或草图可以揭示新发现的异常,并且可以在高速移动数据流上快速进行更新和维护。

二、本文贡献

1、算法

提出了SpotLight,这是一种简单的基于随机草图的简单方法来解决问题。

2、保证

证明SpotLight在预期中具有焦点意识,即将焦点集中在边缘的添加或删除上

3、有效性

对真实数据的大量实验表明,SpotLight在性能方面优于以前的方法精确度和召回率,快速且可扩展。

三、算法细节

图像异常检测深度学习 基于图的异常检测算法_java_04

1、定义:图流

每个Gt=(St,Dt,εt),边缘集合Et中的每个边缘*(s,d,w)都源自源s ∈St*,终止于目标d∈Dt,权重为w∈R 。At = [At,sd]是Gt的邻接关系,其中每个A t,sd表示将源s连接到目的地d的边缘权重之和。

我们根据节点采样概率,将从源头的采样概率定为p,将从目标的采样概率定为q的,组成一个草图,其中包含K个特定的查询子图的总边缘权重,这些查询子图是独立且随机选择的。

2、步  骤

步骤1:它为每个图提取一个K维SpotLight草图v(G),以使包含大型密集子图的突然出现(消失)的图距离草图空间中的“正常”图很“远”。

步骤2:它利用草图空间中的距离间隙来检测产生异常的草图作为异常图

图像异常检测深度学习 基于图的异常检测算法_图像异常检测深度学习_05

SpotLight图草绘制:

图像异常检测深度学习 基于图的异常检测算法_图像异常检测深度学习_06

图像异常检测深度学习 基于图的异常检测算法_人工智能_07

举例:具有单位重量边缘的图G的 (K = 3,p = 0.5,q = 0.33)-SpotLight草图v(G):

图像异常检测深度学习 基于图的异常检测算法_python_08

具体算法:

图像异常检测深度学习 基于图的异常检测算法_python_09

分析

假设:G始终是拥有Ns个源和Ns个目标的任意加权有向图或者二分图,且Ns = Nd = N,p = q。

定义SL-distance:SL-distance是它们的SpotLight草图之间的期望平方欧几里得距离

图像异常检测深度学习 基于图的异常检测算法_java_10

G1,G2代表SpotLight空间中图形G1和G2之间 SL-distance

Focus-awareness:如下图,稠密星图的添加比稀疏匹配图的添加更异常,即d¯(G, GS ) > d¯(G, GM )。同时距离间隙甚至随着边数m和草图尺寸K的增加而增加

图像异常检测深度学习 基于图的异常检测算法_python_11

*ϵ-SL-Farness:如果 G1 和 G2满足下图的要求,则认为与G2相比,G1是ϵ-SL-Farness。

图像异常检测深度学习 基于图的异常检测算法_图像异常检测深度学习_12

异常检测标准:

图像异常检测深度学习 基于图的异常检测算法_java_13

其中ξ满足

图像异常检测深度学习 基于图的异常检测算法_图像异常检测深度学习_14

四、实验内容

1、数据集

1)Darpa dataset

包含450万个IP-IP通信,这些通信在9484个源IP和23398个目标IP之间进行,时间间隔为87.7K(分钟)。每种通信都是有向边。通过汇总每个小时持续时间内出现的边,本文获得了1463个图的流。数据集包含89种已知的网络攻击。

2)Enron dataset

包含约50000封电子邮件,这些电子邮件在Enron公司的151名员工中,围绕着著名的Enron丑闻在3年时间内进行了交换。每封电子邮件都是有向边的(发件人,收件人,时间戳)。通过将每天视为自己的图,得出1139张图的流。

3)NycTaxi dataset

包含从纽约市出租车委员会获得的3个月(2015年11月至2016年1月)期间的出租车乘客数据。每次出租车旅行都配备有上车(PU)/下车(DO)时间和PU / DO位置的(经纬度)坐标,本文将按下列步骤处理:根据地图上的常识(包括公园,机场,体育场,桥梁,居民区,岛屿)手动选择57个在地理上或概念上可区分的纽约市区域的中心,并记下其(经度,纬度)坐标。然后将每个PU / DO位置分配到最近的区域。因此,为每个出租车行程创建了一个有向边(srcZone,dstZone,时间戳),这些被进一步汇总为2208个图表。

2、试验结果

SpotLight(SL)与基线(EW,RHSS,STA)的precision(精确度),recall(召回率),运行时间的结果对比

图像异常检测深度学习 基于图的异常检测算法_人工智能_15

图像异常检测深度学习 基于图的异常检测算法_算法_16

图像异常检测深度学习 基于图的异常检测算法_图像异常检测深度学习_17

SL的可扩展性以及边的数量和草图尺寸

图像异常检测深度学习 基于图的异常检测算法_python_18

1)Darpa dataset的异常检测结果

图像异常检测深度学习 基于图的异常检测算法_算法_19

2)Enron dataset的SL异常检测结果

图像异常检测深度学习 基于图的异常检测算法_python_20

3)NycTaxi dataset的SL异常检测结果

图像异常检测深度学习 基于图的异常检测算法_python_21