sannp.propの書式

sannp.propのテンプレートは、 sannp --temp で出力できます。

行頭が#または!の行はコメントとして扱われます。

restart
デフォルト:0

0の場合、最初から学習を実行します。1の場合、ニューラルネットワークの情報をsannp.datasannp.data_eまたはsannp.data_qから読み込み、学習を再開します。

withCharge
デフォルト:0

電荷の計算を行う(1)か行わない(0)かの指定です。

withHDNNP
デフォルト:1

系全体のエネルギーを教師データとするHDNNP法を使う(1)か、各原子に分割したエネルギーを教師データとするSANNP法を使う(0)かの指定です。

directSF
デフォルト:-1

対称関数の正規化をミニバッチ内で行う(1)か、サンプル全体で行う(0)かの指定です。負の値を指定した場合、Behler対称関数ならサンプル全体、Many-Body対称関数ならミニバッチ内になります。

symmFunc
デフォルト:chebyshev

対称関数を指定します。behler、chebyshev、many-bodyが指定できます。

elemWeight
デフォルト:1

重み付き対称関数を使う(1)か、使わない(0)かの指定です。Behler対称関数、Chebyshev対称関数で使用可能です。

tanhCutoff
デフォルト:0

カットオフ関数f_c(R_{ij})として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
デフォルト:tanh

ニューラルネットワークの活性化関数です。asis(使用しない)、sigmoid、tanh、eLUが指定できます。

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)です。

endProperty

以降のファイル内容はコメントとして扱われます。