本发明涉及图神经网络和异常检测领域,尤其是图中节点的异常检测方面。通过对计算机操作的时序信息的编码,学习连续时间上的关系,结合时序编码,利用图注意力网络分析图的结构和节点间的关系,在经过自回归流算法生成数据表示的基础上,将对数密度作为异常得分。利用异常检测算法实现对计算机操作检测,可为相应的公司信息安全,防止泄露公司机密,提供异常操作溯源的方法。
背景技术:
1、计算机操作异常主要包括使用网络传输本地数据和使用u盘等移动工具拷贝本地资源等,对信息安全,保密文件等危害极大。计算机操作异常容易泄露涉密信息,造成不可挽回的损失。所以对计算机操作进行检测以及尽早发现异常,具有重要的实际意义。
2、异常检测是数据挖掘中的一个重要应用,被用来发现数据集中不同于其他数据的对象。离群点检测是异常检测的一种常用方法,传统的离群点检测的一般过程为:首先,根据已有的正常数据建立一个参考模型,对于新的观测数据,测试数据相似度是否在某个阈值之内,以此来判断数据是否是异常数据。传统的异常检测的方法也非常多,可以大致分为4类,包括基于统计的方法、基于距离的方法、基于偏差的方法、基于密度的方法。
3、目前,神经网络在异常检测领域的效果非常可观。图注意力网络算法在处理图结构数据上取得了良好的效果,算法核心为注意力机制,对图中的边应用注意力权重,能良好的学习节点间的关联程度,同时学习图的结构关系。自回归流作为一种生成模型,提供了一种普适的方法来定义(或描述)富有表现力(比如复杂的分布)的概率分布,它仅仅要求一个特定的基分布(如简单的高斯分布)和一系列的双射变换。本发明考虑结合图注意网络和自回归流算法进行异常检测。
技术实现思路
1、本发明的目的是为了解决现有技术存在的问题,而提出一种基于图注意力和自回归流的计算机操作异常检测方法,其特点在于,该方法包括计算机操作数据的图结构化的学习和操作数据的异常对数密度分数两个部分,其中:
2、所述计算机操作数据的图结构化的学习包括基于长短期记忆单元lstm的循环神经网络对时序关系的编码学习,基于图注意力网络的图结构学习;
3、所述操作数据的异常对数密度分数包含基于自回归流的正态分布计算,雅可比行列式计算,结合两者结果得到对数密度分数。
4、一种基于图注意力和自回归流的计算机操作异常检测方法实现流程为:
5、步骤1,通过数据增强与采样技术,对计算机异常操作数据进行扩充,将计算机操作数据转换为图数据,取固定窗口大小t的时序数据为一个节点i;
6、步骤2,通过长短期记忆单元lstm,对数据的时间信息编码,计算机操作之间的连续时序关系由以下公式计算:
7、
8、其中,表示t时刻节点i及其属性,表示t-1时刻隐藏状态,表示t时刻的隐藏状态;
9、步骤3,在步骤2的基础上,将t时刻的隐藏状态作为节点的输入属性,结合图的邻接矩阵,通过图注意力网络学习各节点间的关系与拓扑结构,输出每个节点编码表示
10、步骤4,通过自回归流算法将节点表示和编码表示进行重构,由以下计算公式生成新的节点表示z:
11、
12、其中f为自回归流函数;
13、步骤5,设p(x)为某一节点的密度,定义其为计算机操作节点的异常分数,为便于计算,采用对数密度来计算异常得分,对数密度由以下公式计算:
14、
15、其中q表示概率密度函数,指定其符合正态分布,为雅可比行列式,n为节点个数,t为时间长度,即窗口大小;
16、步骤6,在步骤5的基础上,通过优化损失函数,得到最优模型;
17、步骤7,利用步骤6的模型对新的操作记录进行检测,根据其异常分数判断是否是异常。
1.一种基于图注意力和自回归流的计算机操作异常检测方法,其特征在于,该方法融合了计算机操作数据的图结构化的学习和异常对数密度的计算,算法的主要步骤如下:
2.根据权利要求1所述的一种基于图注意力和自回归流的计算机操作异常检测方法,其特征在于采用数据增强与采样方法来预处理数据,提高了模型对异常数据的敏感度,降低了模型出现过拟合的概率。
3.根据权利要求1所述的一种基于图注意力和自回归流的计算机操作异常检测方法,其特征在于,所述步骤2通过长短期记忆单元lstm,对数据的时间信息编码,计算机操作之间的连续时序关系由以下公式计算:
4.根据权利要求1所述的一种基于图注意力和自回归流的计算机操作异常检测方法,其特征在于,所述步骤3,在步骤1的基础上,将数据转化为图结构,在步骤2的基础上,将t时刻的隐藏状态作为图节点的输入属性,结合图的邻接矩阵a,通过图注意力网络学习各节点间的关系与拓扑结构,输出每个节点编码表示
5.根据权利要求1所述的一种基于图注意力和自回归流的计算机操作异常检测方法,其特征在于,所述步骤4通过自回归流算法将节点表示和编码表示进行重构,由以下计算公式生成新的节点表示z:
6.根据权利要求1所述的一种基于图注意力和自回归流的计算机操作异常检测方法,其特征在于,所述步骤5根据异常分数定位异常,设p(x)为某一节点的密度,定义其为计算机操作节点的异常分数,为便于计算,采用对数密度来计算异常得分,对数密度由以下公式计算: