E-GraphSAGE: A Graph Neural Network based Intrusion Detection System 笔记
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中的平均值聚类方法的定义提供在下面
\]
这里,\(\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 笔记的更多相关文章
- 论文解读《Bilinear Graph Neural Network with Neighbor Interactions》
论文信息 论文标题:Bilinear Graph Neural Network with Neighbor Interactions论文作者:Hongmin Zhu, Fuli Feng, Xiang ...
- 论文笔记: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: ...
- 论文笔记: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 ...
- Skeleton-Based Action Recognition with Directed Graph Neural Network
Skeleton-Based Action Recognition with Directed Graph Neural Network 摘要 因为骨架信息可以鲁棒地适应动态环境和复杂的背景,所以经常 ...
- DeepCoder: A Deep Neural Network Based Video Compression
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract: 在深度学习的最新进展的启发下,我们提出了一种基于卷积神经网络(CNN)的视频压缩框架DeepCoder.我们分别对预测 ...
- 论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》
论文信息 论文标题:GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training论文作者:Jiezhong Qiu, Qibi ...
- Libnids(Library Network Intrusion Detection System) .
Libnids(Library Network Intrusion Detection System)是一个网络入侵检测开发的专业编程接口.它实现了基于网络的入侵检测系统的基本框架,并提供了一些基本的 ...
- 论文解读(FedGAT)《Federated Graph Attention Network for Rumor Detection》
论文信息 论文标题:Federated Graph Attention Network for Rumor Detection论文作者:Huidong Wang, Chuanzheng Bai, Ji ...
- Graph Embedding Review:Graph Neural Network(GNN)综述
作者简介: 吴天龙 香侬科技researcher 公众号(suanfarensheng) 导言 图(graph)是一个非常常用的数据结构,现实世界中很多很多任务可以描述为图问题,比如社交网络,蛋白体 ...
- Graph Neural Network——图神经网络
本文是跟着李沐老师的论文精度系列进行GNN的学习的,详细链接请见:零基础多图详解图神经网络(GNN/GCN)[论文精读] 该论文的标题为<A Gentle Introduction to Gra ...
随机推荐
- 【Python爬虫】批量爬取网页的图片&制作数据集
由于Python拥有强大且丰富的类库,语法简单,效率高而被广泛运用于网络爬虫,很多人都是通过爬虫认识Python. 因为小编最近正在做目标识别相关的项目,所以需要大量的 ...
- STM32F429 Discovery开发板应用:实现SPI-SD Card文件写入(搭载FatFS文件系统)
MCU:STM32F429ZIT6 开发环境:STM32CubeMX+MDK5 外购了一个SPI接口的SD Card模块,想要实现SD卡存储数据的功能. 首先需要打开STM32CubeMX工具.输入开 ...
- pcie reset系列之 内核框架
FLR是pci reset的一种. 关于FLR的寄存器操作比较简单, 相关的寄存器有: 配置空间里device cap里的FLR capability bit, 这个表示设备是否支持FLR. 配置空间 ...
- ReactNative原理与核心知识点
React Native特点 跨平台 使用js写出页面组件代码被React框架统一转成Virtual DOM树,Virtual DOM树是UI结构的一层抽象,可以被转换成任何支持端的UI视图. Rea ...
- 01-面试必会-JAVA基础篇
1. Final 有什么用? 展开查看 被 final 修饰的类不可以被继承 被 final 修饰的方法不可以被重写 被 final 修饰的变量不可以被改变, 被 final 修饰不可变的是变量的引用 ...
- Linux 可执行文件瘦身指令 strip 使用示例
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/lJ8vj-FszEoplMVcmT0I0w 在 Linux 系统下开 ...
- 记一次 .NET 某医院预约平台 非托管泄露分析
一:背景 1. 讲故事 前几天有位朋友找到我,说他的程序有内存泄露,让我帮忙排查一下,截图如下: 说实话看到 32bit, 1.5G 这些关键词之后,职业敏感告诉我,他这个可能是虚拟地址紧张所致,不管 ...
- 树形DP + 换根DP
树形DP--基础 P1352 没有上司的舞会 设 \(f[i][0/1]\) 表示第 \(i\) 个人不去或者去. 如果第 \(i\) 个人没去,那么下属可去可不去,所以 \(f[i][0] = \s ...
- pandas 生成新的Dataframe
选择某些列 import pandas as pd # 从Excel中读取数据,生成DataFrame数据 # 导入Excel路径和sheet name df = pd.read_excel(exce ...
- Linux文件与目录管理核心命令:看这篇就够了
Linux文件与目录核心命令 Linux命令操作语法示例 #命令 选项 参数 command [-options] [arguments] [root@localhost ~]# ls //命令 an ...