Comments (3)
I've never seen what you suggest in the literature.
The 8-NN graph setting is taken from Defferrad et al. (2016), and it's interesting because it's a problem of graph signal classification: same topology, different features.
A GNN should not be able to distinguish the graph in the picture from a 5. If you remove the black pixels it should become almost impossible to classify MNIST, unless you encode spatial positions explicitly.
from spektral.
Thanks for the link, I am very news to graph NN and am just trying to get some feeling for it. The indistinguishability of 2 and 5 point makes sense but they don't get confused very often (they aren't however very accurately predicted)
The model seems to learn to recognize tips and twists very well, but struggle to count them which might be a weakness of the global attention layer. The figure shows the activation at each node for each channel.
-
Without spatial information (34%)
https://www.kaggle.com/kmader/disjoint-mnist-graph-deep-learning/ -
With spatial coordinates as features of vectors (87%)
https://www.kaggle.com/kmader/disjoint-mnist-graph-with-xy
from spektral.
Yeah, that 34% accuracy without coordinates does not surprise me. From a topology perspective, the GNN should be able to distinguish three classes depending on how many "holes" are in the graph: {1, 2, 3, 5, 7}, {4, 6, 9, 0}, {8}. I am not too sure about this claim though, I would need to think about it.
With spatial coordinates instead, it becomes a point cloud so it makes more sense. 87% seems a bit low, considering that on the original grid setting even very simple GNNs get to 99% easily, but it may be due to a number of factors.
Nice work! I am not sure that I would include it as a benchmark dataset in Spektral in order to avoid confusion, but you're doing a nice job for sure.
from spektral.
Related Issues (20)
- Adding D-MPNNConv
- Inquiry about the usability of graph classification HOT 1
- How to evaluate a graph regression model with new data? HOT 4
- Problem using GNNExplainer HOT 4
- Dependency Issue on Mac M2 Pro HOT 2
- model.evalute() reprodusibility problem HOT 5
- Columns and DataType Not Explicitly Set on line 55 of io.py
- load data to fit the model (Spektral & Keras) HOT 2
- Is it require to create an adjacency matrix? HOT 2
- 'GATConv' object is not callable
- How to use Single Mode when I am training for the same graph structure HOT 1
- How to match real label with predicted y after using model.predict() with disjointloader? HOT 2
- Code breaks when moving from Linux to MacOS HOT 2
- Unable to load Cora dataset using colab HOT 7
- No unsupvervised loss in GraphSAGE convolution layer HOT 1
- No unsupervised loss for GINConv HOT 1
- segment_id is out of range
- How to do the model.summary() after I have create a model? HOT 1
- How to create a model with multipe output layers?
- Dimension mismatch in GCN with DisjointLoader and node_level=True
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spektral.