Weisfeiler-Lehman图同构测试及其他

Weisfeiler-Lehman图同构测试及其他Weisfeiler-LehmanTest(WLTest)BorisWeisfeilerandAndreyLehman,1968GraphIsomorphism一个简单的同构图例子:1-dimensionalWLTest输入:两个可有节点属性的图输出:两个图是否同构(满足WLTest是两图同构的必要条件)演示1演示2更加具体的描述稳定状态失效情况注意这里和原ppt不

大家好,又见面了,我是你们的朋友全栈君。

有问题欢迎留言讨论


Weisfeiler-Lehman图同构测试及其他

Weisfeiler-Lehman Test (WL Test)

Boris Weisfeiler and Andrey Lehman, 1968

Graph Isomorphism

在这里插入图片描述

一个简单的同构图例子:

在这里插入图片描述

1-dimensional WL Test

输入:两个可有节点属性的图

输出:两个图是否同构(满足WL Test是两图同构的必要条件)

在这里插入图片描述

  • 演示1
    在这里插入图片描述

  • 演示2
    在这里插入图片描述

  • 更加具体的描述

在这里插入图片描述

在这里插入图片描述

  • 稳定状态

在这里插入图片描述

  • 失效情况

在这里插入图片描述
在这里插入图片描述
注意这里和原ppt不同,2-WL其实应该是无法区分这个六边形和两个三角形的。(一种说法是1-WL和2-WL的能力其实是一样的。)

k-dimensional WL Test

在这里插入图片描述
在这里插入图片描述

3维的WL Test首先枚举图中所有三个点的组合,初始化标签,然后按照类似的方法进行细化。
在这里插入图片描述

k维的WL Test考虑了k个节点的组合。

在这里插入图片描述

Morgan Algorithm

Morgan, 1965

  • Chemical Fingerprints (ECFP)

    The ECFP generation process has three sequential stages:

    1. An initial assignment stage in which each atom has an integer identifier assigned to it.
    2. An iterative updating stage in which each atom identifier is updated to reflect the identifiers of each atom’s neighbors, including identification of whether it is a structural duplicate of other features.
    3. A duplicate identifier removal stage in which multiple occurrences of the same feature are reduced to a single representative in the final feature list. (The occurrence count may be retained if one requires a set of counts rather than a standard binary fingerprint.)
    1. 初始化原子标识符。哈希函数处理非氢原子属性(原子序号、连接性等),得到一个整数
    2. 标志符的迭代更新。类似Mogan算法,但是迭代次数是预先设定的,不追求得到1-WL的区分度。
    3. 标识符去重。保留所有不同的标识符,压缩到一个比特串中。
  • Canonical SMILES

在这里插入图片描述

利用Mogan算法迭代连通度,直到稳定(更新后连通度直方图形状不变),利用连通度进行排序,得到唯一的SMILES记法。(这种算法是商业化的,所以计算Canonical SMILES要用Daylight软件。)


Message-Passing Neural Network (MPNN)

Weisfeiler-Lehman Netwrok (WLN)

WLN的思想是将1-WL 中离散的呈指数增长的节点标签用嵌入向量代替

用于预测有机分子化学反应,NeurIPS 2017

在这里插入图片描述

MPNN

消息传递网络MPNN是一种聚合邻近点信息的图神经网络框架。

MPNN contains two phases, a message passing phase (namely the propagation step) and a readout phase.

  • The message passing phase runs for T times and is defined by message function Mt and vertex update function Ut.

在这里插入图片描述

where m v t m_v^t mvt is message and e v w e_{vw} evw is the feature of the edge from node v to w

  • The reader phase computes a feature vector for the whole graph using readout function

在这里插入图片描述


How Powerful Are Graph Neural Networks?

ICLR 2019

WL Test & MPNN

  • MPNN

在这里插入图片描述

  • 1d WL Test

在这里插入图片描述

1-WL 是MPNN类型的GNN的性能上界

不过利用WL得到的节点特征是离散的,或者说是one hot类型的,不能用于计算图的相似度等。

  • 设计合适的更新函数和聚合函数非常重要
  • 常用的聚合函数如MAX、MEAN不能处理的一些情况

在这里插入图片描述

聚合函数需要是 单射(injective) 的,即函数不同的输入不能有相同的输出。

Graph Isomorphism Networks (GIN)

  • 更新(以及聚合)函数:MLP+SUM
    • 存在这样一个函数是单射的

在这里插入图片描述

  • 用MLP拟合 f ϕ f\phi fϕ

在这里插入图片描述

  • READOUT函数

在这里插入图片描述

在这里插入图片描述

实验(图分类 Graph Classification)

训练集:

在这里插入图片描述

测试集:

在这里插入图片描述


Beyond WL

Beyond 1-WL

non local

基于k-WL及各种变种k-WL设计的网络,虽然理论很好但实际效果不佳。

  • k-GNNs 需要 O ( n k ) O(n^k) O(nk)级别内存
  • Invariant Graph Networks (IGN) based on k-order tensors
    • 3-WL 级别的IGN有平方级别的复杂度,但较MPNN的线性复杂度还是略显臃肿

Beyond WL

  • GSN 在MPNN的基础上,使聚合的信息包括局部图结构(保留了局部性和线性复杂度)

在这里插入图片描述

  • 近似同构,用某种度量来衡量两图的相似性

Reference

Michael Bronstein’s Blog (Recommended)

WL Test

  • Combinatorial Properties of the Weisfeiler-Leman Algorithm by Sandra Kiefer
  • Weisfeiler-lehman graph kernels
  • On Weisfeiler-Leman Invariance: Subgraph Counts and Related Graph Properties

Chemical Fingerprint

WLN

  • Predicting organic reaction outcomes with weisfeiler-lehman network NeurIPS2017

MPNN

  • Graph neural networks: A review of methods and applications arXiv 2018
  • Neural message passing for quantum chemistry arXiv 2017

GIN

  • How powerful are graph neural networks? ICLR 2019
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126245.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言必背100代码,初学者代码大全(c语言必背100代码)[通俗易懂]

    c语言必背100代码,初学者代码大全(c语言必背100代码)[通俗易懂]一个完全入门初学者如何学代码,读代码和写代码,,我想学代码不知道方向谁能给我指明一个方向?1、学代码:前提是你的复有一个比较系统的学习.认真完成每一个课程中的案例.2、读代码:分制两步走:前期能读懂自己写的代码.2113后期能读懂他人写的代码和大致的知道底层的某些源码的含义.多去5261看开发文档(开发文档建议使用官方提供的4102英文版、不要使用中文自己害自己)3、写代码1653:前提是你要有…

    2022年5月18日
    82
  • oracle恢复删除数据

    oracle恢复删除数据1。select*fromznjtresource.t_device_epoliceasoftimestampto_timestamp(‘2019-3-2115:20:00′,’yyyy-mm-ddhh24:mi:ss’)2,。insertintoznjtresource.t_device_epolice(select*fromznjtresource.t_devi…

    2022年7月17日
    10
  • 《哈佛大学幸福课》笔记

    《哈佛大学幸福课》笔记题外话:2020.7.25-2021.4.24,视频总时长29小时,看了9个月才看完。刚看的时候又是老毛病急于求成,想一口气看完,结果到8月底看到第4课就放弃了,9月整整中断了一个月,10月才重新拾起来。拾起来也是定了个计划,慢下来,每周只看50分钟,上课做笔记记下最有感触的知识,用一年的时间看完,这样才慢慢坚持了下来。花了大概4个小时整理笔记。这门课一共分为10章,每章一个主题。B站最多播放量视频和网易云课堂上的都是33堂课的版本,给每堂课又都分别起了个名字,很混乱且让人觉得莫名其妙,凸现不了主题,这也

    2022年7月18日
    19
  • 内存调试MEMWATCH

    内存调试MEMWATCH
    内存调试-MEMWATCH
     
    MEMWATCH由JohanLindh编写,是一个开放源代码C语言内存错误检测工具,您可以自己下载它(请参阅本文后面部分的参考资料)。只要在代码中添加一个头文件并在gcc语句中定义了MEMWATCH之后,您就可以跟踪程序中的内存泄漏和错误了。MEMWATCH支持ANSIC,它提供结果日志纪录,能检测双重释放(double-free)、错误释放(erroneousfree)、没有释放的内存(unfreedmemo

    2022年7月15日
    10
  • DSP效果器调音教程_DSP控制器

    DSP效果器调音教程_DSP控制器1)DSP输出给5V的电路(如D/A),无需加任何缓冲电路,可以直接连接。3)的JTAG口的信号也必须为3.3V,否则有可能损坏DSP。dsp教程24。为什么要片内RAM大的DSP效率高?目前DSP发展的片内存储器RAM越来越大,要设计高效的DSP系统,就应该选择片内RAM较大的DSP。片内RAM同片外存储器相比,有以下优点:1)片内RAM的速度较快,可以保证DSP无等待运行。2)对于C2000…

    2022年9月3日
    3
  • php_sphinx安装使用

    php_sphinx安装使用

    2021年10月19日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号