讲座信息:

  • 主讲人:严骏驰 上海交通大学
  • 主办单位:运筹OR帷幄
  • 讲座时间:2020年9月9日
  • 讲座地点:线上
  • 讲座链接:https://www.bilibili.com/video/BV1Zf4y1S7Zr

Inroduction

图有很多相关问题,我们这里针对一类问题进行介绍:图匹配

图匹配就是:不仅考虑点之间的配准,还考虑边之间的配准 registration 。

Node-wise linear assignment problem

如上,匹配两个图,一个图有5个点,一个由4个点,我们要做的就是求解出一个5×4的0-1矩阵(组合优化问题),得到点与点间的匹配关系。

我的理解:

  • XXX的维度是5×45\times 45×4
  • 1的维度是5×1\mathbb{1}的维度是 5\times 115×14×14\times 14×1
  • 由此,X1≤1X\mathbb{1}\le \mathbb{1}X11XT1≤1X^T \mathbb{1}\le \mathbb{1}XT11就可以保证XXX的行和列之和都小于1

一个很直接的求解方法是:计算点与点之间的相似度,构造Kp矩阵,然后求解这个规划模型。

Edge-wise graph matching

这个问题的难点在于,我们不仅仅要考虑点与点之间的相似性,还要考虑边与边之间的相似性。

可以看到边的数量明显上升。

如上,我们将点与边作为优化目标,加起来。

我们可以对点和边的关系进行编码,压缩成一个矩阵:affinity matrix 。

如上,对于5点对4点的情况,我们需要5乘4等于20规模的方阵,这样就可以两两编码(1a、1b、…、5d,共20个)。如上,3b行与5c列的交点意味着:3和5连成的边与b和c连成的边的相似度。但是这样K矩阵比较稀疏。

有了这个矩阵,我们将其转换为QAP。

Quadratic Assignment Problem

如上,转化为一个二次问题。注意到,vec 是向量化的意思,就是把 X5×4X_{5\times 4}X5×4 转化为 X20×1X_{20 \times 1}X20×1

这是一个 NP-hard 问题。

所以该如何求解呢?

Spectral Approximation

如上,松弛是一个好办法。求解快,但是得到的解很松弛。

Double-stochastic Approximation

此外,还可以考虑 将X变为连续变量的方式,这样的解可能更紧凑一些。

Beyond: Higher-order models

可否考虑一些高阶信息呢?

如上,在CV领域,3阶代表相似变换的不变性,4阶代表仿射变换的不变性。因此,是否可以将 graph 变为超图(提高阶数)?

但是,这不可行,维度爆炸。

Factorized model

如上,可以考虑进行分解。

如上,可以把大矩阵拆成小矩阵。

总结一下,在机器学习以前,有两个思路解决这个问题:

  • 不分解,直接做
  • 分解开,然后迭代

然而,在实际问题中,不仅仅是两张图的匹配,我们需要提取信息,并且能做到,多张图协同匹配。

Composition based Affinity Optimization

如上,有一种思想是,如果G1和G2匹配很难,是否可以通过G3作为中介(比如儿子于父母),分别与G1和G2匹配?

Recall over fitting in machine learning

算相似度只是用简单的高斯模型,并且,相似度基于直接从图形提取特征,而图形本身就可能存在噪声。

如上,我们不希望得到红线(一味地最求相似度),而是希望使用类似“正则”的思想,得到鲁棒的结果。

Cycle consistency as regularizer

在多图中,我们提出 consistency 的概念,注意,对于i和j,我们引入第三者第四者等等,用于计算 consistency ,这个值越高越接近1,则匹配效果越好。

于是,我们的目标函数就有了两部分:affinity score 和 consistency 。开始时,consistency 的权重不高,因为匹配效果不怎么样时,计算 consistency 也没用。

我们上述操作(类似正则的思想),都是在目标函数设计有缺陷的假设下的。还可用考虑用机器学习改善目标函数的建模。

Background: Learning on Graph Matching

基本思想:每对边、每队点权重都是相等的,都是1,接下来可以调整这些权重,以此区分重要和不重要的边对、点对。

我们优化的目标就是这些权值,如下图。

如上,Π是对应关系,我们学的是ω。

Learning Graph Structure

于是,这就成为了一个结构化的机器学习问题。

如上图,我们最终学出的,是节点、边的权重。越大、越深,代表权重越大。

Learning Matching Features: Deep Learning of Graph Matching

能否用深度学习拥抱匹配任务?(这篇文章首发)

CNN与谱方法SM提取特征,之后对比一下,然后得到 loss 。但是,问题:SM本身不是做GM的solver,因此只能得出近似解;损失函数有缺陷,仅仅在计算两个对应点在空间中的距离(并不解决我们的匹配需求,匹配不再离得远不远,只在乎有没有配对准)。

Spectral Matching (SM)

简单介绍一下 SM 。

对于两个 Graph ,可以建立 Association Graph ,有一个据类,如图中加粗的线,是可行的匹配,则找到了一个可行解。好处是可以使梯度回传。

Embedding approach for Deep Graph Matching

于是主讲老师团队想着改进。

Learning Combinatorial Embedding Networks for Deep Graph Matching

如上,基础的PIA架构中(对前文工作的改进),使用了匈牙利算法的可求导版本 Sinkhorn 。此外,设计了一个 loss ,实际上就是一个交叉熵。

intra-GNN

交替地对每个点进行更新。“实际上就是GNN”。

对图做完嵌入后,把边信息都压缩到节点上,因此变为了一个只有点的问题,是一个 指派问题

Distance Metric

给定两个嵌入的结果xi,xjx_i , x_jxi,xj,怎么算相似性?

s(xi,xj)=exp⁡(xiTAxj)s(x_i ,x_j )=\exp{(x_i^T \mathbf{A} x_j)}s(xi,xj)=exp(xiTAxj)

A\mathbf{A}A 是可学习的权重矩阵。exp保证非负。

Sinkhorn Algorithm

OK,现在有了距离的计算方法,构造非负距离矩阵。那怎么得到最后的匹配结果呢?做交替的 Row-Norm 和 Col-Norm ,直到行和列都是和为 1 为止(收敛到双随机矩阵)。这个过程就是 Sinkhorn Algorithm 。

Permutation Loss

因此,我们现在有了一个可以视为“类别概率”的矩阵,可以进行交叉熵计算。

此外,还有一些改进,如上:

  • 第 2 个架构 PCA-GM 用了 Cross-graph GNN ,为了更好协同地对两个图进行 embedding
  • 第 3 个架构 IPCA-GM 让迭代 iteratively ,强化了一下效果

效果很好。

Neural Graph Matching Network: Learning Lawler’s Quadratic Assignment Problem with Extension to Hypergraph and Multiple-graph Matching

如上,主要贡献有:

  • 针对QAP做了端对端的机器学习
  • 扩展到了 hyper-graph matching
  • 扩展到了 multi-graph matching

什么是 Lawler’s QAP 呢?就是针对提取后的特征矩阵直接处理,不设计从生图提取特征的过程(没有什么感知层面、CNN层面科学的)。思想:直接在association graph 上做 embedding ,而不是两个图各自做 embedding 。

此外,针对多图,如上图架构图右侧,将两两匹配的结果拼到一起,构成一个大矩阵 joint matching matrix 。

QAPLIB Benchmark

可以看到,在 QAPLIB 做一些实例时,会有超过 baseline 的解(蓝线越低越好,有蓝线突破了虚线)。

Other techniques

如果一个图像里同时出现两个物体,如何以图匹配的方式分出来?

如果用 cut ,如上图,将导致中间一样两只天鹅头被放到一起。讲座信息:

  • 主讲人:严骏驰 上海交通大学
  • 主办单位:运筹OR帷幄
  • 讲座时间:2020年9月9日
  • 讲座地点:线上
  • 讲座链接:https://www.bilibili.com/video/BV1Zf4y1S7Zr

Inroduction

图有很多相关问题,我们这里针对一类问题进行介绍:图匹配

图匹配就是:不仅考虑点之间的配准,还考虑边之间的配准 registration 。

Node-wise linear assignment problem

如上,匹配两个图,一个图有5个点,一个由4个点,我们要做的就是求解出一个5×4的0-1矩阵(组合优化问题),得到点与点间的匹配关系。

我的理解:

  • XXX 的维度是 5×45\times 45×4
  • 1的维度是5×1\mathbb{1}的维度是 5\times 115×14×14\times 14×1
  • 由此,X1≤1X\mathbb{1}\le \mathbb{1}X11XT1≤1X^T \mathbb{1}\le \mathbb{1}XT11 就可以保证 XXX 的行和列之和都小于1

一个很直接的求解方法是:计算点与点之间的相似度,构造Kp矩阵,然后求解这个规划模型。

Edge-wise graph matching

这个问题的难点在于,我们不仅仅要考虑点与点之间的相似性,还要考虑边与边之间的相似性。

可以看到边的数量明显上升。

如上,我们将点与边作为优化目标,加起来。

我们可以对点和边的关系进行编码,压缩成一个矩阵:affinity matrix 。

如上,对于5点对4点的情况,我们需要5乘4等于20规模的方阵,这样就可以两两编码(1a、1b、…、5d,共20个)。如上,3b行与5c列的交点意味着:3和5连成的边与b和c连成的边的相似度。但是这样K矩阵比较稀疏。

有了这个矩阵,我们将其转换为QAP。

Quadratic Assignment Problem

如上,转化为一个二次问题。注意到,vec 是向量化的意思,就是把 X5×4X_{5\times 4}X5×4 转化为 X20×1X_{20 \times 1}X20×1

这是一个 NP-hard 问题。

所以该如何求解呢?

Spectral Approximation

如上,松弛是一个好办法。求解快,但是得到的解很松弛。

Double-stochastic Approximation

此外,还可以考虑 将X变为连续变量的方式,这样的解可能更紧凑一些。

Beyond: Higher-order models

可否考虑一些高阶信息呢?

如上,在CV领域,3阶代表相似变换的不变性,4阶代表仿射变换的不变性。因此,是否可以将 graph 变为超图(提高阶数)?

但是,这不可行,维度爆炸。

Factorized model

如上,可以考虑进行分解。

如上,可以把大矩阵拆成小矩阵。

总结一下,在机器学习以前,有两个思路解决这个问题:

  • 不分解,直接做
  • 分解开,然后迭代

然而,在实际问题中,不仅仅是两张图的匹配,我们需要提取信息,并且能做到,多张图协同匹配。

Composition based Affinity Optimization

如上,有一种思想是,如果G1和G2匹配很难,是否可以通过G3作为中介(比如儿子于父母),分别与G1和G2匹配?

Recall over fitting in machine learning

算相似度只是用简单的高斯模型,并且,相似度基于直接从图形提取特征,而图形本身就可能存在噪声。

如上,我们不希望得到红线(一味地最求相似度),而是希望使用类似“正则”的思想,得到鲁棒的结果。

Cycle consistency as regularizer

在多图中,我们提出 consistency 的概念,注意,对于i和j,我们引入第三者第四者等等,用于计算 consistency ,这个值越高越接近1,则匹配效果越好。

于是,我们的目标函数就有了两部分:affinity score 和 consistency 。开始时,consistency 的权重不高,因为匹配效果不怎么样时,计算 consistency 也没用。

我们上述操作(类似正则的思想),都是在目标函数设计有缺陷的假设下的。还可用考虑用机器学习改善目标函数的建模。

Background: Learning on Graph Matching

基本思想:每对边、每队点权重都是相等的,都是1,接下来可以调整这些权重,以此区分重要和不重要的边对、点对。

我们优化的目标就是这些权值,如下图。

如上,Π是对应关系,我们学的是ω。

Learning Graph Structure

于是,这就成为了一个结构化的机器学习问题。

如上图,我们最终学出的,是节点、边的权重。越大、越深,代表权重越大。

Learning Matching Features: Deep Learning of Graph Matching

能否用深度学习拥抱匹配任务?(这篇文章首发)

CNN与谱方法SM提取特征,之后对比一下,然后得到 loss 。但是,问题:SM本身不是做GM的solver,因此只能得出近似解;损失函数有缺陷,仅仅在计算两个对应点在空间中的距离(并不解决我们的匹配需求,匹配不再离得远不远,只在乎有没有配对准)。

Spectral Matching (SM)

简单介绍一下 SM 。

对于两个 Graph ,可以建立 Association Graph ,有一个据类,如图中加粗的线,是可行的匹配,则找到了一个可行解。好处是可以使梯度回传。

Embedding approach for Deep Graph Matching

于是主讲老师团队想着改进。

Learning Combinatorial Embedding Networks for Deep Graph Matching

如上,基础的PIA架构中(对前文工作的改进),使用了匈牙利算法的可求导版本 Sinkhorn 。此外,设计了一个 loss ,实际上就是一个交叉熵。

intra-GNN

交替地对每个点进行更新。“实际上就是GNN”。

对图做完嵌入后,把边信息都压缩到节点上,因此变为了一个只有点的问题,是一个 指派问题

Distance Metric

给定两个嵌入的结果 xi,xjx_i , x_jxi,xj,怎么算相似性?

s(xi,xj)=exp⁡(xiTAxj)s(x_i ,x_j )=\exp{(x_i^T \mathbf{A} x_j)}s(xi,xj)=exp(xiTAxj)

A\mathbf{A}A 是可学习的权重矩阵。exp保证非负。

Sinkhorn Algorithm

OK,现在有了距离的计算方法,构造非负距离矩阵。那怎么得到最后的匹配结果呢?做交替的 Row-Norm 和 Col-Norm ,直到行和列都是和为 1 为止(收敛到双随机矩阵)。这个过程就是 Sinkhorn Algorithm 。

Permutation Loss

因此,我们现在有了一个可以视为“类别概率”的矩阵,可以进行交叉熵计算。

此外,还有一些改进,如上:

  • 第 2 个架构 PCA-GM 用了 Cross-graph GNN ,为了更好协同地对两个图进行 embedding
  • 第 3 个架构 IPCA-GM 让迭代 iteratively ,强化了一下效果

效果很好。

Neural Graph Matching Network: Learning Lawler’s Quadratic Assignment Problem with Extension to Hypergraph and Multiple-graph Matching

如上,主要贡献有:

  • 针对QAP做了端对端的机器学习
  • 扩展到了 hyper-graph matching
  • 扩展到了 multi-graph matching

什么是 Lawler’s QAP 呢?就是针对提取后的特征矩阵直接处理,不设计从生图提取特征的过程(没有什么感知层面、CNN层面科学的)。思想:直接在association graph 上做 embedding ,而不是两个图各自做 embedding 。

此外,针对多图,如上图架构图右侧,将两两匹配的结果拼到一起,构成一个大矩阵 joint matching matrix 。

QAPLIB Benchmark

可以看到,在 QAPLIB 做一些实例时,会有超过 baseline 的解(蓝线越低越好,有蓝线突破了虚线)。

Other techniques

如果一个图像里同时出现两个物体,如何以图匹配的方式分出来?

如果用 cut ,如上图,将导致中间一样两只天鹅头被放到一起。

讲座笔记:图匹配 Graph Matching 问题 | 机器学习组合优化相关推荐

  1. 论文阅读笔记《Neural Graph Matching Network: Learning Lawler’s Quadratic Assignment Problem With Extension》

    核心思想   该文提出一种图匹配神经网络用于解决Lawler's形式的二次分配问题,并将其推广到超图匹配和多图匹配领域.在之前的文章中,我们介绍过图匹配问题通常被定义为一种二次分配问题(QAP),通常 ...

  2. PyTorch图神经网络实践(六)组合优化问题

    最近研究网络中的组合优化问题时,发现已经有研究人员将图神经网络用于求解此类问题,诸如寻找网络中的最大点独立集.最小点覆盖集.最大团等等,并找到了相关的源码,在这里整理一下这些资源,以后详细介绍. Ne ...

  3. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(二)

    本文是"图匹配入门学习笔记--以<Factorized Graph Matching>为例"系列的第二篇文章,主要介绍了FGM算法的实现过程,包括图匹配的因式分解形式, ...

  4. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)

    这篇文章本身是图匹配经典论文<Factorized Graph Matching>的阅读笔记,后来发现该文介绍并串联了许多图匹配相关的知识,甚至可以看作一个小小的综述性文章,因此就作为图匹 ...

  5. 一个基于高阶图匹配的多目标跟踪器:Online Multi-Target Tracking with Tensor-Based High-Order Graph Matching

    论文地址:Online Multi-Target Tracking with Tensor-Based High-Order Graph Matching 基于高阶图匹配的多目标跟踪器 一. 摘要 二 ...

  6. cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Heterogeneous Graphs and Relational GCN (RGCN) ...

  7. LBD算法 - Graph matching 图匹配算法分析

    概述 原文:<An efficient and robust line segment matching approach based on LBD descriptor and pairwis ...

  8. 如何找到相似Graph?DeepMind提出超越GNN的图匹配网络

    选自arxiv 作者:Yujia Li.Chenjie Gu.Thomas Dullien等 机器之心编译 参与:李诗萌.路雪 近日,DeepMind 和谷歌联合进行了一项研究,该研究提出了一种执行相 ...

  9. 多目标跟踪数据关联的二部图解:CVPR18多目标跟踪开创性深度端到端二部图匹配佳作《Deep Learning of Graph Matching》读后有感

    多目标跟踪算法的核心以及瓶颈之处,即是在得到两个set的DR(detection response,其中一个前序set可能是tracklets,但也由DR来表征)之后如何实现二部图匹配.传统的Hung ...

最新文章

  1. 2021年春季学期-信号与系统-第十三次作业参考答案-第八小题
  2. (转载)hadoop2.2.0集群的HA高可靠的最简单配置
  3. java程序运行结果题_2016年关于Java编程与程序运行结果笔试题
  4. C#提供的类库能够轻松实现对文件的操作
  5. Java hibernate假外键_JAVA基础:Hibernate外键关联与HQL语法
  6. iOS开发技巧:使用Objective-C创建UUID
  7. latex减少图片和图片解释文字之间的距离
  8. 三天研读《中兴电路设计规范》精华总结
  9. PC端和移动端的区别你知道吗?
  10. java入门笔记——老王笔记--IT隐匿者
  11. 福到了 分数 15作者 陈越单位 浙江大学
  12. 奇迹网站可视化排行榜]_外观可视化奇迹
  13. 实数 有理数 无理数
  14. 7.3 数字化的资产管理
  15. 兄弟Brother PT-9200DX 驱动
  16. 2021年Java发展怎么样?现在学了Java技术出来是否还能找到工作?
  17. html5炫酷作品源代码,8个超炫酷的HTML5动画演示及源码
  18. Google人脸识别系统Facenet paper解析
  19. 安装homeassistant+python3.6
  20. Linux sed识别HTML标签

热门文章

  1. WebSocket 解决javascript跨域问题一剂良药
  2. vscode插件安装失败的解决方案
  3. 在github上托管Maven存储库
  4. 尝试安装pg gem时找不到#39;libpq-fe.h标头
  5. android okhttputils传数组,okhttp传递数组参数
  6. 抛物线交点式公式_二次函数顶点式、交点式、两根式概念解读
  7. STM32F103mini教程学习总结与心得(四)---->看门狗
  8. 查询当天交易总额最大的用户信息_场内场外交易
  9. 什么是作用域链(源码解析)
  10. 综合案例-注册页面(HTML)