前言
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
^
)
X
W
\text{linear GNN} =g(\hat{L})XW
linear GNN=g(L^)XW
众所周知,任意linear GNN由filter和transformation两个部分组成。
Condition
- one-dimensional prediction
- no multiple eigenvalues
- 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
说如果
X
X
X是行不满秩的,那么总有multi-dimension prediction是linear GNN无法逼近的。
我看完Appendix里的证明才知道他想说啥…
用自己的语言表达一下。
二、Section 4.1 multi-dimensional部分拆解
首先,特征矩阵行不满秩,是大概率事件。因为
S
h
a
p
e
(
X
)
=
(
N
,
d
)
Shape(X)=(N,d)
Shape(X)=(N,d) ,一般来说
N
>
>
d
N>>d
N>>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时是充分的
原文证明感觉有点问题。
第一部分, R d − ∪ i = 1 n V i ≠ { 0 } \mathbb{R}^{d}-\cup_{i=1}^{n} V_{i} \ne \{0\} Rd−∪i=1nVi={0}能由 V i V_i Vi 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) = r
RowRank(X)=r。
从
X
X
X中找
r
r
r行构成极大线性无关向量组,这
r
r
r行的行标构成新的集合
I
=
{
s
1
,
s
2
,
.
.
.
,
s
r
}
\mathbb{I} = \{s_1,s_2,...,s_r\}
I={s1,s2,...,sr}。
那么这个极大线性无关向量组构成的矩阵可以记作
X
I
=
{
X
s
i
}
∈
R
r
×
d
X_{\mathbb{I}} = \{ X_{s_{i}}\} \in \mathbb{R}^{r\times d}
XI={Xsi}∈Rr×d。
我们可以用这个极大线性无关向量组来表达原来的特征矩阵,写成
X
=
P
X
I
,
M
∈
R
N
×
r
X = PX_{\mathbb{I}}, M \in \mathbb{R}^{N\times r}
X=PXI,M∈RN×r。
假设存在一个
W
∈
R
d
×
k
W \in \mathbb{R}^{d\times k}
W∈Rd×k 使得
X
I
W
X_{\mathbb{I}}W
XIW降为行秩1的矩阵。
即
RowRank
(
X
I
W
)
=
1
\text{RowRank}(X_{\mathbb{I}}W)=1
RowRank(XIW)=1, 即
X
I
W
X_{\mathbb{I}}W
XIW的每一列都相同。
那么显然 linear GNN的输出
Z
=
g
X
W
=
g
(
P
X
I
)
W
=
g
P
(
X
I
W
)
Z= gXW = g(PX_{\mathbb{I}})W =gP(X_{\mathbb{I}}W)
Z=gXW=g(PXI)W=gP(XIW) 满足
RowRank
(
Z
)
≤
RowRank
(
X
I
W
)
=
1
\text{RowRank}(Z)\le \text{RowRank}(X_{\mathbb{I}}W)=1
RowRank(Z)≤RowRank(XIW)=1 ,
又
Z
≠
0
Z \ne \mathbb{0}
Z=0,即
RowRank
(
Z
)
>
0
\text{RowRank}(Z) \gt 0
RowRank(Z)>0。
于是
RowRank
(
Z
)
=
1
\text{RowRank}(Z)=1
RowRank(Z)=1。
于是Z的每一列都相同。
这个空域性质本身并不强大,因为空域上的g没有特殊性。
但是在频域上却有更强大的表现。
2.2频域性质
记频域特征
X
^
=
U
T
X
∈
R
N
×
d
\hat{X} = U^TX \in \mathbb{R}^{N\times d}
X^=UTX∈RN×d,
W
∈
R
d
×
k
W \in \mathbb{R}^{d\times k}
W∈Rd×k
同样地
令行秩
RowRank
(
X
^
)
=
r
\text{RowRank}(\hat{X}) = r
RowRank(X^)=r。
从
X
^
\hat{X}
X^中找
r
r
r行构成极大线性无关向量组,这
r
r
r行的行标构成新的集合
I
=
{
s
1
,
s
2
,
.
.
.
,
s
r
}
\mathbb{I} = \{s_1,s_2,...,s_r\}
I={s1,s2,...,sr}。
那么这个极大线性无关向量组构成的矩阵可以记作
X
^
I
=
{
X
^
s
i
}
∈
R
r
×
d
\hat{X}_{\mathbb{I}} = \{ \hat{X}_{s_{i}}\} \in \mathbb{R}^{r\times d}
X^I={X^si}∈Rr×d。
我们可以用这个极大线性无关向量组来表达原来的特征矩阵,写成
X
^
=
M
X
^
I
,
M
∈
R
N
×
r
\hat{X} = M\hat{X}_{\mathbb{I}}, M \in \mathbb{R}^{N\times r}
X^=MX^I,M∈RN×r。
于是
Z
=
g
(
L
^
)
X
W
=
U
g
(
Λ
)
X
^
W
=
U
g
(
Λ
)
M
X
^
I
W
Z= g(\hat{L})XW = Ug(\Lambda)\hat{X}W =Ug(\Lambda)M\hat{X}_{\mathbb{I}}W
Z=g(L^)XW=Ug(Λ)X^W=Ug(Λ)MX^IW
把g变成第一个,方便操作。
记
Z
^
=
U
T
Z
=
g
(
Λ
)
M
X
^
I
W
\hat{Z} = U^TZ = g(\Lambda)M\hat{X}_{\mathbb{I}}W
Z^=UTZ=g(Λ)MX^IW
有
Z
^
I
=
(
U
T
Z
)
I
=
(
g
(
Λ
)
M
X
^
I
W
)
I
=
(
g
(
Λ
)
M
)
I
X
^
I
W
\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}}W
Z^I=(UTZ)I=(g(Λ)MX^IW)I=(g(Λ)M)IX^IW
频域上的g有特殊性质,是一个对角矩阵。于是,
g ( Λ ) M = [ g i i M i ] i ∈ [ N ] g(\Lambda)M = [g_{ii}M_i]_{i\in[N]} g(Λ)M=[giiMi]i∈[N] ,其中 g i i g_{ii} gii 表示 i行i列的对角线元素, M i M_i Mi表示第i行。
( g ( Λ ) M ) I = ( [ g i i M i ] i ∈ [ N ] ) I = g ( Λ ) I I M I (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=([giiMi]i∈[N])I=g(Λ)IIMI
又考虑到
X ^ I = ( M X ^ I ) I = M I X ^ I \hat{X}_{\mathbb{I}}= (M\hat{X}_{\mathbb{I}} )_{\mathbb{I}} =M_{\mathbb{I}}\hat{X}_{\mathbb{I}} X^I=(MX^I)I=MIX^I
这意味着我们可以令 M I = E r M_{\mathbb{I}} =E_{r} MI=Er 成为一个 r × r r\times r r×r单位矩阵。
所以在频域上
( g ( Λ ) M ) I = g ( Λ ) I I M I = g ( Λ ) I I (g(\Lambda)M)_{\mathbb{I}} = g(\Lambda)_{\mathbb{I}\mathbb{I}}M_{\mathbb{I}}=g(\Lambda)_{\mathbb{I}\mathbb{I}} (g(Λ)M)I=g(Λ)IIMI=g(Λ)II
有了上述性质,可以进一步写出
Z
^
I
=
g
(
Λ
)
I
I
X
^
I
W
\hat{Z}_{\mathbb{I}} = g(\Lambda)_{\mathbb{I}\mathbb{I}}\hat{X}_{\mathbb{I}}W
Z^I=g(Λ)IIX^IW
而
Z
^
=
g
(
Λ
)
M
X
^
I
W
\hat{Z} = g(\Lambda)M\hat{X}_{\mathbb{I}}W
Z^=g(Λ)MX^IW
对照上式发现
若
W
W
W使得
RowRank
(
X
^
I
W
)
=
1
\text{RowRank}(\hat{X}_{\mathbb{I}}W)=1
RowRank(X^IW)=1,
我们会得到和空域部分相似的结论
RowRank
(
Z
^
I
)
=
1
\text{RowRank}(\hat{Z}_{\mathbb{I}})=1
RowRank(Z^I)=1
RowRank
(
Z
^
)
=
1
\text{RowRank}(\hat{Z})=1
RowRank(Z^)=1
即,当
g
(
Λ
)
I
I
g(\Lambda)_{\mathbb{I}\mathbb{I}}
g(Λ)II可逆时,
如果
Z
^
I
\hat{Z}_{\mathbb{I}}
Z^I的列相同,
Z
^
\hat{Z}
Z^的列也同步相同。
即,当
g
(
Λ
)
I
I
g(\Lambda)_{\mathbb{I}\mathbb{I}}
g(Λ)II可逆时,
模型学不到一个使得
Z
^
I
\hat{Z}_{\mathbb{I}}
Z^I的列相同,而
Z
^
\hat{Z}
Z^的列不同的
Z
Z
Z。
此时,对于k>1的prediction,模型无法全部习得。
我称这个性质为列等同步
性质。
2.3边界条件
注意到上述结论成立的一个重要前提是当
g
(
Λ
)
I
I
g(\Lambda)_{\mathbb{I}\mathbb{I}}
g(Λ)II可逆。
这个前提条件能成立吗?答案是可以的。
因为我们的目的是证明,存在一种学习不到的
Z
Z
Z。
所以找反例即可。
只需要令
Z
^
\hat{Z}
Z^ 满足:
Z
^
I
\hat{Z}_{\mathbb{I}}
Z^I中的元素全部不为0。
根据
Z
^
I
=
g
(
Λ
)
I
I
X
^
I
W
\hat{Z}_{\mathbb{I}} = g(\Lambda)_{\mathbb{I}\mathbb{I}}\hat{X}_{\mathbb{I}}W
Z^I=g(Λ)IIX^IW就能推出
g
(
Λ
)
I
I
g(\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^的列不同的 Z Z Z?
显然,按传统做法,用ReLU作为activation,也有很多Z是学不到的。
比如我希望
Z
^
=
(
1
1
2
2
5
6
7
8
)
\hat{Z} = \begin{pmatrix} 1 & 1 \\ 2 & 2 \\ 5&6 \\ 7&8 \end{pmatrix}
Z^=⎝⎜⎜⎛12571268⎠⎟⎟⎞
前两行作为
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做了统计,证明这个情况非常罕见。
(这个问题应该早就有人讨论过吧?我有印象。。。因为大图上的重根很少是一个很自然的结论。频率成分缺失对特征足够强的数据集来说更不存在。)
相反,真正需要深入的问题是之前另外一些工作讨论的。
我们知道大图没有什么重根,但我们在乎不同根之间的密度(距离)。
d
p
=
λ
p
+
1
−
λ
p
d_{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。
后面就无限自同构了。
g
4
=
g
3
∗
g
=
g
,
g
5
=
g
2
,
g
6
=
g
3
=
E
g^4 = g^3*g=g, g^5=g^2, g^6 = g^3 = E
g4=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/