0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用于学习图结构对象相似性的图匹配网络

DPVg_AI_era 来源:lq 2019-05-08 09:40 次阅读

DeepMind & Google最新论文提出图匹配网络,用于相似性学习问题,在几大图相关任务中性能超过了标准图网络GNN和其他模型。

一种新的图匹配网络,在几个图相关任务中均胜过精心设计的神经网络模型和基于标准GNN的图嵌入模型。

本文介绍来自DeepMind & Google的一篇ICML论文:《用于学习图结构对象相似性的图匹配网络》。

地址:

https://arxiv.org/pdf/1904.12787.pdf

这篇论文针对图结构对象的检索与匹配这一具有挑战性的问题,做了两个关键的贡献。

首先,作者演示了如何训练图神经网络(GNN)在向量空间中生成图嵌入,从而实现高效的相似性推理。

其次,作者提出了一种新的图匹配网络(Graph Matching Network)模型,给出一对图形作为输入,通过一种新的基于注意力的跨图匹配机制(cross-graph attention-based matching mechanism),对图对进行联合推理,计算出一对图之间的相似度评分。

论文证明了该模型在不同领域的有效性,包括具有挑战性的基于控制流图(control-flow-graph)的函数相似性搜索问题,该问题在软件系统漏洞检测中具有重要作用。

实验分析表明,图匹配模型不仅能够在相似性学习的背景下利用结构,而且还能够胜过针对这些问题精心手工设计的领域特定的基线系统。

图结构对象的相似性学习问题

图是编码关系结构的一种自然的表示,这种关系结构在许多领域都会遇到。通过图结构数据定义的计算被广泛应用于各领域,从用于计算生物学和化学的分子分析,到自然语言理解的知识图或图结构解析的分析。

近年来,图神经网络(GNNs)已成为一种有效的学习结构化数据表示和解决基于图的各种监督预测问题的模型。通过迭代地聚合局部结构信息的传播过程来设计和计算图节点表示,这些模型对图元素的排列是不变的。然后,这些节点表示被直接用于节点分类,或者合并到一个图向量中用于图分类。对于GNN,除了监督分类或回归之外的问题的研究相对较少。

本文研究了图结构对象的相似性学习问题(similarity learning),该问题在现实世界中有许多重要的应用,尤其是在图数据库中基于相似性的检索。

一个应用是二进制函数计算机安全问题的相似性搜索,给定一个可能包含或不包含具有已知漏洞代码的二进制,我们要检查该二进制中的任何控制流图是否与数据库中已知易受攻击的函数非常相似。

这有助于在封闭源代码软件中识别易受攻击的静态链接库,这是一个反复出现的问题,目前没有好的解决方案。

图1显示了该应用的一个示例,其中二进制函数表示为带有汇编指令注释的控制流图。

二进制函数相似性学习问题

这种相似性学习问题非常具有挑战性,因为细微的差异就可以使两个图在语义上非常不同,而具有不同结构的图仍然可以是相似的。

因此,一个成功的模型应该:

(1)利用图的结构,

(2)能够从图的结构和所学习的语义推断出图的相似性。

为了解决图的相似度学习问题,我们研究了GNN在这种情况下的使用,探讨了如何将图嵌入到向量空间中,并学习这种嵌入模型,使相似的图在向量空间中更接近,而不同的图在向量空间中距离更大。

该模型的一个重要特性是,它将每个图独立地映射到一个嵌入向量,然后所有的相似度计算都在向量空间中进行。因此,可以预先计算和索引大型数据库中的图嵌入,从而能够使用快速的最近邻搜索数据结构(如k-d trees)或局部敏感哈希算法(locality sensitive hashing)实现高效检索。

我们进一步提出了一种对GNN的扩展,我们称之为图匹配网络(Graph Matching Networks, GMNs),用于相似性学习。

GMN不是单独计算每个图的表示,而是通过cross-graph的注意力机制来计算相似度评分,以便跨图进行关联节点和识别差异。通过使图表示计算依赖于对(pair),该匹配模型比嵌入模型更强大,提供了良好的精度-计算的权衡。

我们在三个任务上评估了所提出的模型和基线模型:一个是合成图edit-distance学习任务,仅捕获结构相似性;以及两个现实世界任务——二进制函数相似性搜索和网格检索,这两个任务都需要对结构相似性和语义相似性进行推理。

在所有三个任务上,我们提出的方法都优于已有的基线模型和结构无关模型;在更详细的消融研究中,我们发现图匹配网络始终优于图嵌入模型和Siamese网络。

总结而言,本文的贡献在于:

(1)演示了如何使用GNN生成用于相似性学习的图嵌入;

(2)提出了一种新的图匹配网络,通过基于cross-graph的注意力匹配来计算相似性;

(3)实证结果表明,本文所提出的图相似性学习模型在多个应用中具有良好的性能,并且优于结构无关模型和已有的基线模型。

深度图相似性学习

给定两个图G = (V₁, E₁)和G₂ = (V₂, E₂),我们想要有一个模型来生成它们之间的相似度评分s(G₁, G₂)。每个图表示为G = (V, E),即节点V和边E的集合,任意一个节点i∈V都可以与一个特征向量x_i相关联,任意一条边(i, j)∈E都可以与一个特征向量x_ij相关联。这些特征可以表示诸如节点的类型、边的方向等。如果一个节点或一条边没有任何相关的特征,我们就将相应的向量设置为常数向量1。

我们提出了两种图相似度学习模型:一种是基于标准GNN的学习图嵌入模型,以及一种新的、更强大的GMN模型。

两种模型如图2所示。

图嵌入模型(Graph Embedding Models)

图嵌入模型是将每个图嵌入到一个向量中,然后在该向量空间中使用相似性度量来度量图之间的相似性。我们的GNN嵌入模型包括三个部分:(1)编码器,(2)传播层,(3)聚合器。

图2:图嵌入模型(左)和图匹配模型(右)

图匹配网络

图匹配网络以一对图作为输入,并计算它们之间的相似度评分。与嵌入模型相比,匹配模型是在“对”的基础上计算相似度的,而不是先将每个图单独映射到一个向量。因此,匹配模型可能比嵌入模型更强大,但代价是额外的计算效率。

我们提出如下的图匹配网络,改变了每个传播层中的节点的更新模块,不仅考虑每个图边缘的聚合信息,也考虑衡量一个节点在一个图中匹配其他一个或多个节点的效果的cross-graph匹配向量:

实验和结果

本节在三个任务上评估了图相似性学习(GSL)框架和图嵌入网络(GNN)和图匹配网络(GMN),并将这些模型与其他竞争方法进行了比较。

总体而言,实验结果表明,GMN在图相似度学习方面表现优异,始终优于其他方法。

Learning Graph Edit Distances

图G₁和图G₂之间的图编辑距离(Graph edit distance)的定义是将G₁转换为G2所需的最小编辑操作数。通常,编辑操作包括添加/删除/替换节点和边缘。

图的编辑距离自然是图之间相似性的度量,在图的相似性搜索中有许多应用。通过这个实验,我们证明了GSL模型可以在极具挑战性的问题上学习图之间的结构相似性。

表1:图嵌入(GNN)和图匹配(GMN)模型与基线的比较

从表1可以看到,通过学习特定分布的图,GSL模型能够比一般基线做得更好,而GMN始终优于嵌入模型(GNN)。

图3:图匹配模型cross-graph attention的可视化

对于GMN,我们可以将cross-graph attention可视化,从而进一步了解它是如何工作的。图3显示了匹配模型的两个例子,cross-graph注意力权重以绿色表示,权重的比例以绿色边的透明度表示。我们可以看到,当两个图匹配时,注意力权重可以很好地对齐节点,当两个图不匹配时,注意力权重往往集中在度数较高的节点上。然而,这种模式并不像标准注意力模型那样具有可解释性。

基于控制流图的二进制函数相似性搜索

二进制函数相似性搜索(Binary function similarity search)是计算机安全中的一个重要问题。当我们无法访问源代码时,例如在处理商业或嵌入式软件或可疑的可执行程序时,就需要分析和搜索二进制文件。结合反汇编器和代码分析器,我们可以提取一个控制流图(CFG),它以结构化格式包含二进制函数中的所有信息。

在CFG中,每个节点都是组装指令的基本块,节点之间的边表示控制流,例如在分支、循环或函数调用中使用的跳转或返回指令表示。

本节中,我们将针对漏洞搜索问题,其中使用已知存在一些漏洞的二进制代码片段作为查询,并通过一个库搜索,找到可能具有相同漏洞的类似二进制代码。

结果如图4所示,评估了不同模型在不同传播步数和不同数据设置下的性能。

图4:不同模型在二进制函数相似性搜索任务中的性能

结果很显然:

(1)随着传播步数增加,图嵌入模型和匹配模型的性能都不断增高;

(2)在传播步数足够的情况下,图嵌入模型始终优于基线;

(3)图匹配模型在所有设置和传播步数的情况下都优于嵌入模型。

表2:函数相似性搜索任务的更多结果

表2总结了更多实验,结果表明:

(1)GNN嵌入模型是有竞争力的模型(比GCN模型更强大);

(2)利用Siamese网络结构在图表示的基础上学习相似度优于使用预先指定的相似度度量;

(3)在计算过程的早期,GMN优于Siamese模型,说明了跨图信息通信的重要性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    5862

    浏览量

    103269
  • 二进制
    +关注

    关注

    2

    文章

    708

    浏览量

    41266
  • GNN
    GNN
    +关注

    关注

    1

    文章

    31

    浏览量

    6287

原文标题:超越标准 GNN !DeepMind、谷歌提出图匹配网络| ICML最新论文

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于序贯相似性测算法的图像模板配准算法

    入的研究.在传统的序贯相似性检测算法(SSDA)基础上,提出一种新的配准算法.实验证明,该算法比传统的SSDA算法在速度上有较大提高,能满足在线烟标检测系统中图像处理算法的实时性要求【关键词】:模板配准
    发表于 04-24 10:02

    Altium标识符的相似对象后原理界面就变成图中样子

    这个我一查找该 标识符的相似对象后,原理界面就变成这样显示白色,那怎么退出为正常原理界面啊
    发表于 04-02 07:35

    模型和数据库

    在真实世界中,存在着许多十分相似网络结构,可以使用极为简单的来建立它们的模型。模型和数据库得到广泛的关注,并且在许多应用领域获得的应
    发表于 09-02 07:18

    影像匹配中几种相似性测度的分析

    摘要对基于灰度影像匹配中的几种相似性测度进行了研究,分析了每种测度的直观意义、限制条件以及改进措施,最后通过实脸结果验证了L述结论关健词影像匹配:相似hi测度;
    发表于 01-09 16:44 10次下载

    基于相似性度量的高维聚类算法的研究

    针对高维数据相似度难以定义的问题,本文提出了一种新的高维数据聚类算法。该算法基于一个能够更准确表达高维数据对象之间相似性的度量函数,首先计算对象两两之间的
    发表于 01-27 13:31 5次下载

    基于项目相似性度量方法的项目协同过滤推荐算法

    结构相似性两部分构成:评分相似性部分充分考虑两个项目评分之间的评分差、项目评分与评分中值之差,以及项目评分与其他评分平均值之差;结构相似性
    发表于 12-03 09:46 0次下载

    基于深度特征分析的双线性图像相似匹配算法

    分析的双线性图像相似匹配的方法。首先,将图像数据集在卷积神经网络模型上进行微调训练,然后利用训练好的卷积神经网络对图像进行特征提取,获得全连接层输出的特征之后,通过双线性
    发表于 12-11 11:07 0次下载
    基于深度特征分析的双线性图像<b class='flag-5'>相似</b>度<b class='flag-5'>匹配</b>算法

    基于网络本体语言OWL表示模型语义的相似性计算方法

    以念属性特征为基础语义对象结构化表示模型;然后,从OWL表示模型中提取用于评价两个模型相似性的特征语信息,构建可量化的相似元集,借助予图同
    发表于 12-17 10:33 0次下载
    基于<b class='flag-5'>网络</b>本体语言OWL表示模型语义的<b class='flag-5'>相似性</b>计算方法

    一种基于SQL的图相似性查询方法

    图作为一种表示复杂信息的数据结构,被广泛应用于社交网络。知识图谱,语义网,生物信息学和化学信息学等领域.随着各领域应用的普及和深入开展,如何管理这些复杂图数据是目前图数据库技术面临的巨大挑战
    发表于 12-19 16:17 0次下载
    一种基于SQL的图<b class='flag-5'>相似性</b>查询方法

    一种新的混合相似性权重的非局部均值去躁算法

    滤波函数对细节子带进行预去噪处理;然后,根据预去噪图像计算块间相似性参考因子,并使用其替换传统NLM算法中高斯核函数;最后,为使相似性权重更符合人眼视觉系统(HVS)特点,使用基于图像结构感知的块奇异值分解(SVD)方法
    发表于 12-25 15:36 0次下载

    基于划分思想的文件结构相似性比较方法

    针对传统文件结构相似性比较法中采用基本块( BB) -对一映射而造成的巨大时空消耗及基本块比较结果的绝对化问题,提出一种基于划分思想的文件结构相似性比较方法。该方法首先对
    发表于 01-02 14:04 0次下载
    基于划分思想的文件<b class='flag-5'>结构</b>化<b class='flag-5'>相似性</b>比较方法

    云模型重叠度的相似性度量算法

    云模型相似性是用来度量同类概念不同语言值的多个云之间关联程度的方法,相似云及其度量分析方法的提出是对云模型理论的扩展。针对目前相似性度量方法中时间复杂度过高和结果不稳定等不足,提出了一种基于云模型
    发表于 01-07 10:54 1次下载

    基于节点相似性社团结构划分

    针对复杂网络结构划分过程复杂、准确性差的问题,定义了节点全局和局部相似性衡量指标,并构建节点的相似性矩阵,提出一种基于节点相似性度量的社团结构
    发表于 01-10 14:02 0次下载

    一种快速计算动态网络相似性的方法

    复杂网络相似性度量在异常检测、状态划分等网络分析应用中起着至关重要的作用。近年来,静态网络相似性受到学者的广泛关注,但在实际场景中,
    发表于 06-04 15:58 4次下载

    基于结构相似性可靠性监测结果

    电子发烧友网站提供《基于结构相似性可靠性监测结果.pdf》资料免费下载
    发表于 02-05 09:10 0次下载
    基于<b class='flag-5'>结构</b><b class='flag-5'>相似性</b>可靠性监测结果