"Message-passing GNNs are known to suffer from pathologies, such as oversmoothing, due to their repeated aggregation of local information [19], and over-squashing, due to the exponential blow-up in computation paths as the model depth increases [1]. As a result, there is a growing interest in deep learning techniques that encode graph structure as a soft inductive bias, rather than as a hard-coded aspect of message passing [14, 24]." - Rethinking Graph Transformers with Spectral Attention. NeurIPS 2021 -*
Abstract
Graph representation learning에서 Transformer가 좋은 성능을 보이는가?
Graphormer
standard transformer architecture
많은 graph representation learning task에서 좋은 성능을 보임
especially on the recent OGB Large-Scale Challenge
Key Insight
graph를 모델링하기위해 structural information을 효율적으로 encoding하는 방법의 필요성
Graphormer의 표현력을 수학적으로 characterize
graph의 structural information을 encoding하는 방법을 다른 GNN variants와 비교해보았을 때, 이들을 모두 Graphormer의 특수케이스로 커버할 수 있었음
💡 Ways to encode structural information of the graph ⇒ Graphormer
1. Introduction
Graph representation에 transformer를 적용하고자 하는 꾸준한 시도
하지만 지금까지 가장 효과적인 방법은 feature aggregation과 같은 classic GNN variants의 몇몇 key module에만 softmax attention을 적용하는 방식 (ex. GAT) → graph representation learning에 transformer 를 적용하는것이 적절한가?
Graphormer
directly built upon the standard transformer architecture
graph-level prediction task에서의 SOTA(OGB-LSC)
node i의 self-attention
노드쌍 사이의 relation으로 확인할 수 있는 structural information을 고려하지 않음
node i와 다른 노드들 사이의 semantic similarity만 계산
다음 information들을 활용해 structural encoding method 구성
Centrality Encoding
목적 : 그래프에서의 node importance
☹️ self-attention의 경우 node의 semantic feature의 유사도를 기반으로 계산되기 때문에, 다른 노드들보다 더 중요한 노드의 중요도같은 정보를 파악하기 어려움
💡 degree centrality
학습가능한 벡터가 노드의 degree에 따라 각 노드에 할당되고, 이것이 input layer의 node feature들에 더해지는 방식
연결 중심성(Degree Centrality)
: 한 Node에 연결된 모든 Egde의 갯수(Weighted 그래프일 경우에는 모든 Weight의 합)로 중심성을 평가
☹️ node embedding의 similarity를 기반으로 계산되는 기존 attention → node centrality의 특성을 반영하기 어려움
💡 Degree centrality
indegree&outdegree → two real-valued embedding (learnable)
Apply centrality encoding to each node and simply add it to the node feature
hi(0)=xi+zdeg−(vi)−+zdeg+(vi)+
undirected : 그냥 하나로 합침
💡 원래는 그냥 x(semantic embedding)로만 similarity를 구해서 attention을 구했었는데, learnable한 indegree, outdegree embedding을 더한걸 가지고 similarity를 바탕으로 attention을 계산하다 보니까 semantic correlation과 node importance모두 caputre할 수 있었다~!
3.1.2 Spatial Encoding
Transformer의 장점 중 global receptive field ← sequential하게가 아니라 한번에 문장내 모든 단어들에 대해 attention을 구해서 생기는 특성
⇒ byproduct problem : sequential data에 대해 순차적 process가 들어가지 않으니까 자연어 같은 애들은 positional encoding이 들어가야됨
그래프에서는 node가 sequence로 정렬되어있지 않음
multi-dimensional spatial space, edge로 연결
💡 자연어에서는 그냥 positional encoding해주면 되는데 그래프는 sequential이 아니니까 다른 방법으로 structural information을 넣어준다 = Spatial encoding
⇒ Spatial Encoding
Graph G에서 vi,vj사이 spatial relation을 측정하는 function ϕ(vii,vj):V×V→R
ϕ(vii,vj)는 노드들 사이 connectivity로 정의 = distance of shortest path(SPD)
연결안된경우 -1
각 output value에 learnable scalar assign → self-attention 모듈의 bias term
Aij=d(hiWQ)(hjWk)T+bϕ(vi,vj)
Aij : Query-Key matrix A의 (i,j)th element
bϕ(vi,vj) : ϕ(vii,vj)에 따라 assign된 learnable scalar, shared across all layers
💡 transformer에서 query를 바탕으로 다른 모든 key value들과 연산하고 그거를 softmax먹여서 score로 사용. score랑 value들 가중합해서 attention으로 사용. 여기 나와있는 A_ij는 score느낌인듯, 근데 degree centrality가 반영된 node embedding similarity만 구한게 아니라 거기에 bias term으로 distance of shortest path도 더해준 것!
장점
receptive field가 이웃 노드들로 제한되는 conventional GNN과 비교했을 때 transformer layer는 그래프 내의 모든 다른 노드들의 attend하며 global information을 제공
bϕ(vi,vj)을 적용함으로써, transformer layer의 각 노드는 그래프의 구조적 정보(structural information)에 따라서 adaptively attend
ex. bϕ(vi,vj)가 ϕ(vii,vj)에 따라 감소함수로 학습되었을 경우 → 모델은 가까운 노드를 더 attend하고, 멀리있는 노드는 상대적으로 덜 attend하게됨
3.1.3 Edge Encoding in the Attention
edge또한 구조적 특성을 가지는 경우
ex. molecular graph, 원자쌍 사이 연결이 특정 type을 가지기도 함
Traditional methods for edge encoding
edge features가 연관된 nodes’ features에 더해짐
각 노드에 대해 연관된 edges’ features는 aggregation단계에서 node features와 함께 사용됨
⇒ 연관된 노드와의 edge 정보만 propagate → whole graph representation에 edge information을 활용하기에는 효율적인 방법이 아닌듯
attention mechanism은 각 node pair (vi,vj)에 대해 correlation을 추정
이때 두 노드를 연결하는 edge가 고려되어야함
⇒ 노드간 shortest path를 찾고, path를 따라 edge feature와 learnable embedding(Weight embedding)을 dot product하여 평균내는 방식
Fact 1. By choosing proper weights and distance function ϕ(Spatial encoding을위한 SPD를 scalar mapping해주는 function), the Graphormer layer can represent AGGREGATE and COMBINE steps of popular GNN models such as GIN, GCN, GraphSAGE.
self attention을 계산할 때 spatial encoding이 들어가서 노드의 neighbor set(SPD=1) 구분 가능 → softmax적용해서 이웃노드셋에 대한 평균 계산 가능
node의 degree를 위에서 구한 이웃노드셋에 대한 평균에다 곱해주면 sum으로 변환 가능
멀티헤드 어텐션, FFN을 통해 노드 v, 그리고 이웃 노드셋의 representation은 따로 계산된 후에 나중에 합쳐짐 ← FFN은 vanilla transformer에서도 토큰단위로 따로 들어가는 거였음
😀 spatial encoding으로 WL test보다 더 expressive한 GNN(1WL test가 MPNN)
appendixA에서 WL test로 구분하지 못하는 그래프를 grpahormer로 구분하는거랑 다른 GNN의 special case인거 증명
Connection between Self-attention and Virtual Node.
Fact 2. By choosing proper weights, every node representation of the output of a Graphormer layer without additional encodings can represent MEAN READOUT functions.
self attention은 전체 노드를 attend ⇒ simulate graph-level READOUT operation to aggregate information from the whole graph
Theoretically 뿐만아니라 empirically No over-smoothing problem ⇒ vnode추가로 graph readout 구현
4. Experiments
4.1 OGB Large-Scale Challenge
graph-level prediction dataset
4.2 Graph Representation.
4.3 Ablation Studies
Node Relation Encoding
Positional encoding employed by previous Transfomer based-GNN
How powerful are graph neural networks? : project edge features to an embedding vector and multiply it by attention coef, and send the result to an additional FFN sub-layer to produce edge representations
6. Conclusion
graph structural encodings
Centrality Encoding
Centrality Encoding
Edge Encoding
works well on wide range of popular benchmark datasets
challange
- quadratic complexity of the self-attention module restricts Graphormer’s application on large graphs
💡 GAT와 Transformer : GAT에서는 node embedding의 semantic한 similarity를 기반으로 attention을 구했다면, Transfomer는 여기에 degree centrality, spatial encoding, edge feature를 추가한 attention을 계산. 이 세가지를 attention을 구하는데 집어넣는 과정에서 각각의 representation에 대해 learnable한 function들을 도입하여 학습 과정에서 그 weight를 학습하게되는 방식.
Attention을 사용했을 때 장점은 노드의 이웃여부와 관계없이 모든 노드를 attend할 수 있다는 것 ⇒ global receptive field
🤷 그럼 기존 MPNN 레이어를 쌓아서 hop을 늘리면 되는거 아니냐 라고하면?
⇒ 그랬을때는 oversmoothing problem(increasing the number of GNN layers, the features tend to converge to the same value)이 있음
💡 Transfomer가 CNN, LSTM, GNN, GCN 같은 애들보다 잘하는건 적은 inductive bias때문이라고 할 수 있을거 같다. 기존 모델들은 들어가는 데이터의 특성(이미지의 경우 locality, 시계열의 경우 sequential)을 살린 모델 구조라서 inductive bias가 세게 걸려있다고 할 수 있다.
반면 Transformer는 그런거 없이 개별토큰이 모든 intput에 대해 attend하기도 하고, locality나 sequentiality같은 것들은 positional encoding으로 상대적으로 약하게 걸려있다고 할 수 있다. ⇒ inductive bias가 적게 걸려있어서 NN이 학습할 수 있는게 더 많았다! ⇒ 데이터가 많을때 더 잘 작동한다!
🤷 근데 그럼 데이터가 적은데 transformer를 사용하려면?
⇒ 추가적인 inductive bias를 줄 수 있는 방법에 대해 고민해봐야할 듯