前言

title是模仿之前的另一篇出名文章"how powerful …"
文中构筑了linear GNN 到 1-WL在一定条件下的等价关系。
出于个人兴趣原因我不是很关心模型部分。

How Powerful are Spectral Graph Neural Networks
https://arxiv.org/abs/2205.11172v1
ICML2022

一、基本理论部分

目前对于spectral的研究其实,基本上都是去掉activation的。
因为带着activation的话,很多性质难以链式推导出一个收敛结果。
当然你可能会举例说某个数学出身的大佬证subspace的文章是带着activation一起证的。
但除此之外的那些文章,从optimization出发的也好,polynomial的也罢,基本上在主流舞台上还是倾向于去掉的。(我理解的是for mathematical elegance)
而且,需要特别注意的是,即便是那篇文章,也只能适用于 activation === ReLU ,是没有办法推广到其他activation的。
倒不如这么说,“如果activation能被merge到theoretical部分就带上,反之就丢弃”已经是很自然的一件事了。

这篇ICML2022的paper的出发点大致于此。
既然大家的理论都是在分析去掉之后如何如何,那为啥实践就非得带上呢。(在过去我们可以把这种gap,解释为理论到实践的参差,用理论研究的理想性假设糊弄过去)
能不能干脆证明理论上不带activation就足够好,我实践也干脆不要了呢?
这就是我理解的全文立意起点了。
研究没有activation时的表达能力上限。

当然了,作者原文的用词是 linear GNN
意思是去掉了non-linear function 的GNN。
用g(L^)g(\hat{L})g(L^)表示任意spectral filter。
linear GNN=g(L^)XW\text{linear GNN} =g(\hat{L})XWlinear GNN=g(L^)XW

众所周知,任意linear GNN由filter和transformation两个部分组成。

Condition

  1. one-dimensional prediction
  2. no multiple eigenvalues
  3. no missing frequency component

满足上面3个条件,linear GNN可以逼近任何1维的prediction。
例如对一个2分类问题,输出结果是out.shape = (N,1)

作者说对于multi-dimensional prediction,可以采用暴力的方式,
每个dimension一个linear GNN。(需要不同的filter和transformation)
这是因为一个linear GNN最多只能完全表达一个dimension。

4.1 原文写的有点乱。
Proposition 4.2说如果XXX是行不满秩的,那么总有multi-dimension prediction是linear GNN无法逼近的。
我看完Appendix里的证明才知道他想说啥…

用自己的语言表达一下。

二、Section 4.1 multi-dimensional部分拆解

首先,特征矩阵行不满秩,是大概率事件。因为 Shape(X)=(N,d)Shape(X)=(N,d)Shape(X)=(N,d) ,一般来说 N>>dN>>dN>>d。
此时,如果我们想用 linear GNN = gXW 这个框架去逼近一个k-dimensional prediction,即输出 (N,k)。
k=1时,表达能力是充分的。
k>1时,表达能力不够。

所以才会在k>1时,提出用k个linear GNN来分别学习k个dimension。

不妨先看空域上的情况。

考虑 k=1

2.0 证明k=1时是充分的

原文证明感觉有点问题。

第一部分,Rd−∪i=1nVi≠{0}\mathbb{R}^{d}-\cup_{i=1}^{n} V_{i} \ne \{0\}Rd−∪i=1n​Vi​​={0}能由 ViV_iVi​ is a proper subspace推导出来?

Q:N个proper subspace的union还是proper subspace?
A:不对的,有一个基本定理:A vector space cannot be written as a finite union of proper subspaces.

这个证明是不对的。就当作者笔误吧。。

再考虑k>1。

2.1空域性质

令行秩RowRank(X)=r\text{RowRank}(X) = rRowRank(X)=r。
从XXX中找rrr行构成极大线性无关向量组,这rrr行的行标构成新的集合I={s1,s2,...,sr}\mathbb{I} = \{s_1,s_2,...,s_r\}I={s1​,s2​,...,sr​}。
那么这个极大线性无关向量组构成的矩阵可以记作XI={Xsi}∈Rr×dX_{\mathbb{I}} = \{ X_{s_{i}}\} \in \mathbb{R}^{r\times d}XI​={Xsi​​}∈Rr×d。
我们可以用这个极大线性无关向量组来表达原来的特征矩阵,写成 X=PXI,M∈RN×rX = PX_{\mathbb{I}}, M \in \mathbb{R}^{N\times r}X=PXI​,M∈RN×r。

假设存在一个W∈Rd×kW \in \mathbb{R}^{d\times k}W∈Rd×k 使得XIWX_{\mathbb{I}}WXI​W降为行秩1的矩阵。
即 RowRank(XIW)=1\text{RowRank}(X_{\mathbb{I}}W)=1RowRank(XI​W)=1, 即XIWX_{\mathbb{I}}WXI​W的每一列都相同。

那么显然 linear GNN的输出
Z=gXW=g(PXI)W=gP(XIW)Z= gXW = g(PX_{\mathbb{I}})W =gP(X_{\mathbb{I}}W)Z=gXW=g(PXI​)W=gP(XI​W) 满足
RowRank(Z)≤RowRank(XIW)=1\text{RowRank}(Z)\le \text{RowRank}(X_{\mathbb{I}}W)=1RowRank(Z)≤RowRank(XI​W)=1 ,
又Z≠0Z \ne \mathbb{0}Z​=0,即 RowRank(Z)>0\text{RowRank}(Z) \gt 0RowRank(Z)>0。
于是RowRank(Z)=1\text{RowRank}(Z)=1RowRank(Z)=1。
于是Z的每一列都相同。

这个空域性质本身并不强大,因为空域上的g没有特殊性。
但是在频域上却有更强大的表现。

2.2频域性质

记频域特征X^=UTX∈RN×d\hat{X} = U^TX \in \mathbb{R}^{N\times d}X^=UTX∈RN×d, W∈Rd×kW \in \mathbb{R}^{d\times k}W∈Rd×k
同样地
令行秩RowRank(X^)=r\text{RowRank}(\hat{X}) = rRowRank(X^)=r。
从X^\hat{X}X^中找rrr行构成极大线性无关向量组,这rrr行的行标构成新的集合I={s1,s2,...,sr}\mathbb{I} = \{s_1,s_2,...,s_r\}I={s1​,s2​,...,sr​}。
那么这个极大线性无关向量组构成的矩阵可以记作X^I={X^si}∈Rr×d\hat{X}_{\mathbb{I}} = \{ \hat{X}_{s_{i}}\} \in \mathbb{R}^{r\times d}X^I​={X^si​​}∈Rr×d。
我们可以用这个极大线性无关向量组来表达原来的特征矩阵,写成 X^=MX^I,M∈RN×r\hat{X} = M\hat{X}_{\mathbb{I}}, M \in \mathbb{R}^{N\times r}X^=MX^I​,M∈RN×r。

于是
Z=g(L^)XW=Ug(Λ)X^W=Ug(Λ)MX^IWZ= g(\hat{L})XW = Ug(\Lambda)\hat{X}W =Ug(\Lambda)M\hat{X}_{\mathbb{I}}WZ=g(L^)XW=Ug(Λ)X^W=Ug(Λ)MX^I​W

把g变成第一个,方便操作。
记Z^=UTZ=g(Λ)MX^IW\hat{Z} = U^TZ = g(\Lambda)M\hat{X}_{\mathbb{I}}WZ^=UTZ=g(Λ)MX^I​W

Z^I=(UTZ)I=(g(Λ)MX^IW)I=(g(Λ)M)IX^IW\hat{Z}_{\mathbb{I}} = (U^TZ)_{\mathbb{I}} = (g(\Lambda)M\hat{X}_{\mathbb{I}}W)_{\mathbb{I}} = (g(\Lambda)M)_{\mathbb{I}} \hat{X}_{\mathbb{I}}WZ^I​=(UTZ)I​=(g(Λ)MX^I​W)I​=(g(Λ)M)I​X^I​W

频域上的g有特殊性质,是一个对角矩阵。于是,

g(Λ)M=[giiMi]i∈[N]g(\Lambda)M = [g_{ii}M_i]_{i\in[N]}g(Λ)M=[gii​Mi​]i∈[N]​ ,其中giig_{ii}gii​ 表示 i行i列的对角线元素,MiM_iMi​表示第i行。
(g(Λ)M)I=([giiMi]i∈[N])I=g(Λ)IIMI(g(\Lambda)M)_{\mathbb{I}}= ([g_{ii}M_i]_{i\in[N]})_{\mathbb{I}} = g(\Lambda)_{\mathbb{I}\mathbb{I}}M_{\mathbb{I}}(g(Λ)M)I​=([gii​Mi​]i∈[N]​)I​=g(Λ)II​MI​
又考虑到
X^I=(MX^I)I=MIX^I\hat{X}_{\mathbb{I}}= (M\hat{X}_{\mathbb{I}} )_{\mathbb{I}} =M_{\mathbb{I}}\hat{X}_{\mathbb{I}}X^I​=(MX^I​)I​=MI​X^I​
这意味着我们可以令 MI=ErM_{\mathbb{I}} =E_{r}MI​=Er​ 成为一个r×rr\times rr×r单位矩阵。
所以在频域上
(g(Λ)M)I=g(Λ)IIMI=g(Λ)II(g(\Lambda)M)_{\mathbb{I}} = g(\Lambda)_{\mathbb{I}\mathbb{I}}M_{\mathbb{I}}=g(\Lambda)_{\mathbb{I}\mathbb{I}}(g(Λ)M)I​=g(Λ)II​MI​=g(Λ)II​

有了上述性质,可以进一步写出
Z^I=g(Λ)IIX^IW\hat{Z}_{\mathbb{I}} = g(\Lambda)_{\mathbb{I}\mathbb{I}}\hat{X}_{\mathbb{I}}WZ^I​=g(Λ)II​X^I​W

Z^=g(Λ)MX^IW\hat{Z} = g(\Lambda)M\hat{X}_{\mathbb{I}}WZ^=g(Λ)MX^I​W

对照上式发现
若WWW使得 RowRank(X^IW)=1\text{RowRank}(\hat{X}_{\mathbb{I}}W)=1RowRank(X^I​W)=1,
我们会得到和空域部分相似的结论
RowRank(Z^I)=1\text{RowRank}(\hat{Z}_{\mathbb{I}})=1RowRank(Z^I​)=1
RowRank(Z^)=1\text{RowRank}(\hat{Z})=1RowRank(Z^)=1

即,当g(Λ)IIg(\Lambda)_{\mathbb{I}\mathbb{I}}g(Λ)II​可逆时,
如果Z^I\hat{Z}_{\mathbb{I}}Z^I​的列相同,Z^\hat{Z}Z^的列也同步相同。

即,当g(Λ)IIg(\Lambda)_{\mathbb{I}\mathbb{I}}g(Λ)II​可逆时,
模型学不到一个使得 Z^I\hat{Z}_{\mathbb{I}}Z^I​的列相同,而Z^\hat{Z}Z^的列不同的ZZZ
此时,对于k>1的prediction,模型无法全部习得。

我称这个性质为列等同步性质。

2.3边界条件

注意到上述结论成立的一个重要前提是当g(Λ)IIg(\Lambda)_{\mathbb{I}\mathbb{I}}g(Λ)II​可逆。
这个前提条件能成立吗?答案是可以的。
因为我们的目的是证明,存在一种学习不到的ZZZ。
所以找反例即可。

只需要令Z^\hat{Z}Z^ 满足: Z^I\hat{Z}_{\mathbb{I}}Z^I​中的元素全部不为0。
根据Z^I=g(Λ)IIX^IW\hat{Z}_{\mathbb{I}} = g(\Lambda)_{\mathbb{I}\mathbb{I}}\hat{X}_{\mathbb{I}}WZ^I​=g(Λ)II​X^I​W就能推出g(Λ)IIg(\Lambda)_{\mathbb{I}\mathbb{I}}g(Λ)II​的对角线元素全部不为0,于是可逆条件成立。

2.4考虑这个结论对经典Spectral GNN的成立与否

Q:如果加入activation,我们能不能学到一个使得 Z^I\hat{Z}_{\mathbb{I}}Z^I​的列相同(且不含0),而Z^\hat{Z}Z^的列不同的ZZZ?

显然,按传统做法,用ReLU作为activation,也有很多Z是学不到的。
比如我希望
Z^=(11225678)\hat{Z} = \begin{pmatrix} 1 & 1 \\ 2 & 2 \\ 5&6 \\ 7&8 \end{pmatrix}Z^=⎝⎜⎜⎛​1257​1268​⎠⎟⎟⎞​

前两行作为I={1,2}\mathbb{I} = \{1,2\}I={1,2}。
用ReLU永远学不到。
换tanh之类的也没用。

而单纯地堆叠Layers也做不到。
因为在最后一层的输出也会面临一样的问题。

所以可以说,这个结论对理解传统spectral GNN的表达能力上限非常有启发意义。
优雅,太优雅了!

有2个办法解决
1.抛弃spectral,改用spatial GNN。
我已经证明过了,上面这个列等同步性质是spectral domain上g为diagonal的特殊性质带来的。
一旦抛弃spectral,得到 non-diagonal filter就会自动消除这个性质。
2.前面用spectral,output layer改成non-spectral。
这样可能可以解决一部分问题。

2.5 实践意义

Q:我知道了spectral学不到列等,这样有什么用吗? 存在需要你输出局部列等的情况吗?

对输出层。
我只能想到,某些multi-label的多分类任务中可能会出现。
比如某电影同时属于爱情片和惊悚片(盲探?)

但对于中间的隐层就不好说了。
对某些高相关的dimension pair,列等可能是很强的性质。

2.6 与过去某些工作的关联

作者提了一嘴。

We can use individual polynomial coefficients for each output channel to solve this problem

我突然想不起来看过哪篇文章,确实是这样做的。
把g拆开来,在不同的channel上再学一遍coefficients…
我只记得当时我还笑了一下…
好像还不止一篇。
等哪天想起来填坑吧。

三、Section4.2&4.3

  • Multiple Eigenvalue
  • Missing frequency components

这个很好理解,如果feature里就缺失了频率成分,无论怎么通过filter去scale都无法解决。
这对应了第三个condition。
好消息是,作者在Appendix E.中对10个benchmark dataset做了统计,证明这个情况非常罕见。

(这个问题应该早就有人讨论过吧?我有印象。。。因为大图上的重根很少是一个很自然的结论。频率成分缺失对特征足够强的数据集来说更不存在。)

相反,真正需要深入的问题是之前另外一些工作讨论的。
我们知道大图没有什么重根,但我们在乎不同根之间的密度(距离)。
dp=λp+1−λpd_{p} = \lambda_{p+1}-\lambda_{p}dp​=λp+1​−λp​。

我又想不起来是哪篇文章有这个结论了,这个d大于还是小于某个阈值会让性能变好来着。。。

四、 section 4.4

Proposition 4.3…

我不知道为什么他又要证一遍。。我记得好像是GIN里已经证了一次了。
mp框架下的GNN表达能力不会超出 1-WL 。
直接引不香吗。

Corollary 4.4 在没有重特征根和没有缺失频率成分两个条件约束下,1-WL也能区分所有非同构的结点。

Theorem 4.5 没有重特征根的图,order of automorphism不会超过3.
意思是最多3个 g^3 = E , E is identity matrix。
后面就无限自同构了。 g4=g3∗g=g,g5=g2,g6=g3=Eg^4 = g^3*g=g, g^5=g^2, g^6 = g^3 = Eg4=g3∗g=g,g5=g2,g6=g3=E
自同构群{E,g,g^2}, order为3.

Theorem 4.6 进一步地,如果同时满足没有重特征根和没有缺失频率成分,除了identity之外将没有其他automorphism。
即自同构群{E}, order=1。

这意味着,此时跑1-WL和linearGNN没有区别。
都会给不同的结点输出完全不同的标签。

Appendix C中讨论了random feature的影响
待更…

五、 Section 4.5 nonlinear

简单来说
nonlinear 可以mix frequency components。

我记得之前有个结论是,non linear可以引入high frequency components。
(Q:怎么证?)

Baseline

ChebyNet
SGC
APPNP
GNN-LF/HF
GPRGNN
ARMA
BernNet

这样一看,这个领域的进展可以说非常缓慢了。
只有大佬可以从别的领域迁移一点东西进来。
寻常人想灌水也灌不进去。
平均下来,1年也就出1~1.5个model。

参考
//https://www.mathcounterexamples.net/a-vector-space-written-as-finite-union-of-proper-subspaces/

笔记 How Powerful are Spectral Graph Neural Networks相关推荐

  1. 【从零开始】CS224W-图机器学习-2021冬季学习笔记8.1 Applications of Graph Neural Networks

    课程主页:CS224W | Home 课程视频链接:斯坦福CS224W<图机器学习>课程(2021) by Jure Leskovec 文章目录 1  前言 2  对GNN进行图增强 2. ...

  2. cs224w(图机器学习)2021冬季课程学习笔记10 Applications of Graph Neural Networks

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Graph Augmentation for GNNs 1.1 图特征增强Feature A ...

  3. cs224w(图机器学习)2021冬季课程学习笔记11 Theory of Graph Neural Networks

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. How Expressive are Graph Neural Networks? 2. D ...

  4. 《How powerful are graph neural networks》论文翻译

    作者:Keyulu Xu (MIT),Weihua Hu(Stanford Universtity),Jure Leskovec(Stanford Universtity),Stefanie Jege ...

  5. 文献笔记:Benchmarking graph neural networks for materials chemistry

    文献笔记:Benchmarking graph neural networks for materials chemistry 摘要 Introduction RESULTS DISCUSSION M ...

  6. cs224w(图机器学习)2021冬季课程学习笔记9 Graph Neural Networks 2: Design Space

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. A General Perspective on Graph Neural Networks ...

  7. How Powerful are Graph Neural Networks? GIN 图同构网络 ICLR 2019 论文详解

    文章目录 1 相关介绍 Definition 1 :multiset 数学上的单射(injective) 2 GNN 怎么和 Weisfeiler-Lehman test 关联起来? 2.1 符号定义 ...

  8. 《Graph Neural Networks: A Review of Methods and Applications》图网络综述 -- 解析笔记

    Graph Neural Networks: A Review of Methods and Applications 相关推荐 概要 原文链接 内容概括 要点分析 图神经网络 生疏词汇 笔记 符号表 ...

  9. 论文阅读笔记:Link Prediction Based on Graph Neural Networks

    文章目录 说明 Abstract 1 Introduction 2 Preliminaries Notations Latent features and explicit features Grap ...

最新文章

  1. excel 两组数据交点_初识Python 数据可视化
  2. php怎么关闭全部进程,怎么关闭swoole进程
  3. Java IO的RandomAccessFile的使用(转)
  4. 蓝桥杯 - 历届试题 - 日期问题
  5. 5 点击图换下一张_如何制作一张高点击率主图
  6. 用SublimeText当Unity Shader的编辑器
  7. mysql中常见的几种索引
  8. 怎么用deveco studio升级鸿蒙,华为鸿蒙DevEco studio2.0的安装和hello world运行教程
  9. ERP项目实施记录08
  10. git撤销单个文件的修改_程序员都要掌握的 Git 使用技巧【实践】
  11. 五十一个经典小故事5
  12. directx安装后找不到_如何下载,安装,更新到最新的DirectX
  13. 麦当劳和肯德鸡的笑话
  14. 2014网易游戏实习生面试体验
  15. 还在熬夜干论文——Python带你一键起飞!【内附演示视频】
  16. python pandas dataframe 不显示索引_Python DataFrame 设置输出不显示index(索引)值的方法...
  17. 红山服务器虚拟化解决方法,红山虚拟化:数据备份与灾难恢复
  18. 解决deepin系统中某磁盘的文件为只读文件
  19. 输入框采用自动填充数据后,变成浅黄色背景
  20. 云计算技术及其应用前景分析

热门文章

  1. HDOJ 1847Good Luck in CET-4 Everybody!(巴士博弈)
  2. tan(x)的四阶麦克劳林级数
  3. 软件加速访问GitHub(mac/windows/linux通用)
  4. ICS文件说明和创建(以Outlook为例)
  5. 小白如何自学编程? 看完这篇这些雷和坑千万不要踩!
  6. 文件管理之文件的逻辑结构
  7. excel 日期选择器_Excel日期选择器工具
  8. 微信看一看小程序视频缓存到手机的位置
  9. 解决冲突后,git merge --continue 时 lint不通过
  10. python爬取微信小程序源代码_【实战】CrawlSpider实现微信小程序社区爬虫