日本語 | English | GitHub

ANN training parameters and physical meaning

Call chain and models

Configure c01_train_ann.py; it calls aenet_env.training and aenet_env.aenet_backend, which delegate learning to the selected external ænet implementation. The local model approximates total energy as a sum of element-specific atomic ANN contributions from finite-radius descriptors. Long-range physics is not automatically reproduced exactly.

Parameter

v0.0.3 example

Meaning and caveats

ROOT, REFERENCES, OUTPUT

SiO2, SiO2/references, SiO2/ann

Input/output directories; relative paths use the current working directory. Separate experiments by output path.

SPECIES

('Si','O')

Chemical species and element-specific networks. Match the reference structures and ordering.

RADIAL_CUTOFF

6.0 Å

Radial environment extent. Consider coordination shells and periodic images.

ANGULAR_CUTOFF

3.5 Å

Angular environment extent. Check whether relevant local bridges are represented.

RADIAL_ORDER

10

Chebyshev radial expansion order; balances resolution, feature size, and overfitting.

ANGULAR_ORDER

3

Chebyshev angular expansion order; evaluate together with cutoff.

MINIMUM_DISTANCE

0.5 Å

Descriptor lower-distance parameter, not a physical collision threshold for generating structures.

HIDDEN_NODES

30

Two tanh hidden layers with 30 units each in architecture().

ITERATIONS

1000

Training iteration limit; meanings differ across optimizers.

TEST_PERCENT

10

Internal test fraction, not a substitute for independent validation.

DEVICE

cpu

Torch backend only, not the Fortran API path.

FORCE_WEIGHT

0.0

Torch force-loss weight; zero disables direct force-loss training.

GENERATE_EXE, TRAIN_EXE

generate.x, train.x

Fortran executable names or paths.

Training backends

  • fortran_legacy: prepare_fortran_dataset writes .stp, generate.in, train.in; train_fortran_legacy invokes train.x.

  • fortran_normal: Fortran-format dataset and TrainingConfig(iterations=ITERATIONS, testpercent=TEST_PERCENT, method=BFGS()) passed to train_fortran_api. Selected in the supplied example.

  • aenet_python_torch: ChebyshevDescriptor, TorchTrainingConfig, and Adam(mu=0.001, batchsize=16); DEVICE and FORCE_WEIGHT apply here.

  • separate_aenet_pytorch: independent trainer configured with SEPARATE_TRAINER, SEPARATE_INPUT, SEPARATE_MODELS, and external converters.

Validation and warnings

Descriptor cutoffs are not bond lengths. Check periodic-image correlations in small DFT cells, reference element order, energy/force units, and convergence. Keep related or nearly duplicate structures from leaking across training/test partitions. Evaluate generalization using an independent validation set. Evaluate energy and, where applicable, force errors, structural subgroups, out-of-distribution environments, and transfer to the intended application. A trained model file does not establish successful RMC_POT constraints.

Related: v0.0.3 project guide based on the current README.