Comments (3)
Hi!
People often use radius graphs since it gets around having to know the chemical bonds and edge cases where the bonds are ill-defined. This is often the case in molecular simulation. Also, methods often just perform better with a larger radius, i.e. moving further away from the chemical graph.
But you can also use multiple different graphs, as done e.g. by MXMNet or GemNet-OC.
Regarding your concern of "using the radius graph model will become very heavy and difficult to train":
- Computing the radius graph is quite simple and incurs negligible overhead.
- The fact that the radius graph has more edges than the chemical graph does indeed incur significant overhead. We typically observe a runtime vs. accuracy trade-off here, as mentioned above. More edges will give you better accuracy, but will make the model slower. So the question really is about what your overall target is. We write about this a bit in the GemNet-OC paper, where we then use a k-NN graph instead, which provides a much better trade-off. You can find similar results in many different papers.
from gemnet_pytorch.
Dear developers,
Sorry for having a related question about this repo. I am confused by the concept of "More edges will give you better accuracy". Does it mean the human knowledge of the chemical graph is not a good prior, so the model will not learn well with this? Is the "More edges will give you better accuracy" only true when data is more? Also, I think graph NN with more depth will finally see all nodes as well, just have a prior structured way of information exchange.
from gemnet_pytorch.
Does it mean the human knowledge of the chemical graph is not a good prior, so the model will not learn well with this?
That statement was referring to radius graphs: A larger radius (i.e. more edges) typically gives better accuracy.
Still, I don't think the chemical graph gives a lot of information (or a useful prior) if you have all atom positions. Inferring the graph from atom distances doesn't seem too hard to me, especially compared to how difficult e.g. energy prediction is.
Is the "More edges will give you better accuracy" only true when data is more?
I don't know how many data points you need for the above statement to be true. My guess is that you don't need much, and nowadays it's easy to create a dataset with e.g. 10k data points. That would imho already be well above the threshold where I'd expect the prior from the chemical graph to help.
Also, I think graph NN with more depth will finally see all nodes as well, just have a prior structured way of information exchange.
True. But seeing neighbors only via multiple steps (a) makes the task harder, and (b) provides less geometrical information. Think about the extreme case of every atom only seeing 1 neighbor. In this case the GNN would not be able to triangulate the position of any atom. See all the discussions around GNN expressivity, e.g. in this paper or in our DimeNet paper.
Caveat: Most statements in this post are based on intuition and experience, not explicit data.
from gemnet_pytorch.
Related Issues (14)
- Coll dataset HOT 2
- Question about pretrained weights HOT 2
- the dihedral angle difinition HOT 1
- Gradients from analytical differentiation HOT 1
- Question about basis functions used HOT 2
- The code that predicts on the test set? HOT 1
- Error at line 287 in basis_layers.py HOT 1
- QM9 dataset HOT 1
- A potential bug in data_provider.py HOT 1
- Question about the gradient of positions HOT 1
- Some questions regarding reducing the size of both input and model? HOT 3
- Reproducing Questions HOT 1
- Package installation throws errors HOT 3
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 gemnet_pytorch.