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. 实例讲解Flink 流处理程序编程模型

    摘要:在深入了解 Flink 实时数据处理程序的开发之前,先通过一个简单示例来了解使用 Flink 的 DataStream API 构建有状态流应用程序的过程. 本文分享自华为云社区<Flin ...

  2. kafka学习笔记01

      类似于京东商城这种电商系统,一般会在前端页面进行埋点记录仪用户的行为数据,包括浏览.点赞.收藏.评论等.这些行为会被记录到日志服务器中,使用Flume进行采集,然后传入Hadoop中.   Flu ...

  3. 将 -Xms 参数设置和-Xmx 参数的相等,对比 -Xms参数 设置为-Xmx 参数的一半,有哪些优势?

    将 -Xms 参数设置为与 -Xmx 参数相等,相比于将 -Xms 参数设置为 -Xmx 参数的一半,具有以下优势: 1. 程序启动时间更短 当将 -Xms 参数设置为与 -Xmx 参数相等时,JVM ...

  4. ShardingSphere5入门到实战

    ShardingSphere5入门到实战 第01章 高性能架构模式 互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能.高性能数据 ...

  5. CentOS 8搭建Kubernetes-k8s集群-1.18.5

    目录 环境配置 服务器信息 软件版本 环境正确性 端口正常开放 kube-master节点端口 kube-node节点端口 配置主机互信 配置hosts映射 配置ssh密钥 禁用swap 关闭SELi ...

  6. SaaS软件工程师成长路径

    背景 SaaS软件工程师的成长需要循序渐进,和SaaS业务一样有耐心.SaaS工程师需要在"业务"."技术"."管理"三个维度做好知识储备. ...

  7. 【转载】Linux虚拟化KVM-Qemu分析(十一)之virtqueue

    转载自: 作者:LoyenWang 出处:https://www.cnblogs.com/LoyenWang/ 公众号:LoyenWang 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作者 ...

  8. 2021-3-13 xml的增删改查

    public void XmlAdd(string filename, List<People> pList) { try { List<People> peoples = X ...

  9. 【干货】浅谈如何给.net程序加多层壳达到1+1>2的效果

    软件破解分白盒和黑盒两种方式. 白盒破解:白盒破解是指对软件进行破解时,攻击者可以访问软件的内部结构和源代码.这种破解方式通常发生在软件的开发者.技术人员或软件公司内部.攻击者使用这些详细信息来理解软 ...

  10. .Net Web API 005 Controller上传小文件

    1.附属文件对象定义 一般情况下,系统里面的文件都会附属一个对象存在,例如用户的头像文件,会附属用户对象存在.邮件中的文件会附属邮件存在.所以在系统里面,我们会创建一个附属文件对象,命名为Attach ...