Hypergraph with DHT
1. Problem Definition
주어진 그래프의 edge를 정확하게 representing 하기
2. Motivation
Motivation
대부분의 GNN 연구는 그래프의 “node”에 관심을 가지고 있다. → “edge”에 대한 연구 미약함
node level representation을 증가시키기 위해 부가적으로 edge 정보를 사용하고 있음
하지만, 그래프 reconstruction/generation와 같은 task 에서는 그래프의 edge를 정확하게 표현하는 것이 중요함
edge의 연결이 부정확하게 된다면 완전히 다른 결과를 나타낼 수 있기 때문
따라서 본 논문에서는 현재 존재하는 edge representation learning 방법론의 한계를 극복하기 위한 scheme 제안
Challenges
edge를 다루는 데 가장 어려운 점은 edge에 대한 message-passing scheme이 없거나 혹은 suboptimality에 이른다는 점
edge를 hypergraph의 노드로 표현하여 이 문제를 해결하고자 함
또, 원본 그래프의 edge를 hypergraph의 edge로 변환하는 방법인 Dual Hypergraph Transformation (DHT)를 제안
이 방법으로 인해 any off-the-shelf message-passing schemes를 적용 할 수 있음
Idea
각 edge를 표현하는 것만으로는 전체 그래프의 정확한 representation을 얻기에 불충분하기 때문에 2개의 graph pooling method 제안
HyperCluster : 비슷한 edge를 single edge로 묶음
HyperDrop : 불필요한 edge 제거
3. Method
📌 관련 용어
Message-passing
node 혹은 edge 간의 연관성을 고려하면서 피처를 업데이트하기 위한 방법
Graph pooling
pooling 연산을 통해 그래프를 더 작은 그래프 혹은 벡터로 압축하여 정확한 그래프 representation을 학습하는 것을 목표로 함
가장 간단한 pooling 방법은 모든 node representation에 대해 mean, sum 혹은 max 등을 취하는 것
Edge HyperGraph Neural Network (EHGNN) : 본 논문에서 제안하는 edge representation learning framework with dual hypergraphs
먼저 일반적인 GNN에서의 message-passing 방법에 대해 살펴보자!
Graph neural networks
그래프가 주어졌을 때, GNN의 목적은 message-passing을 통해 이웃 node 사이의 node level representation을 학습하는 것
일반적으로 message-passing은 다음처럼 이루어짐
AGGREGATE : 노드 v의 이웃 노드들로부터 message를 합치는 함수
UPDATE : 노드 v의 representation을 업데이트 하는 함수
Edge representation learning
edge representation learning에 대해 message-passing 함수를 정의하는 방법은 (1)edge에 대한 인접행렬을 만들거나, (2)edge neighborhood 구조를 정의하거나 혹은 (3)line graph 변환을 사용하는 것
즉, 이것이 message-passing 방식을 edge 에 직접적으로 적용할 수 없는 **주요 문제점**이기 때문에, 본 논문에서는 _Hypergraph_를 사용하여 이를 해결하고자 함
그렇다면 Hypergraph는 무엇인가?
Hypergraph
Hypergraph는 그래프 구조의 데이터를 노드 간의 high-order 관계로 모델링 할 수 있는 그래프
전통적인 그래프에서 edge가 2개의 node만을 연결 할 수 있는 것과 달리, hypergraph에서는 하나의 edge가 random개의 노드와 연결할 수 있음
incidence matrix : n개의 nodes와 m개의 hyperedges 사이의 관계를 표현하는 행렬
전통적인 그래프 역시 위와 같은 모양으로 정의 할 수 있음
이때 M은 오직 2개의 노드와 관련이 있는 행렬을 의미
이제, 그래프의 edge를 hypergraph의 노드로 바꾸는 과정을 살펴보자!
Dual Hypergraph Transformation
node와 edge의 정보를 유지하면서 그 역할을 바꿀 수 있다면, edge를 학습하는데 있어 어떤 node-based message-passing 방식도 사용 할 수 있을 것
따라서 본 논문에서는 원본 그래프의 edge를 hypergraph의 node로, 원본 그래프의 node를 hypergraph의 edge로 변환하는 방식 제안
→ Dual Hypergraph Transformation
DHT는 변환에 있어 정보의 손실을 일으키지 않으며, 피처를 representation하는데 추가적인 메모리가 필요하지도 않음
Message-passing on the dual hypergraph
AGGREGATE : 노드 e의 이웃 노드들로부터 message를 합치는 함수
UPDATE : 노드 e의 representation을 업데이트 하는 함수
따라서, 위의 dual hypergraph에서의 message passing 식을 이용해 정리하면,
EHGNN은 DHT를 이용한 본 논문에서의 learning framework
이제, 전체 그래프의 edge를 정확하게 표현하기 위해 edge-wise representation을 사용하는 방법을 보자!
Graph-level edge representation learning with edge pooling
본 논문에서는 HyperCluster, HyperDrop 이라는 두가지 graph pooling 방법 제안
graph pooling
graph pooling의 목적은 전체 그래프의 representation을 학습하는 것
최근의 graph pooling method들은 node를 뭉치거나 혹은 불필요한 node를 drop 하는 방법
그러나 이 방법들은 node와 edge의 정보를 손실한다는 단점 존재
따라서 본 논문은 이런 한계를 극복하고자 함
HyperCluster
global한 edge representation을 얻기 위해 비슷한 edge들을 single edge로 만드는 방법
그 다음 위 식과 같이 HyperCluster 진행
HyperDrop
불필요한 edge를 제거하는 방법
hypergraph에서 점수를 계산하고 이때 top-ranked node를 선택 → 결국 원본 그래프의 top-ranked edge를 선택하는 것과 동일한 의미
그 다음 위 식과 같이 HyperDrop 진행
HyperDrop의 가장 큰 장점은 deep GNNs에서의 over-smoothing(지나친 획일화) 문제를 약화시킨다는 것
DHT 도식화
![](../../.gitbook/2022-spring-assets/WYE/DHT image.png)
4. Experiment
본 논문에서는 EHGNN을 3가지 task 관점에서 검증함
graph reconstruction
generation
classification
task에 대해서 하나씩 살펴보자!
Graph recontruction task
이 task의 목적은 compressed representation에서 edge 피처를 재구성하는 것
EHGNN with HyperCluster을 검증하려고 함
Dataset
synthetic two-moon graph 사용 (PyGSP 라이브러리에 의해 생성된)
node 피처는 좌표, edge 피처는 색깔(RGB)을 의미
real world graph로 ZINC dataset 사용
12K molecular graphs로 구성되어 있음
node 피처(좌표)는 atom types, edge 피처는 bond types
Evaluation Metric
accuracy : 모든 node와 edge의 분류 정확성을 측정
validity : 화학적으로 타당하게 생성된 molecules의 수
exact match : 원래의 molecules와 동일하게 생성된 molecules의 수
Baseline
EGCN, MPNN, R-GCN, EGNN
위 GNN들은 node 피처를 업데이트 하는데 부가적인 정보로 edge 피처를 사용함
여기에 현재 존재하는 graph pooling 방법 GMPool을 결합
EHGNN+HyperCluster와 baseline 비교
Edge reconstruction results
fig3을 보면, 본 논문에서 제시한 모델이 baseline에 비해 좋은 성능을 보임을 알 수 있음
fig4를 보면, 본 논문에서 제시한 모델이 원본 two-moon graph와 가장 비슷하게 edge 색깔이 구분되었음
이는 논문에서 제시한 방법이 의미있는 edge cluster를 구분할 수 있다는 것을 보여줌
Graph reconstruction results
마찬가지로 논문에서 제시한 모델이 baseline에 비해 높은 성능을 보임
이는 node representation 뿐 아니라 정확한 edge representation을 학습하는 것이 graph representation 성공의 중요한 요소임을 시사함
Qualitative analysis
제시한 모델이 baseline(b)에 비해 원래의 graph를 더 정확하게 재구성함을 보임
Graph compression
제시한 모델이 large, dense한 그래프를 압축하는데 효과적인지 검증하고자 함
따라서 모델을 Erdos-Renyi random 그래프에 적용
edge가 많아질 수록, 즉, 그래프의 사이즈가 커질 수록 baseline은 compact하게 압축하지 못하지만, 본 논문에서 제시한 모델은 compact하게 압축함을 보임
Graph generation
그래프의 edge가 잘못 만들어지면 전혀 다른 의미를 가지게 됨
따라서, edge 생성이 제대로 되는지 검증하기 위해 graph generation task 진행
Evaluation Metric
Synthetic Accessibility (SA) : 화합물의 합성 용이성을 평가하는 지표
Druglikeness (QED) scores
Baseline
MolGAN
GAN을 사용하여 molecular graph를 만듦
node level message-passing에 R-GCN 사용 ↔ EHGNN을 사용해 edge 정보를 얻고 그래프 encoder에서 mean pooling 방법을 사용
MArkov moleculaR Sampling (MARS)
MCMC 샘플링을 통해 molecule을 만듦
edge representation을 얻기 위해 Message Passing Neural Network (MPNN) 사용 ↔ EHGNN을 사용하여 edge representation 얻음
Expreriment setup
4가지의 molecule 특성을 최대화하도록 모델을 학습시킴
success rate는 모든 특성이 충족된 비율을 의미
MolGAN results
본 논문에서 제시한 모델이 baseline 대비 stable하며 뛰어난 성능을 보임
MARS results
본 논문에서 제시한 모델이 모든 evaluation metric에서 baseline보다 높은 성능을 보임
Graph and node classification
이제, classification task 관점에서 본 논문이 제시한 EHGNN with HyperDrop을 검증하고자 함
Dataset
6 datasets from the TU datasets
3개의 dataset은 biochemical 도메인, 나머지 3개는 social 도메인
4 molecule datasets from OGB datasets
Evaluation Metric
Accuracy - TU dataset에 대해 측정
ROC-AUC - OGB dataset에 대해 측정
Baseline
set encoding baseline
DeepSet
GNNs with naive pooling
GCN, GIN
hierarchical pooling
DiffPool, SAGPool, TopKPool, MinCutPool, ASAP, EdgePool, HaarPool
node pooling methods
SortPool, GMT
Experimental setup
모든 모델에 대해, node-level message-passing 레이어로 GCN을 사용
Classification results
본 논문에서 제시한 모델이 baseline에 비해 높은 성능을 보임
HyperDrop은 아무 노드도 제거하지 않기 때문에, 다른 node pooling method와 결합하여 사용할 수 있음
따라서 HyperDrop + GMT(node pooling method)를 결합하여 성능을 확인한 결과, 대부분의 데이터셋에서 최고의 성능을 보임
이는 그래프 분류에 있어 node와 edge를 정확하게 학습하는 것이 중요하다는 것을 시사
Ablation study
node 피처만 사용하는 경우(w/o EHGNN) 보다 edge representation도 같이 학습할 때 성능이 훨씬 향상됨을 확인
Over-smoothing with deep GNNs
여기서는, 본 논문이 제시한 모델이 over-smoothing 문제를 약화시킨다는 것을 증명하고자 함
본 논문에서 제시한 모델이 baseline에 비해 안정된 높은 성능을 보임
또한 over-smoothing을 약화시키는 방법 중 하나인 batch normalization과도 비교했을 때 높은 성능을 보임
5. Conclusion
Summary
본 논문은 그래프의 edge respresentation 문제를 다룸
새로운 edge representation learning framework인 DHT를 제안
edge → hypergraph의 node로 변환하는 방법
이 방법을 적용함으로써 node representation 학습에서의 message-passing scheme를 edge representation 에 적용시킬 수 있음
또한 2개의 edge pooling method 제시
HyperCluseter, HyperDrop
다양한 관점에서의 실험을 통해 본 논문에서 제시한 모델 검증 → baseline보다 좋은 성능을 보임
My comment
node 에 대한 학습은 많이 들어보았지만 edge 학습이라는 점은 조금 생소했음. 하지만 논문을 읽으며 논문에서 적용한 아이디어들에 매우 흥미로워 하면서 재밌게 논문을 읽을 수 있었음. 그래프 피처 표현에 관심이 생기며, 다음으로는 graph와 autoencoder 관련된 논문을 읽고 싶다는 생각이 들음.
Author Information
지식서비스 공학대학 20213383 원예은
Research Topic
물류 자동화, ASRS..
6. Reference & Additional materials
자세한 설명 논문 Appendix 참고
Last updated