E-GraphSAGE: A Graph Neural Network based Intrusion Detection System

介绍

总之,本文的主要贡献有两个:

• 我们提出并实现了 E-GraphSAGE,它是 GraphSAGE 的扩展,它允许结合边缘特征/属性进行图表示学习。 这一贡献适用于一系列 GNN 用例,其中边缘特征代表关键信息。

• 我们将 E-GraphSAGE 应用于网络入侵检测和网络流分类,并通过广泛的实验评估证明其潜力。

本文的其余部分安排如下。 第二节讨论了关键的相关工作,第三节提供了 GNN 和 GraphSAGE 的相关背景。 我们提出的 E-GraphSAGE 算法和相应的 NIDS 在第四节中介绍。 实验评估结果在第六节中介绍,第七节总结了论文。

翻译

训练阶段

在我们的实施过程中使用的神经网络模型由两个egraphsage层组成,这意味着邻居信息是由一个两跳的邻域聚集成的。对于聚集函数AGG,就像在公式5中展示的那样,我们使用平均数方法,他简单寻找基于元素的平均值,这个平均值是从样本的邻居中的边缘嵌入的平均值。在egraphsage中的平均值聚类方法的定义提供在下面

\[h^k_{N(v)}=\sum\limits_{{u\in N(v),\atop uv\in \epsilon}} \frac{h^{k-1}_{uv}}{\lvert N(v)\rvert _e}
\]

这里,\(\lvert N(v)\rvert _e\)代表在样本邻域的边缘的数量,\(h^{k-1}_{uv}\)代表他们的嵌入在k-1。为了我们的实现,我们选择全邻域样本,这意味着在一个节点的邻域的全部边缘的平均值信息被聚合

在两个egraphsage层中,对于每层的隐特征大小的表示在公式3中,我们使用128个隐藏节点,同时他们也是节点嵌入的维度。对于非线性的转换,我们使用ReLU激活函数,并且为了规则化的提出,我们在两个egraphsage层中,使用一个比率为0.2的退出机制。我们使用交叉熵损失函数,并且在反向传播阶段的梯度下降阶段使用亚当优化器执行,学习率为0.001

在egraphsage最后一层中生成节点嵌入时,他们转换成对应的边缘嵌入。因为边缘嵌入通过拼接两个节点产生的,所以边缘嵌入的大小是256维。

GNN

A common task performed by GNNs is to generating node embeddings [16], which aims to encode nodes as low-dimensional vectors, while maintaining their key relationships and graph position in the original format. A pair of node embeddings can be concatenated together to form edge embeddings to represent the edges. Node or edge embedding is typically a key precursor to ’downstream tasks such as node and edge classification or link prediction [16]. GNNs have recently received a lot of attention due to their convincing performance and high interpretability of the results through the visualisation of the graph embeddings [17].

GraphSAGE

为了推广CNN的强大能力到非欧空间结构的数据上,GNNs使用了消息传递的概念。为此,图节点的邻居的特征通常被聚合或者作为传递到那个节点上的一个消息。这个过程在一些迭代中多次重复,以从网络节点中传播信息。最终的结果,即在每个节点中获取的聚合信息,被称作节点嵌入。

如果从每个迭代的每个节点的邻居收集信息,就像在很多GNN中提议的那样,这个方法受到可扩展性的限制,同样也有在大型图中无法预测的存储和计算资源的需求

Batch Size定义:一次训练所选取的样本数。

Forward Propagation - Node Embedding

当前第k层v节点的嵌入等于激活函数下 权重乘 k-1层的v的嵌入拼接k-1层v的邻居的嵌入

重要文献

Q. Xiao, J. Liu, Q. Wang, Z. Jiang, X. Wang, and Y. Yao, “Towards Network Anomaly Detection Using

Graph Embedding,” in Computational Science – ICCS 2020, V. V. Krzhizhanovskaya, G. Závodszky, M. H. Lees, J. J. Dongarra, P. M. A. Sloot, S. Brissos, and J. Teixeira, Eds., Cham: Springer International Publishing, 2020, pp. 156–169, ISBN : 978-3-030-50423-6.


Xiao et al. [11] proposed a graph embedding approach to perform anomaly detection on network flows. The authors first converted the network flows into a first-order and secondorder graph. The first-order graph learns the latent features from the perspective of a single host by using its IP address and port number. The second-order graph aims to learn the latent features from a global perspective by using source IP addresses, source ports, destination IP addresses, as well as destination ports. The extracted graph embeddings and the raw features are then used to train a Random Forest classifier to detect network attacks. The evaluation is limited to only two NIDS datasets, namely CICIDS 2017 [12] and CIDDS001 [13]. In contrast, the evaluation of E-GraphSAGE-based NIDS considers six recent benchmark datasets. Moreover, a more significant limitation of this approach is its use of a traditional transductive graph embedding method [6], which limits its ability to classify samples with graph nodes, e.g. IP addresses and port numbers, which were not seen during the training phase. This makes the approach unsuitable for most practical NIDS application scenarios, as we cannot assume that all local and remote IP addresses and port numbers in the network are known at training time. In contrast, the EGraphSAGE approach presented in this paper uses an inductive graph neural learning approach, which does not suffer from this limitation.

E-GraphSAGE: A Graph Neural Network based Intrusion Detection System 笔记的更多相关文章

  1. 论文解读《Bilinear Graph Neural Network with Neighbor Interactions》

    论文信息 论文标题:Bilinear Graph Neural Network with Neighbor Interactions论文作者:Hongmin Zhu, Fuli Feng, Xiang ...

  2. 论文笔记:Person Re-identification with Deep Similarity-Guided Graph Neural Network

    Person Re-identification with Deep Similarity-Guided Graph Neural Network 2018-07-27 17:41:45 Paper: ...

  3. 论文笔记:ReNet: A Recurrent Neural Network Based Alternative to Convolutional Networks

    ReNet: A Recurrent Neural Network Based Alternative to Convolutional Networks2018-03-05  11:13:05   ...

  4. Skeleton-Based Action Recognition with Directed Graph Neural Network

    Skeleton-Based Action Recognition with Directed Graph Neural Network 摘要 因为骨架信息可以鲁棒地适应动态环境和复杂的背景,所以经常 ...

  5. DeepCoder: A Deep Neural Network Based Video Compression

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract: 在深度学习的最新进展的启发下,我们提出了一种基于卷积神经网络(CNN)的视频压缩框架DeepCoder.我们分别对预测 ...

  6. 论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》

    论文信息 论文标题:GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training论文作者:Jiezhong Qiu, Qibi ...

  7. Libnids(Library Network Intrusion Detection System) .

    Libnids(Library Network Intrusion Detection System)是一个网络入侵检测开发的专业编程接口.它实现了基于网络的入侵检测系统的基本框架,并提供了一些基本的 ...

  8. 论文解读(FedGAT)《Federated Graph Attention Network for Rumor Detection》

    论文信息 论文标题:Federated Graph Attention Network for Rumor Detection论文作者:Huidong Wang, Chuanzheng Bai, Ji ...

  9. Graph Embedding Review:Graph Neural Network(GNN)综述

    作者简介: 吴天龙  香侬科技researcher 公众号(suanfarensheng) 导言 图(graph)是一个非常常用的数据结构,现实世界中很多很多任务可以描述为图问题,比如社交网络,蛋白体 ...

  10. Graph Neural Network——图神经网络

    本文是跟着李沐老师的论文精度系列进行GNN的学习的,详细链接请见:零基础多图详解图神经网络(GNN/GCN)[论文精读] 该论文的标题为<A Gentle Introduction to Gra ...

随机推荐

  1. 移动App测试概述:移动App特性

    移动App测试概述:移动App特性 移动App在现代人的日常生活中扮演着越来越重要的角色,因而对于它们的质量和稳定性的要求也越来越高.为了确保App的质量,开发商需要进行充分的测试和检验.本文将讨论移 ...

  2. 【Python&GIS】判断图片中心点/经纬度点是否在某个面内

     Python的exifread库可以获取图片中的源数据信息,包括经纬度.相机厂商.曝光时间.焦距.拍摄时间.拍摄地点等等信息.我们可以通过exifread库从图片中获取图片的经纬度,再通过shape ...

  3. 如何在.net6webapi中实现自动依赖注入

    IOC/DI IOC(Inversion of Control)控制反转:控制反正是一种设计思想,旨在将程序中的控制权从程序员转移到了容器中.容器负责管理对象之间的依赖关系,使得对象不再直接依赖于其他 ...

  4. Apikit 自学日记:如何安装 Apikit

    肯定会有和我一样的小白,第一次听说 Apikit这个工具,那么我今天和大家一起学习下这个工具如何安装. Apikit 有三种客户端,你可以依据自己的情况选择.三种客户端的数据是共用的,因此你可以随时切 ...

  5. 学生课程分数的Spark SQL分析

    读学生课程分数文件chapter4-data01.txt,创建DataFrame. url = "file:///D:/chapter4-data01.txt" rdd = spa ...

  6. Linux多线程(8.3 线程同步与互斥)

    3. 线程的同步与互斥 为什么需要同步与互斥 ​ 一个进程运行时,数据存储在内存中.如果一个数据要进行运算,必须先将数据拷贝到寄存器中.比如要对栈上的一个int i进行"++"操作 ...

  7. 1. CS和BS的优缺点

    1. CS CS : 客户端服务器架构模式 优点 : 充分利用客户端机械的资源 , 减轻服务器的符合 缺点 : 需要安装 : 升级维护成本较高 ‍ 2. BS ‍ 优点 : 客户端不需要安装 : 维护 ...

  8. 图书商城项目练习②后端服务Node/Express/Sqlite

    本系列文章是为学习Vue的项目练习笔记,尽量详细记录一下一个完整项目的开发过程.面向初学者,本人也是初学者,搬砖技术还不成熟.项目在技术上前端为主,包含一些后端代码,从基础的数据库(Sqlite).到 ...

  9. 使用部分写时复制提升Lakehouse的 ACID Upserts性能

    使用部分写时复制提升Lakehouse的 ACID Upserts性能 译自:Fast Copy-On-Write within Apache Parquet for Data Lakehouse A ...

  10. 【小小Demo】网页视频通话小🌰子

    工程名 video-call 一个简单的 音视频通话 demo,包含:视频.麦克风.屏幕共享操作. 项目环境 jdk1.8 idea maven springboot 2.1.1.RELEASE we ...