当前位置: 首页 > news >正文

论文阅读笔记《DEEP GRAPH MATCHING CONSENSUS》

核心思想

  本文提出一种基于图神经网络的图匹配方法,首先利用节点相似度构建初始的匹配关系,然后利用局部的一致性对初始的匹配关系进行迭代优化,不断筛除误匹配点,得到最终的匹配结果。本文还提出几种措施来降低计算复杂度,以实现较大规模的图匹配任务。

实现过程

  首先给出基本的概念和符号定义,图G=(V,A.X,E)G=(V,A.X,E)G=(V,A.X,E)VVV表示节点集合,AAA表示关联矩阵,XXX表示节点特征矩阵,EEE表示边特征矩阵,Gs,GtG_s,G_tGs,Gt分别表示用于匹配的源图和目标图,SSS表示对应关系矩阵。根据本文对图匹配问题的定义,目标是寻找最优的SSS,使得下述目标函数取得最大值
在这里插入图片描述
NT(i)N_T(i)NT(i)表示与节点iii之间的距离小于等于TTT的邻域,称之为T-hop邻域。而邻域(局部)一致性是指,对于一对匹配点i,ji,ji,j,他们1-hop邻域N1(i)N_1(i)N1(i)内的所有点都是匹配点。
在这里插入图片描述
  如上图所示,算法分成两个阶段:第一阶段根据节点特征之间的相似度得到初始的对应关系矩阵S(0)S^{(0)}S(0);第二阶段利用局部一致性约束进行迭代优化得到最终的对应关系矩阵S(L)S^{(L)}S(L)。第一阶段,作者称之为局部特征匹配,利用共享权重的图神经网络Ψθ1\Psi_{\theta_1}Ψθ1分别提取两个图Gs,GtG_s,G_tGs,Gt的深度节点特征Hs,HtH_s,H_tHs,Ht。然后利用下式得到初始的对应关系矩阵S(0)S^{(0)}S(0)
在这里插入图片描述
设真实的匹配关系为πgt(⋅)\pi_{gt}(\cdot)πgt(),则第一阶段的损失函数为
在这里插入图片描述
  对应关系矩阵S(0)S^{(0)}S(0)实质上是一个从源图的节点函数空间L(Gs)L(G_s)L(Gs)到目标图节点函数空间L(Gt)L(G_t)L(Gt)的一个映射,因此可得
在这里插入图片描述
其中
在这里插入图片描述
  以单位矩阵I∣Vs∣I_{|V_s|}IVs的形式构建源图的节点指示函数,利用对应关系矩阵S(l)S^{(l)}S(l)可以将其从源图GsG_sGs映射到目标图GtG_tGt。然后利用图神经网络Ψθ2\Psi_{\theta_2}Ψθ2向邻域内其他的节点传递信息,如下式
在这里插入图片描述
这样每个节点上都聚合了邻域内其他顶点的信息,通过计算聚合后节点特征之间的差异d⃗i,j=o⃗i(s)−o⃗j(t)\vec{d}_{i,j}=\vec{o}_{i}^{(s)}-\vec{o}_{j}^{(t)}di,j=oi(s)oj(t),就可以计算节点对(i,j)(i,j)(i,j)之间的邻域一致性,差异越小表示一致性越强。将差异d⃗i,j\vec{d}_{i,j}di,j通过一个多层感知机Φθ3\Phi_{\theta_3}Φθ3映射后,用于优化对应关系矩阵
在这里插入图片描述
上述优化过程可以反复进行,迭代LLL次。最终的损失函数如下
在这里插入图片描述
  为了将上述匹配过程应用到大规模的匹配点集中,作者提出了几点改进措施:

  1. 稀疏匹配。通过将初始对应关系矩阵S(0)S^{(0)}S(0)中,匹配得分较低的点滤除,仅保留匹配得分最高的KKK个对应点,可以使S(0)S^{(0)}S(0)变得更加稀疏。
  2. 更换节点指示函数。尽管单位矩阵I∣Vs∣I_{|V_s|}IVs计算十分高效,但参数的复杂度较高。可以使用随机采样的节点函数Rs(l)∼N(0,1)R_s^{(l)} \sim N(0,1)Rs(l)N(0,1)来取代节点指示矩阵。
  3. Softmax规范化。sinkhorn函数计算不够高效,且容易出现梯度消失的问题,可以使用逐行的softmax来取代sinkhorn函数。
  4. 迭代次数。相比于训练阶段,测试阶段可以使用更少的迭代次数。

创新点

  • 提出一种两阶段的基于图神经网络的图匹配方法
  • 针对大规模点集匹配问题,提出了优化措施

算法总结

  本文是基于深度学习,尤其是基于图神经网络解决图匹配问题的代表性文章。二阶段逐步迭代优化的方式,其实与传统图像处理中实现特征点匹配的思想非常接近。局部一致性限制了算法的求解规模,缓解了图匹配问题随着节点数量增长,计算量爆炸的问题。

相关文章:

论文阅读笔记《DEEP GRAPH MATCHING CONSENSUS》

核心思想 本文提出一种基于图神经网络的图匹配方法,首先利用节点相似度构建初始的匹配关系,然后利用局部的一致性对初始的匹配关系进行迭代优化,不断筛除误匹配点,得到最终的匹配结果。本文还提出几种措施来降低计算复杂度&#x…...

华为OD机试题 - 开放日活动(JavaScript)

最近更新的博客 2023新华为OD机试题 - 斗地主(JavaScript)2023新华为OD机试题 - 箱子之形摆放(JavaScript)2023新华为OD机试题 - 考古学家(JavaScript)2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)2023新华为OD机试题 - 最多等和不相交连续子序列(JavaScri…...

(考研湖科大教书匠计算机网络)第四章网络层-第八节:网际控制报文协议ICMP

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:网际控制报文协议ICMP(1)ICMP差错报告报文A:终点不可达B:源点抑制C:时间超过D&#xff…...

华为OD机试 - GPU 调度 | 备考思路,刷题要点,答疑 【新解法】

最近更新的博客 【新解法】华为OD机试 - 关联子串 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 停车场最大距离 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 任务调度 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试…...

华为OD机试题 - 任务总执行时长(JavaScript)

最近更新的博客 2023新华为OD机试题 - 斗地主(JavaScript)2023新华为OD机试题 - 箱子之形摆放(JavaScript)2023新华为OD机试题 - 考古学家(JavaScript)2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)2023新华为OD机试题 - 最多等和不相交连续子序列(JavaScri…...

还在想假期去哪玩?直接做一个旅游攻略小程序

憋了几年好不容易解封准备出去散散心,但看着大江南北这么多景点是不是有点让你选择强迫症呢?那就先制作一个旅游攻略小程序看看驴友们的分享吧。...

十四、vue3项目如何使用three.js

近期在开发过程中,因为项目已经接近尾声,就需要对项目中的数据进行整合,而数据看板不失为一个比较直观的展现形式。在数据看板中3D的展现形式是比较流行的展现形式,那么如何在项目引入一个大的场景,并且能够和后台发生…...

python 向excel表中添加新的sheet页或者向旧sheet中写入数据

import xlwt import xlrd from xlutils.copy import copy import os import numpy as np import pandas as pd class Excel_Add_Sheet():def save_table(self, table, file_name):# 保存表table.save(file_name)def add_new_sheet(self, file_name, sheet_name, titleNone):&q…...

RPC-grpc实践

参考:https://developer.aliyun.com/article/1152352?spma2c6h.12873639.article-detail.33.344f6446zEnbRi&scm20140722.ID_communityarticle1152352._.ID_communityarticle1152352-OR_rec-V_1 参考:https://onejson.blog.csdn.net/article/detai…...

JavaEE——MyBatis配置文件的详细介绍

简单介绍: 需要我们编写的配置文件主要有三个,分别是核心配置文件(mybatis-config.xml),数据库连接信息文件(db.properties),SQL语句映射文件(Mappers)&…...

bwmarrin/snowflake生成ID重复问题排查记录

现象 某日,运营反馈,在某个时间区间丢失了一段日志,让看看是什么问题。 排查 查看项目日志有无错误 发现项目日志有报错信息Error 1062 Duplicate entry 149059529550598144 for key PRIMARY,很显然,问题在此,数据库…...

操作系统题目收录(十)

1、在存储管理中,采用覆盖与交换技术的目的是()。 A:节省主存空间B:物理上扩充主存容量C:提高CPU效率D:实现主存共享 解析 覆盖和交换的提出就是为了解决主存空间不足的问题,但不…...

IOS 自动化测试环境搭建

购买MacPDD 比TB JD 便宜500,下单安装homebrew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装npm cnpmbrew install node; npm install -g cnpm --registryhttps://registry.npm.taobao.org;安装类似Andro…...

系统设计原则

系统设计原则 好的系统是迭代出来的。先解决核心问题,预测未来可能出现的问题,对现有的问题有方案,对未来的问题有预案。不是一上来就按1亿用户量设计,也不要过度复杂化系统。 业务千变万化,技术层出不穷&#xff0c…...

推荐130个网站,非常实用,比涨工资都重要

搞学习 TED(最优质的演讲):https://www.ted.com/ 谷粉学术:https://gfsoso.99lb.net/scholar.html 大学资源网:http://www.dxzy163.com/ 简答题:http://www.jiandati.com/ 网易公开课:https…...

手机棋牌游戏开发的流程是怎样的?

最近几年,随着网络游戏的兴起,棋牌手游开发也越来越受欢迎,在国内,几乎随处可见从事手游和手游的公司。不过,虽然公司和产品很多,但效果也不一样,区别就在于,他们能不能掌握好这款游…...

浅谈C++函数重载

C相较于C语言来说,重载是一重大特性,让我们一起简单的回顾一下重载那些事 传送门函数重载是什么为什么有函数重载函数重载是如何实现的总结函数重载是什么 函数重载:是函数的一种特殊情况,C允许在同一作用域中声明几个功能相似的同名函数 这些同名函数的形参列表(参数个数or类…...

数据分析spss应急考试

数据分析spss应急考试 前言 单项选择 15(项)*2(分)30 判断题 10*1 10 计算题 2*10 案例分析题目(考实验内容) 总四十分,分值不等 老师重点强调了回归分析因子分析方差分析参数、非参数检验 2独立样本的非参数检验应该用什么方法多独立样本…...

Handler postDelayed的实现原理

Handler postDelayed的实现原理 问题描述 Handler.postDelayed()的原理是如何保证延时执行的? 扩展:这样实现的好处是什么? 题目分析 猜测一下 以我们对Handler的了解,内部使用了Looper对消息队列进行循环获取执行&#xff0…...

【数据结构】平衡二叉树

目录 一、平衡二叉树的介绍 二、平衡二叉树的插入 1、平衡二叉树的插入步骤 2、平衡二叉树的旋转 2.1左单旋 2.2右单旋 2.3左右双旋 2.4右左双旋 三、平衡二叉树的删除(略) 四、个人对平衡二叉树见解 五、平衡二叉树整体代码 一、平衡二叉树的…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...

DBLP数据库是什么?

DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...

高分辨率图像合成归一化流扩展

大家读完觉得有帮助记得关注和点赞!!! 1 摘要 我们提出了STARFlow,一种基于归一化流的可扩展生成模型,它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流(TARFlow&am…...

【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架

文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...