论文阅读笔记《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|}I∣Vs∣的形式构建源图的节点指示函数,利用对应关系矩阵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次。最终的损失函数如下

为了将上述匹配过程应用到大规模的匹配点集中,作者提出了几点改进措施:
- 稀疏匹配。通过将初始对应关系矩阵S(0)S^{(0)}S(0)中,匹配得分较低的点滤除,仅保留匹配得分最高的KKK个对应点,可以使S(0)S^{(0)}S(0)变得更加稀疏。
- 更换节点指示函数。尽管单位矩阵I∣Vs∣I_{|V_s|}I∣Vs∣计算十分高效,但参数的复杂度较高。可以使用随机采样的节点函数Rs(l)∼N(0,1)R_s^{(l)} \sim N(0,1)Rs(l)∼N(0,1)来取代节点指示矩阵。
- Softmax规范化。sinkhorn函数计算不够高效,且容易出现梯度消失的问题,可以使用逐行的softmax来取代sinkhorn函数。
- 迭代次数。相比于训练阶段,测试阶段可以使用更少的迭代次数。
创新点
- 提出一种两阶段的基于图神经网络的图匹配方法
- 针对大规模点集匹配问题,提出了优化措施
算法总结
本文是基于深度学习,尤其是基于图神经网络解决图匹配问题的代表性文章。二阶段逐步迭代优化的方式,其实与传统图像处理中实现特征点匹配的思想非常接近。局部一致性限制了算法的求解规模,缓解了图匹配问题随着节点数量增长,计算量爆炸的问题。
相关文章:
论文阅读笔记《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ÿ…...
华为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亿用户量设计,也不要过度复杂化系统。 业务千变万化,技术层出不穷,…...
推荐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对消息队列进行循环获取执行࿰…...
【数据结构】平衡二叉树
目录 一、平衡二叉树的介绍 二、平衡二叉树的插入 1、平衡二叉树的插入步骤 2、平衡二叉树的旋转 2.1左单旋 2.2右单旋 2.3左右双旋 2.4右左双旋 三、平衡二叉树的删除(略) 四、个人对平衡二叉树见解 五、平衡二叉树整体代码 一、平衡二叉树的…...
Qwen3-ASR-1.7B语音转写教程:音频切片策略+长语音分段识别最佳实践
Qwen3-ASR-1.7B语音转写教程:音频切片策略长语音分段识别最佳实践 你是不是也遇到过这种情况:一段长达一小时的会议录音,上传到语音识别工具后,要么识别速度慢得让人抓狂,要么中间卡住直接报错,最后只能得…...
若依框架实战:一键生成带动态下拉菜单的Excel模板,数据填充从此告别手动录入
1. 为什么需要动态下拉菜单的Excel模板? 在日常后台管理系统开发中,数据导入是个高频需求。想象一下这样的场景:人事部门需要批量导入员工信息,财务部门要导入报销记录,运营团队要批量更新商品数据。传统做法是开发人员…...
Frechet分布:从极值理论到金融风控的实战指南
1. 认识Frechet分布:为什么金融风控需要它? 想象一下你正在管理一个投资组合,突然遇到市场暴跌,一天之内损失超过10%。这种极端事件虽然罕见,但一旦发生就可能带来毁灭性打击。Frechet分布就是专门用来描述这类"黑…...
Ubuntu 22.04 LTS上KVM虚拟化实战:从零搭建Windows开发环境(含SSH远程管理技巧)
Ubuntu 22.04 LTS上KVM虚拟化实战:从零搭建Windows开发环境(含SSH远程管理技巧) 在当今混合开发环境中,Linux服务器搭配Windows虚拟机的组合正成为越来越多技术团队的选择。想象一下这样的场景:你手头有一台性能强劲的…...
iOS逆向工程入门:利用class-dump与Hopper Disassembler解析ipa文件
1. iOS逆向工程入门:工具与基础概念 刚接触iOS逆向工程时,很多人会被"逆向"这个词吓到,觉得需要掌握高深的汇编语言才能入门。其实不然,就像我刚开始研究时发现的那样,通过class-dump和Hopper Disassembler这…...
12. 基于TI MSPM0G系列MCU的软件I2C驱动SHT20温湿度传感器实战
12. 基于TI MSPM0G系列MCU的软件I2C驱动SHT20温湿度传感器实战 最近在做一个环境监测的小项目,用到了SHT20温湿度传感器。这个传感器小巧精准,通过I2C接口通信,非常适合嵌入式系统。不过,我手头的TI MSPM0G3507开发板虽然有硬件I2…...
【2025最新】基于SpringBoot+Vue的扶贫助农系统管理系统源码+MyBatis+MySQL
系统架构设计### 摘要 在乡村振兴战略的推动下,扶贫助农工作成为社会关注的焦点。传统的扶贫管理方式存在信息不透明、效率低下等问题,亟需通过信息化手段提升管理效率和服务质量。扶贫助农系统通过整合资源、优化流程,实现帮扶信息的精准传递…...
GLM-4-9B-Chat-1M效果展示:输入200万字小说,精准定位人物关系变化时间轴
GLM-4-9B-Chat-1M效果展示:输入200万字小说,精准定位人物关系变化时间轴 当AI能够一次性读完一整部200万字的长篇小说,并且准确找出所有人物关系的变化节点,这是一种什么样的体验?GLM-4-9B-Chat-1M让我们看到了这个曾…...
SkillNet: Create, Evaluate, and Connect AI Skills
SkillNet 文章核心总结与关键翻译 一、主要内容总结 SkillNet 是一款面向 AI 技能的全生命周期开放基础设施,旨在解决当前 AI 智能体缺乏系统技能积累与迁移机制的核心痛点——智能体常陷入“重复造轮子”的困境,无法有效复用过往经验与策略。 该基础设施的核心架构包含三…...
EMC实战指南:瞬态抑制二极管(TVS)选型与电路防护设计
1. TVS二极管基础认知:从原理到特性 瞬态抑制二极管(TVS)是电路防护领域的"防弹衣",专门对付静电放电(ESD)、雷击浪涌这些电路杀手。我第一次接触TVS是在设计一款工业控制器时,当时电…...
