Skip to content

Implementation of GraphKan with torch geometrics and its application on signal classification

Notifications You must be signed in to change notification settings

Ryanfzhang/GraphKan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graphkan: Implementation of Graph Neural Network version of Kolmogorov Arnold Networks with torch geometrics

In this repository, we have implemented Graphkan using pytorch_geometric. Therefore, you can easily apply GraphKan to your own graph tasks. We have tested GraphKan on signal classification tasks, and the results are as follows.

Model Set 1 Set 2 Set 3 Set 4
GCN 0.9343 0.9457 0.8871 0.8186
GCN with Kolmogorov Arnold Networks 0.9643 0.9600 0.9214 0.8400

Learning curve on Set 1 is as below.

image

We can see that GraphKAN exhibits better expressive power in representation learning compared to original graph networks. image

Training log is uploaded as PDF.

GCN: \log\graph.pdf

GCN with Kolmogorov Arnold Networks: \log\kangraph.pdf

Usage

If you want to use GraphKan on your own task, you can replace original ChebConv with the kanChebConv in model/GNNs.py.

Tips

(1) You can utilize various types of KAN, including FourierKan, ChebyKan and so on. However, it is unfortunate that FourierKAN and ChebyKAN are not effective for our tasks, and further investigation is needed to determine the cause.

(2) According to our experiments, the inclusion of LayerNorm or BatchNorm in your network may be necessary.

Thanks to the efficient-kan.

About

Implementation of GraphKan with torch geometrics and its application on signal classification

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages