ML_DESC_TYPE

From VASP Wiki
Revision as of 09:16, 26 April 2024 by Karsai (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

ML_DESC_TYPE = [integer]
Default: ML_DESC_TYPE = 0 

Description: This tag selects the descriptor type of the three-body descriptor used in machine learning force fields.

Mind: This tag is only available as of VASP 6.4.3.

Mind: This tag is only available for ML_MODE = refit and ML_MODE = run (but needs only to be set in ML_MODE = refit , since it will be read from the ML_FF file in ML_MODE = run).

This tag selects how the three-body descriptor is calculated and the following options are available:

  • ML_DESC_TYPE = 0: Standard three-body descriptor. The number of descriptors in the calculations scales quadratically with the number of elements.
  • ML_DESC_TYPE = 1: Descriptor for which the number of descriptors is linearly scaling with respect to the number of chemical species.

Standard descriptor

The standard three-body descriptor (ML_DESC_TYPE=0) without self-interaction corrections for the th atom looks like the following

Here /, and are radial, angular, and magnetic quantum numbers, respectively. and are indices for the element types. Both indices go over all elements in the structure. So one can see that the number of three-body descriptors grows quadratically with the number of element types.

Element reduced descriptor

Another type of descriptor (ML_DESC_TYPE=1) which was proposed in Ref. [1] applies a reduction of one of the intermediate coefficients and is written as

In contrast to the standard three-body descriptor depends only linearly on the number of chemical species, since summing over for is equivalent to having element agnostic intermediate coefficients. When using this descriptor everything up to the calculation of the descriptors takes the same time to calculate as for the standard descriptor, but everything that comes after that, such as e.g. kernels and forces, scales linearly with respect to the number of chemical species. Hence the factor that is gained in computational efficiency is less than the number of chemical species but the factor increases with an increasing number of local reference configurations employed in the calculations. The improved computational efficiency comes at the price of decreased accuracy. The accuracy loss is system-dependent and is typically around 5 to 20 percent.

Additional sparsification

All descriptors can be further combined with descriptor sparsification (ML_LSPARSDES=.TRUE.). Generally, the sparsification of descriptors results in a trade-off between accuracy and efficiency. The fraction of descriptors that is kept is specified by ML_RDES_SPARSDES. We advise the user to adjust this parameter carefully and test it individually for each system. However, we have experienced the following trends for our test cases: For ML_DESC_TYPE=0 a descriptor sparsification of 50 percent ML_RDES_SPARSDES=0.5 leaves the accuracy almost untouched. Since ML_DESC_TYPE=1 contains already much fewer descriptors than ML_DESC_TYPE=0, a 50 percent sparsification for ML_DESC_TYPE=1 results in noticeable accuracy loss (additionally to the 5 to 20 percent by the descriptor itself).

Related tags and articles

ML_LMLFF, ML_MODE, ML_LSPARSDES, ML_RDES_SPARSDES

Examples that use this tag

References