dmlc / dmlc/dgl

[Feature Request] Implement graph normalization

Open
#2,297 0 comments 7 reactions 0 assignees View on GitHub
feature request
Dominant language
Python
Stars
14.3k
Forks
3.1k
PR merge metrics
No merged PRs in 30d

Description

## 🚀 Feature
Implement graph normalization function based on papers:

1) [GraphNorm: A Principled Approach to Accelerating Graph Neural Network Training](https://arxiv.org/pdf/2009.03294.pdf)
Already uses DGL: https://github.com/lsj2408/GraphNorm/blob/master/GraphNorm_ws/gnn_ws/gnn_example/model/Norm/norm.py
https://github.com/microsoft/ptgnn/blob/master/ptgnn/neuralmodels/gnn/messagepassing/graphnorm.py

2) [LEARNING GRAPH NORMALIZATION FOR GRAPH NEURAL NETWORKS](https://arxiv.org/pdf/2009.11746v1.pdf)
Already uses DGL: https://github.com/cyh1112/GraphNormalization/blob/master/norm/graph_norm.py.

They are regular normalization: x - mean / std, but applied to the whole graph. The main difference in that (1) introduces alpha:
![image](https://user-images.githubusercontent.com/23004953/96827653-0a4a5380-1404-11eb-9aae-b5e0f34be364.png)

## Motivation

Results from papers:
1)
![image](https://user-images.githubusercontent.com/23004953/96825168-817ce900-13fe-11eb-8a31-bbbb1e4641ec.png)
![image](https://user-images.githubusercontent.com/23004953/96825794-f7358480-13ff-11eb-95f9-8d219952aa32.png)

2)
![image](https://user-images.githubusercontent.com/23004953/96825230-a1aca800-13fe-11eb-850a-8c7f52c01a6c.png)

## Additional context

I am sorry if this is already implemented. Couldn't find it mentioned in the website, or github or in the code of GIN.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.