sannp.propの書式¶
sannp.propのテンプレートは、 sannp --temp で出力できます。
行頭が#または!の行はコメントとして扱われます。
-
restart デフォルト: 0 0の場合、最初から学習を実行します。1の場合、ニューラルネットワークの情報を
sannp.data、sannp.data_eまたはsannp.data_qから読み込み、学習を再開します。
-
insituTest デフォルト: 0 1の場合、学習中の各epochで、テストデータに対するRSMEを計算して出力するin-situテストを行います。0の場合、in-situテストを行いません。
-
withCharge デフォルト: 0 電荷の計算を行う(1)か行わない(0)かの指定です。
-
withHDNNP デフォルト: 1 系全体のエネルギーを教師データとするHDNNP法を使う(1)か、各原子に分割したエネルギーを教師データとするSANNP法を使う(0)かの指定です。
-
withClassical デフォルト: 0 ニューラルネットワーク力場のみを使う(0)か、古典力場とニューラルネットワーク力場を組み合わせたΔ-NNPを使う(1)かの指定です。
-
directSF デフォルト: -1 対称関数の正規化をミニバッチ内で行う(1)か、サンプル全体で行う(0)かの指定です。負の値を指定した場合、Behler対称関数ならサンプル全体、Many-Body対称関数ならミニバッチ内になります。
-
maxForce デフォルト: 10.0 教師データに含まれる、力が大きすぎる外れ値を除外するための閾値(eV/Å)です。0以下の値を指定した場合、除外を行いません。
-
minEDev デフォルト: 0.5 原子のエネルギーの正規化に使う分散の下限値(eV)を指定します。
-
minQDev デフォルト: 0.1 原子の電荷の正規化に使う分散の下限値(e)を指定します。
-
symmFunc デフォルト: chebyshev 対称関数を指定します。behler、chebyshev、many-bodyが指定できます。
-
elemWeight デフォルト: 1 重み付き対称関数を使う(1)か、使わない(0)かの指定です。Behler対称関数、Chebyshev対称関数で使用可能です。
-
tanhCutoff デフォルト: 0 カットオフ関数
としてtanhを使った関数を使う(1)か、cosを使った関数を使う(0)かの指定です。
-
m2 デフォルト: 100 Many-Body対称関数のパラメータ M2 です。
-
m3 デフォルト: 10 Many-Body対称関数のパラメータ M3 です。
-
rinner デフォルト: 0.0 Many-Body対称関数のパラメータ Rinner (Å)です。
-
router デフォルト: 6.5 Many-Body対称関数のパラメータ Router (Å)です。
-
numRadius デフォルト: 20 Chebyshev対称関数の動径成分の数を指定します。
-
numAngle デフォルト: 20 Chebyshev対称関数の角度成分の数を指定します。
-
rcutRadius デフォルト: 6.5 Chebyshev対称関数の動径成分のカットオフ距離 Rc (Å)を指定します。
-
rcutAngle デフォルト: 6.5 Chebyshev対称関数の角度成分のカットオフ距離 Rc (Å)を指定します。
-
layers デフォルト: 2 ニューラルネットワークの隠れ層の層数です。
-
nodes デフォルト: 30 ニューラルネットワークのノード数です。
-
activ デフォルト: twtanh ニューラルネットワークの活性化関数です。asis(使用しない)、sigmoid、tanh、twtanh(twisted tanh)、eLU、GELUが指定できます。
-
lbfgs デフォルト: 32 学習時の最適化アルゴリズムの指定です。0を指定すると、Adam法を使用します。1以上の値を指定すると、その値を履歴数とするL-BFGS法を使用します。
-
lineSearch デフォルト: more-thuente L-BFGS法で使用する直線探索のアルゴリズムです。more-thuente、armijo、wolfe、strong-wolfeが指定できます。
-
lineSteps デフォルト: 32 L-BFGS法で使用する直線探索の試行回数の最大値です。
-
batchs デフォルト: 0 学習時のミニバッチサイズです。0以下の値を指定した場合、ミニバッチは使用せず、フルバッチ(サンプル全体)で学習を行います。
-
epochs デフォルト: 5000 学習時の繰り返し回数(epoch)の上限です。
-
epochsStore デフォルト: 1000 学習中にニューラルネットワークのデータをファイルに保存する間隔を設定します。0以下の値を設定すると終了時のみ保存します。
-
epochsOnlyE デフォルト: 250 学習時の繰り返し回数(epoch)がこの数字より小さいうちはエネルギーのみを使って学習を行います。それ以降はエネルギーと原子に働く力の両方を使って学習を行います。
-
epochsApproxF デフォルト: 500 エネルギーから原子に働く力の誤差を計算する際、繰り返し回数(epoch)がこの数字より小さいうちはDouble Backward法による近似的な微分法を使います。それ以降は厳密に微分を計算します。
-
sqrtLoss デフォルト: 0 損失関数のスケール係数を絶対値で設定する(1)か、2乗値で設定する(0)かの指定です。
-
renormLoss デフォルト: 0 損失関数の正規化を行う(1)か行わない(0)かの指定です。
-
approxForce デフォルト: 0 エネルギーから原子に働く力の誤差を計算する際、epochsApproxFを使って近似的な微分と厳密な微分を切り替える(0)か、常に近似的な微分法を使う(1)か設定します。
-
rmseEnergy デフォルト: 0.01 学習が収束したか判定するためのエネルギー残差(RMS)の閾値(eV/atom)です。
-
rmseForce デフォルト: 0.10 学習が収束したか判定するための力の残差(RMS)の閾値(eV/Å)です。
-
rmseCharge デフォルト: 0.01 学習が収束したか判定するための電荷の残差(RMS)の閾値(e)です。
-
coefEnergy デフォルト: 1.00 エネルギーの損失関数のスケール係数(1/eV または 1/eV2)です。
-
coefForce デフォルト: 1.00 力の損失関数のスケール係数(Å/eV または (Å/eV)2)です。
-
coefCharge デフォルト: 1.00 電荷の損失関数のスケール係数(1/e または 1/e2)です。
-
learnRate デフォルト: 1.0e-4 学習率の初期値です。
-
learnRateFinal デフォルト: 1.0e-4 学習率の下限値です。
-
learnRateDecay デフォルト: 0.9999 学習率の減衰率です。
-
adamBeta1 デフォルト: 0.9 学習時のハイパーパラメータ(Adam法のβ1)です。
-
adamBeta2 デフォルト: 0.999 学習時のハイパーパラメータ(Adam法のβ2)です。
-
classicalTry デフォルト: 64 Δ-NNPで使用する古典力場を最適化する際の繰り返し回数の上限です。
-
classicalLower デフォルト: -50.0 Δ-NNPで使用する古典力場を最適化する際、ここで指定した値(eV)よりも小さいエネルギーが現れにくくなるように、ペナルティ関数を適用して最適化します。
-
endProperty 以降のファイル内容はコメントとして扱われます。