Amp: A modular approach to machine learning in atomistic simulations
Abstract Electronic structure calculations, such as those employing Kohn Sham density functional theory or ab initio wavefunction theories, have allowed for atomistic level understandings of a wide variety of phenomena and properties of matter at small scales. However, the computational cost of electronic structure methods drastically increases with length and time scales, which makes these methods difficult for long time scale molecular dynamics simulations or large sized systems. Machine learning techniques can provide accurate potentials that can match the quality of electronic structure calculations, provided sufficient training data. These potentials can then be used to rapidly simulate large and long time scale phenomena at similar quality to the parent electronic structure approach. Machine learning potentials usually take a bias free mathematical form and can be readily developed for a wide variety of systems. Electronic structure calculations have favorable properties namely that they are noiseless and targeted training data can be produced on demand that make them particularly well suited for machine learning. This paper discusses our modular approach to atomistic machine learning through the development of the open source Atomistic Machine learning Package Amp which allows for representations of both the total and atom centered potential energy surface, in both periodic and non periodic systems. Potentials developed through the atom centered approach are simultaneously applicable for systems with various sizes. Interpolation can be enhanced by introducing custom descriptors of the local environment. We demonstrate this in the current work for Gaussian type, bispectrum, and Zernike type descriptors. Amp has an intuitive and modular structure with an interface through the python scripting language yet has parallelizable fortran components for demanding tasks; it is designed to integrate closely with the widely used Atomic Simulation Environment (ASE) which makes it compatible with a wide variety of commercial and open source electronic structure codes. We finally demonstrate that the neural network model inside Amp can accurately interpolate electronic structure energies as well as forces of thousands of multi species atomic systems. Program summary Program title: Amp Catalogue identifier: AFAK_v1_0 Program summary URL: http:/cpc.cs.qub.ac.uk/summaries/AFAK_v1_0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: yes No. of lines in distributed program, including test data, etc. 21239 No. of bytes in distributed program, including test data, etc. 1412975 Distribution format: tar.gz Programming language: Python, Fortran. Computer: PC, Mac. Operating system: Linux, Mac, Windows. Has the code been vectorized or parallelized? Yes RAM: Variable, depending on the number and size of atomic systems. Classification: 16.1, 2.1. External routines: ASE, NumPy, SciPy, f2py, matplotlib Nature of problem: Atomic interactions within many body systems typically have complicated functional forms, difficult to represent in simple pre decided closed forms. Solution method: Machine learning provides flexible functional forms that can be improved as new situations are encountered. Typically, interatomic potentials yield from machine learning simultaneously apply to different system sizes. Unusual features: Amp is as modular as possible, providing a framework for the user to create atomic environment descriptor and regression model at will. Moreover, it has Atomic Simulation Environment (ASE) interface, facilitating interactive collaboration with other electronic structure calculators within ASE. Running time: Variable, depending on the number and size of atomic systems.
Comput. Phys. Commun.