Skip to content

Commit

Permalink
NNP: Neural Network Potential force environment
Browse files Browse the repository at this point in the history
Add implementation of Behler-Parrinello HD-NNPs
Contributions by F. Brieuc, O. Marsalek, H. Forbert are acknowledged.
  • Loading branch information
cschran committed Nov 13, 2020
1 parent 5fd1891 commit c24a65d
Show file tree
Hide file tree
Showing 54 changed files with 23,876 additions and 26 deletions.
15 changes: 15 additions & 0 deletions data/NNP/bulkH2O-jcp2020-cnnp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Supplementary data for a paper on committee neural network potentials

This directory contains NNP models from the following paper:

Committee neural network potentials control generalization errors
and enable active learning
Christoph Schran, Kyrstof Brezina, and Ondrej Marsalek
J. Chem. Phys. 153, 2020, DOI: [10.1063/5.0016004](
https://doi.org/10.1063/5.0016004)
arXiv: [2006.01541](https://arxiv.org/abs/2006.01541)

## Contents

* `nnp-1/2/3/4/5/6/7/8`
All parameters of the C-NNP model from generation 4 of the active learning procedure.
165 changes: 165 additions & 0 deletions data/NNP/bulkH2O-jcp2020-cnnp/nnp-1/input.nn
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
###############################################################################
# GENERAL NNP SETTINGS
###############################################################################
# These keywords are (almost) always required.
number_of_elements 2 # Number of elements.
elements O H # Specification of elements.
atom_energy O -74.94518524 # free atom reference energy (atomic zora)
atom_energy H -0.45890771 # free atom reference energy (atomic zora)
cutoff_type 2 # Cutoff type (optional argument: shift parameter alpha).
scale_symmetry_functions # Scale all symmetry functions with min/max values.
#scale_symmetry_functions_sigma # Scale all symmetry functions with sigma.
scale_min_short 0.0 # Minimum value for scaling.
scale_max_short 1.0 # Maximum value for scaling.
center_symmetry_functions # Center all symmetry functions, i.e. subtract mean value.
global_hidden_layers_short 2 # Number of hidden layers.
global_nodes_short 20 20 # Number of nodes in each hidden layer.
global_activation_short t t l # Activation function for each hidden layer and output layer.
#normalize_nodes # Normalize input of nodes.

###############################################################################
# ADDITIONAL SETTINGS FOR DATASET TOOLS
###############################################################################
# These keywords are used only by some tools handling data sets:
# nnp-comp2, nnp-scaling, nnp-dataset, nnp-train.
#use_short_forces # Use forces. Disable - repeated below.
random_seed 0 # Random number generator seed.

###############################################################################
# ADDITIONAL SETTINGS FOR TRAINING
###############################################################################
# These keywords are solely used for training with nnp-train.
epochs 100 # Number of training epochs.
updater_type 1 # Weight update method (0 = Gradient Descent, 1 = Kalman filter).
parallel_mode 1 # Training parallelization used (0 = Parallel (rank 0 update), 1 = Parallel (all update)).
jacobian_mode 2 # Jacobian computation mode (0 = Summation to single gradient, 1 = Per-task summed gradient, 2 = Full Jacobian).
update_strategy 0 # Update strategy (0 = Combined, 1 = Per-element).
selection_mode 2 # Update candidate selection mode (0 = Random, 1 = Sort, 2 = Threshold).
task_batch_size_energy 1 # Number of energy update candidates prepared per task for each update (0 = Entire training set).
task_batch_size_force 1 # Number of force update candidates prepared per task for each update (0 = Entire training set).
memorize_symfunc_results # Keep symmetry function results in memory.
test_fraction 0.1 # Fraction of structures kept for testing.
use_short_forces # Use forces for training.
force_weight 2.0 # Weight of force updates relative to energy updates.
short_energy_fraction 1.0 # Fraction of energy updates per epoch.
short_force_fraction 0.05 # Fraction of force updates per epoch.
short_energy_error_threshold 0.8 # RMSE threshold for energy update candidates.
short_force_error_threshold 1.0 # RMSE threshold for force update candidates.
rmse_threshold_trials 3 # Maximum number of RMSE threshold trials.
#use_old_weights_short # Restart fitting with old weight parameters.
weights_min -1.0 # Minimum value for initial random weights.
weights_max 1.0 # Maximum value for initial random weights.
#precondition_weights # Precondition weights with initial energies.
nguyen_widrow_weights_short # Initialize neural network weights according to Nguyen-Widrow scheme.
write_trainpoints 0 # Write energy comparison every this many epochs.
write_trainforces 0 # Write force comparison every this many epochs.
write_weights_epoch 1 # Write weights every this many epochs.
write_neuronstats 0 # Write neuron statistics every this many epochs.
#write_trainlog # Write training log file.

############################
# KALMAN FILTER (STANDARD) #
############################
kalman_type 0 # Kalman filter type (0 = Standard, 1 = Fading memory).
kalman_epsilon 1.0E-2 # General Kalman filter parameter epsilon (sigmoidal: 0.01, linear: 0.001).
kalman_q0 0.01 # General Kalman filter parameter q0 ("large").
kalman_qtau 2.302 # General Kalman filter parameter qtau (2.302 => 1 order of magnitude per epoch).
kalman_qmin 1.0E-6 # General Kalman filter parameter qmin (typ. 1.0E-6).
kalman_eta 0.01 # Standard Kalman filter parameter eta (0.001-1.0).
kalman_etatau 2.302 # Standard Kalman filter parameter etatau (2.302 => 1 order of magnitude per epoch).
kalman_etamax 1.0 # Standard Kalman filter parameter etamax (1.0+).

# Are these only for fading Kalman?
kalman_lambda_short 0.98000
kalman_nue_short 0.99870



###############################################################################
# SYMMETRY FUNCTIONS
###############################################################################

# INFO: symfunction format: reference atom, type, neighbor element 1 (and neighbor element 2), symfunction parameters


#
# radial
#

# central_atom type neighbor_atom eta rshift funccutoff

# H H
symfunction_short H 2 H 0.001 0.0 12.00
symfunction_short H 2 H 0.01 0.0 12.00
symfunction_short H 2 H 0.03 0.0 12.00
symfunction_short H 2 H 0.06 0.0 12.00
symfunction_short H 2 H 0.15 1.9 12.00
symfunction_short H 2 H 0.30 1.9 12.00
symfunction_short H 2 H 0.60 1.9 12.00
symfunction_short H 2 H 1.50 1.9 12.00

# H O / O H
symfunction_short H 2 O 0.001 0.0 12.00
symfunction_short H 2 O 0.01 0.0 12.00
symfunction_short H 2 O 0.03 0.0 12.00
symfunction_short H 2 O 0.06 0.0 12.00
symfunction_short H 2 O 0.15 0.9 12.00
symfunction_short H 2 O 0.30 0.9 12.00
symfunction_short H 2 O 0.60 0.9 12.00
symfunction_short H 2 O 1.50 0.9 12.00
symfunction_short O 2 H 0.001 0.0 12.00
symfunction_short O 2 H 0.01 0.0 12.00
symfunction_short O 2 H 0.03 0.0 12.00
symfunction_short O 2 H 0.06 0.0 12.00
symfunction_short O 2 H 0.15 0.9 12.00
symfunction_short O 2 H 0.30 0.9 12.00
symfunction_short O 2 H 0.60 0.9 12.00
symfunction_short O 2 H 1.50 0.9 12.00

# O O
symfunction_short O 2 O 0.001 0.0 12.00
symfunction_short O 2 O 0.01 0.0 12.00
symfunction_short O 2 O 0.03 0.0 12.00
symfunction_short O 2 O 0.06 0.0 12.00
symfunction_short O 2 O 0.15 4.0 12.00
symfunction_short O 2 O 0.30 4.0 12.00
symfunction_short O 2 O 0.60 4.0 12.00
symfunction_short O 2 O 1.50 4.0 12.00

#
# angular
#

# central_atom type neighbor_atom1 neighbor_atom2 eta lambda zeta funccutoff

symfunction_short H 3 O H 0.2 1.0 1.0 12.00000

symfunction_short O 3 H H 0.07 1.0 1.0 12.00000
symfunction_short H 3 O H 0.07 1.0 1.0 12.00000
symfunction_short O 3 H H 0.07 -1.0 1.0 12.00000
symfunction_short H 3 O H 0.07 -1.0 1.0 12.00000

symfunction_short O 3 H H 0.03 1.0 1.0 12.00000
symfunction_short H 3 O H 0.03 1.0 1.0 12.00000
symfunction_short O 3 H H 0.03 -1.0 1.0 12.00000
symfunction_short H 3 O H 0.03 -1.0 1.0 12.00000

symfunction_short O 3 H H 0.01 1.0 4.0 12.00000
symfunction_short H 3 O H 0.01 1.0 4.0 12.00000
symfunction_short O 3 H H 0.01 -1.0 4.0 12.00000
symfunction_short H 3 O H 0.01 -1.0 4.0 12.00000

symfunction_short O 3 O H 0.03 1.0 1.0 12.00000
symfunction_short O 3 O H 0.03 -1.0 1.0 12.00000
symfunction_short O 3 O H 0.001 1.0 4.0 12.00000
symfunction_short O 3 O H 0.001 -1.0 4.0 12.00000

symfunction_short H 3 O O 0.03 1.0 1.0 12.00000
symfunction_short H 3 O O 0.03 -1.0 1.0 12.00000
symfunction_short H 3 O O 0.001 1.0 4.0 12.00000
symfunction_short H 3 O O 0.001 -1.0 4.0 12.00000

symfunction_short O 3 O O 0.03 1.0 1.0 12.00000
symfunction_short O 3 O O 0.03 -1.0 1.0 12.00000
symfunction_short O 3 O O 0.001 1.0 4.0 12.00000
symfunction_short O 3 O O 0.001 -1.0 4.0 12.00000
72 changes: 72 additions & 0 deletions data/NNP/bulkH2O-jcp2020-cnnp/nnp-1/scaling.data
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
################################################################################
# Symmetry function scaling data.
################################################################################
# Col Name Description
################################################################################
# 1 e_index Element index.
# 2 sf_index Symmetry function index.
# 3 sf_min Symmetry function minimum.
# 4 sf_max Symmetry function maximum.
# 5 sf_mean Symmetry function mean.
# 6 sf_sigma Symmetry function sigma.
#########################################################################################################################
# 1 2 3 4 5 6
# e_index sf_index sf_min sf_max sf_mean sf_sigma
#########################################################################################################################
1 1 2.8655329382224032E-01 3.6364355962665180E+00 2.2119784681576431E+00 3.8982164788327173E-01
1 2 3.5699082862581144E-01 2.0031124569208267E+00 1.2994521098968692E+00 1.9314919398540351E-01
1 3 2.4253583906212917E-01 2.6983010627072188E+00 1.6071345237783108E+00 2.8699477114002836E-01
1 4 3.3542904629093495E-01 1.5372546465126264E+00 9.9744101045215550E-01 1.4138420759837253E-01
1 5 1.8503709795923420E-01 1.5491787211705357E+00 8.9011559742158242E-01 1.6054085816869779E-01
1 6 2.8986050983056133E-01 9.5851457739199852E-01 6.4070535049617816E-01 7.7829435282263632E-02
1 7 1.2998738560021622E-01 8.1181447628465786E-01 4.5034968386667112E-01 7.9668681985812853E-02
1 8 2.3854599156072026E-01 5.8192272360200603E-01 4.2158764571359919E-01 4.0539426354469568E-02
1 9 2.2019401469736052E-01 4.9816927636901054E-01 3.6305272944627820E-01 3.1419040668322185E-02
1 10 1.7723908244726444E-01 1.0169045685317621E+00 5.3120597962909666E-01 9.6163510042362274E-02
1 11 1.5931165210644979E-01 3.9224005962648778E-01 2.7312983872261626E-01 2.0878706459593787E-02
1 12 1.0106474384096639E-01 6.8318193294241025E-01 2.9555524220090679E-01 5.2779720067392157E-02
1 13 7.4340659297091619E-02 3.2028897659649835E-01 1.9454657712167572E-01 2.2645835164129727E-02
1 14 2.7867297613902112E-02 4.8859027683498957E-01 1.5882253801165483E-01 3.7102407780211344E-02
1 15 6.0765964821426774E-03 2.6933341009926554E-01 8.7030393842343720E-02 2.3954982883266532E-02
1 16 8.6176614291566273E-04 3.2616869984647917E-01 5.8437222538056915E-02 3.2524425477896177E-02
1 17 2.3905486661473520E-08 3.7621880078986758E-02 1.7099399409671343E-02 5.6190834887742307E-03
1 18 5.7485161297593659E-05 5.6704347475877770E-02 2.0751242479452557E-02 7.2790207725133855E-03
1 19 3.7937631629716383E-06 4.4789516076805022E-02 1.6338823698108001E-02 5.6967712606260726E-03
1 20 2.4960312085019903E-02 2.7218197030245517E-01 1.3743696285440943E-01 2.8868015901656875E-02
1 21 2.2980773998953256E-03 4.9986220828384470E-02 1.6950824167726739E-02 5.4132966616365161E-03
1 22 2.0814361457387778E-07 1.7422614782322748E-02 5.8877295715452881E-03 2.3169759281881160E-03
1 23 2.3616425302076981E-02 1.4766564930840750E-01 7.8026009579545141E-02 1.4328402520229913E-02
1 24 9.3734209417262540E-06 1.2706009724968383E-02 3.8602266983488228E-03 1.5349222936123124E-03
1 25 6.7292482219397467E-04 1.3437347615997143E-02 3.5879997188162024E-03 1.0083099406231295E-03
1 26 8.9492218473814448E-03 4.7435519247870893E-02 2.4574480321592800E-02 3.7562620321718062E-03
1 27 2.9688834832940051E-04 1.0922315444849038E-02 2.4362779164791831E-03 7.5891040984896283E-04
2 1 7.1532528297088083E-01 4.0098976770174595E+00 2.5989042197937424E+00 3.8240252948889814E-01
2 2 5.6301628567420527E-02 1.6234842194053070E+00 9.3805754679203801E-01 1.8736449645837872E-01
2 3 6.5703695712707699E-01 3.0791315022675048E+00 1.9948820209043090E+00 2.7857971836047618E-01
2 4 3.1024606077905838E-02 1.1551308858105025E+00 6.4059931260962955E-01 1.3511922517043573E-01
2 5 5.8421509973169194E-01 1.9420240206857451E+00 1.2814107009923557E+00 1.5028032758627546E-01
2 6 8.7055091560538176E-03 5.7824321471805962E-01 2.9826715576421964E-01 6.8317345917309091E-02
2 7 4.9061923640751393E-01 1.1928444832852640E+00 8.4317529142720038E-01 7.3313958696524129E-02
2 8 1.4113901292375167E-03 2.2139468783209257E-01 1.0800688415169929E-01 2.7030088273230075E-02
2 9 4.9849874092941715E-01 9.8733752198909885E-01 7.2610545889255584E-01 5.0426765272667665E-02
2 10 6.2957062567264221E-03 9.5794186401597337E-01 4.6455014321576582E-01 1.1560059533210541E-01
2 11 3.6577588459988464E-01 7.7230200150326977E-01 5.4625967744523274E-01 3.4592870857204361E-02
2 12 8.7085544804932510E-04 6.5807276191584230E-01 3.0944891033609334E-01 8.5000814741670302E-02
2 13 1.8948992752075242E-01 5.7888624801215693E-01 3.8909315424335073E-01 3.4526650397124353E-02
2 14 1.5622199228642329E-05 4.9780490905368319E-01 1.6953376146057866E-01 6.2315791454946173E-02
2 15 3.3004285384528591E-02 4.0762166080748574E-01 1.7406078768468747E-01 3.4501395384273312E-02
2 16 1.0729012446445082E-10 2.7047079448224992E-01 4.4653384790197932E-02 3.1107465231072717E-02
2 17 1.0846205849416071E-05 3.9543401427987353E-02 1.5074459823996014E-02 4.7702333660869338E-03
2 18 7.4829063908554593E-11 2.5884908058550057E-03 6.5717634939948741E-04 3.2655127951476974E-04
2 19 3.6205850570885452E-03 4.3221294145342604E-01 1.8756542069538726E-01 5.3162621310716140E-02
2 20 3.8440097917265245E-07 3.6534575078121363E-02 9.8772821155134766E-03 5.2062500369707458E-03
2 21 2.6911400517410067E-03 6.4611970894949161E-02 2.9305443392707006E-02 6.1496063694629561E-03
2 22 1.2827584708500362E-03 1.7529487759454226E-01 6.8509716444031324E-02 2.2077211658804222E-02
2 23 1.5545977333502778E-02 9.9331349879191635E-02 4.7998454143224914E-02 8.6592611829803771E-03
2 24 1.5745634781781375E-05 1.9308534172604155E-02 6.0894070240362346E-03 2.3678290544763931E-03
2 25 8.5856663153437229E-11 1.3944217824039388E-03 2.2274994125481316E-04 1.8366900313163595E-04
2 26 9.1829498430736033E-03 1.1557634414039414E-01 4.6978379604047091E-02 1.2100545333930842E-02
2 27 1.7898602665033226E-04 8.1694699794021677E-02 3.2902418055540193E-02 9.9562973177386334E-03
2 28 7.4320386544780976E-10 3.9418035349310827E-03 6.3479370917995861E-04 5.2607016457668443E-04
2 29 6.3415719088815280E-03 3.9243185159612948E-02 1.6708820854971284E-02 2.8310386784518786E-03
2 30 2.8195782382410411E-03 3.2846540596866002E-02 1.1453659185437720E-02 2.6398096406069294E-03

0 comments on commit c24a65d

Please sign in to comment.