-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Adaptive Scalar Basis such as Ranl #110
Conversation
this is going reasonably well so far - main technical challenge is to clean up the 1p basis because bases of the kind Ranl can be very large. This is related to #71, and might even lead to a resolution of this, and possibly we are then in a position to properly sparsify. |
the sparsification looks like it is working ok now; in particular this should now close #71 . The implementation is maybe not the most flexible, but it should be more than sufficient for now. |
@MatthiasSachs I'll soon be ready to merge this, and this is the last thing we need to explore sparsification with ACE if there is still interest. I think David and Cas can provide some nice training sets if we want. |
I have some training sets where NequIP is significantly better than linear ACE (factor of 2) so we could try it there. |
start with a large basis and then see if sparsification gets us into nequip territory, yes why not. The idea was to explore different sparsification mechanisms and see which are most "productive" both from the perspective of cost and quality of generalization. Nothing deep but a useful study I think. |
Is it something you would like to try now before merging it, or is it okay in a few days time / next week? |
I'm more thinking of this as a separate project / paper. |
btw, @davkovacs the other thing in this PR is the ability to have radial bases with parameters that could in principle be optimized. |
TODO
|
@andresrossb What would be involved in optimizing the |
One would still need to figure out the parameter wrangling. I assume we could build a structure around it like we did for Linear_ACE, however we would need to think of separating these two layers and then using Chain and functor to get the parameters. |
Okay, let me know when you are ready to try it and we can discuss what the first test case could be. |
@andresrossb so not at all trivial. Realistically it can’t be a chain but must be a graph. Can this be done easily? I've been seeing this more and more clearly actually that we need another major rewrite of ACE.jl to leverage this structure. Blech. If you have suggestions where to start? But I think this is a new issue. |
yes, I would be interested! This may proves also very useful for tensor-valued ACE. Would you be free some time later this week, e.g. Thursday or Friday? |
finally ready to merge. |
This is now tagged as 0.12.31 |
This PR will finally implement scalar bases of the form
where k is a general multi-index. Construction and evaluation is working so far. Before merging, we need more tests and maybe a few examples how to initialize the coefficients, e.g. a diagonal, and Michele's method could be implemented fairly easily.