From ee0f6e6aa789e06a297d5e6f76000356b808474e Mon Sep 17 00:00:00 2001 From: jxxiaoshaoye <53417696+jxxiaoshaoye@users.noreply.github.com> Date: Fri, 13 Aug 2021 11:14:59 +0800 Subject: [PATCH] update type embedding doc (#967) --- doc/development/type-embedding.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/doc/development/type-embedding.md b/doc/development/type-embedding.md index 17c8a63ba5..c1fb72979d 100644 --- a/doc/development/type-embedding.md +++ b/doc/development/type-embedding.md @@ -5,17 +5,17 @@ Here is an overview of the deepmd-kit algorithm. Given a specific centric atom, ## Preliminary In the following chart, you can find the meaning of symbols used to clarify the atom type embedding algorithm. -Symbol| Meaning ----Atom| :---: -is| Type of centric atom -j| Type of neighbor atom -s_ij| Distance between centric atom and neighbor atom -G_ij(·)Atom| Origin embedding net, take s_ij as input and output embedding vector of M1 dim -G(·) | Shared embedding net -Multi(·) | Matrix multiplication and flattening, output the descriptor vector of M1*M2 dim -F_i(·) | Origin fitting net, take the descriptor vector as input and output energy -F(·) | Shared fitting net -A(·) | Atom type embedding net, input is atom type, output is type embedding vector of dim `nchanl` +|Symbol| Meaning| +|---| :---:| +|i| Type of centric atom| +|j| Type of neighbor atom| +|s_ij| Distance between centric atom and neighbor atom| +|G_ij(·)| Origin embedding net, take s_ij as input and output embedding vector of M1 dim| +|G(·) | Shared embedding net| +|Multi(·) | Matrix multiplication and flattening, output the descriptor vector of M1*M2 dim| +|F_i(·) | Origin fitting net, take the descriptor vector as input and output energy| +|F(·) | Shared fitting net| +|A(·) | Atom type embedding net, input is atom type, output is type embedding vector of dim `nchanl`| So, we can formulate the training process as follows. Vanilla deepmd-kit algorithm: @@ -24,11 +24,11 @@ Energy = F_i( Multi( G_ij( s_ij ) ) ) ``` Deepmd-kit applying atom type embedding: ``` -Energy = F( [ Multi( G_ij( [s_ij, A(i), A(j)] ) ), A(j)] ) +Energy = F( [ Multi( G( [s_ij, A(i), A(j)] ) ), A(j)] ) ``` or ``` -Energy = F( [ Multi( G_ij( [s_ij, A(j)] ) ), A(j)] ) +Energy = F( [ Multi( G( [s_ij, A(j)] ) ), A(j)] ) ``` The difference between two variants above is whether using the information of centric atom when generating the descriptor. Users can choose by modifying the `type_one_side` hyper-parameter in the input json file.