Geometric deep learning of RNA structure
Year: 2021
Authors: Raphael J. L. Townshend, Stephan Eismann, Andrew M. Watkins, Ramya Rangan, Maria Karelina, Rhiju Das, Ron O. Dror
Journal Name: Science
Method
网络结构如下图所示
Equivariant convolution
等变卷积基于滤波函数来进行节点的特征更新,同时对于输入的平移和旋转需具有等变性。对于给定的原子 a a a (源原子),等变卷积对每个在其邻域内的原子 b b b (邻原子),应用滤波函数来更新源原子特征。定义 r ⃗ a b \vec{r}_{ab} rab 为 a a a 和 b b b 的三维距离向量。滤波函数包括 Radial 函数和 Angular 函数两部分。
Radial functions
辐射函数本质上是输入为
G
(
r
a
b
)
G(r_{ab})
G(rab) 的 dense neural network ,
r
a
b
=
∥
r
⃗
a
b
∥
r_{ab} = \| \vec{r}_{ab} \|
rab=∥rab∥
G
(
r
a
b
)
=
[
G
0
(
r
a
b
)
,
G
1
(
r
a
b
)
,
.
.
.
,
G
n
(
r
a
b
)
]
G
j
(
r
a
b
)
=
1
2
π
σ
e
x
p
{
−
(
r
a
b
−
μ
j
)
2
2
σ
2
}
G(r_{ab}) = [G_0(r_{ab}), G_1(r_{ab}), ..., G_n(r_{ab})] \\ G_j(r_{ab}) = \frac{1}{\sqrt{2\pi \sigma}} exp\{ -\frac{(r_{ab} - \mu_j)^2}{2\sigma^2} \}
G(rab)=[G0(rab),G1(rab),...,Gn(rab)]Gj(rab)=2πσ1exp{−2σ2(rab−μj)2}
其中,
σ
=
1
,
n
=
11
,
μ
j
=
12
11
j
\sigma=1, n=11, \mu_j = \frac{12}{11}j
σ=1,n=11,μj=1112j 。神将网络含有一包含 12 个神经元的隐层,输出
E
+
1
E+1
E+1 个神经元
[
R
0
(
r
a
b
)
,
R
1
(
r
a
b
)
,
.
.
.
,
R
E
(
r
a
b
)
]
=
D
e
n
s
e
(
G
(
r
a
b
)
)
[R_0(r_{ab}), R_1(r_{ab}), ..., R_E(r_{ab})] = Dense(G(r_{ab}))
[R0(rab),R1(rab),...,RE(rab)]=Dense(G(rab))
因为输入为两原子之间的距离,所以对于输入的平移和旋转具有不变性。
Angular functions
使用球谐函数
Y
Y
Y 作为角函数,球谐波按其角分辨率
l
∈
Z
0
+
l \in \Z_0^+
l∈Z0+ 分组,称之为角阶,每个阶有
2
l
+
1
2l + 1
2l+1 个谐波。使用角索引
m
∈
{
−
l
,
−
l
+
1
,
.
.
.
,
l
−
1
,
l
}
m \in \{ -l, -l+1, ..., l-1, l \}
m∈{−l,−l+1,...,l−1,l} 。角函数的输入为单位向量
r
^
a
b
=
r
⃗
a
b
/
r
a
b
\hat{r}_{ab} = \vec{r}_{ab} / r_{ab}
r^ab=rab/rab 。
定义
L
L
L 为使用的最大阶,
M
=
∑
l
=
0
L
(
2
l
+
1
)
M = \sum_{l=0}^L(2l+1)
M=∑l=0L(2l+1) 为角函数标量值总计,文中采用
L
=
2
L=2
L=2 。球谐函数形成单位球面上函数的标准正交基,并且对于空间中的旋转有等变性。
Filter functions
定义滤波函数
F
c
m
l
F_{cm}^l
Fcml 为辐射函数的标量与角函数的结合
F
c
m
l
(
r
⃗
a
b
)
=
R
c
(
r
a
b
)
Y
m
l
(
r
^
a
b
)
F_{cm}^l(\vec{r}_{ab}) = R_c(r_{ab})Y_m^l(\hat{r}_{ab})
Fcml(rab)=Rc(rab)Yml(r^ab)
其中, c ∈ { 0 , 1 , . . . , E } , l ∈ { 0 , 1 , . . . , L } c \in \{0, 1, ..., E \}, l \in \{ 0, 1, ..., L \} c∈{0,1,...,E},l∈{0,1,...,L} ,等变卷积维度为 E E E 。
滤波函数与特征结合
对于第一个网络层的输入,我们只有标量特征(角度阶
l
=
0
l=0
l=0 )和总共
E
=
3
E=3
E=3 的辐射特征。
等变卷积
L
L
L 使用张量积,来组合点相关特征和过滤函数来更新特征
V
V
V
L
a
c
m
o
l
o
(
V
a
c
m
i
l
i
)
=
∑
m
i
,
m
f
C
(
l
f
,
m
f
)
(
l
i
,
m
i
)
(
l
o
,
m
o
)
∑
b
∈
n
e
i
g
h
b
o
r
s
(
a
)
F
c
m
f
l
f
(
r
⃗
a
b
)
V
b
c
m
i
l
i
L_{acm_o}^{l_o}(V_{acm_i}^{l_i}) = \sum_{m_i, m_f} C_{(l_f, m_f)(l_i, m_i)}^{(l_o, m_o)} \sum_{b \in neighbors(a)} F_{cmf}^{l_f}(\vec{r}_{ab}) V_{bcm_i}^{l_i}
Lacmolo(Vacmili)=mi,mf∑C(lf,mf)(li,mi)(lo,mo)b∈neighbors(a)∑Fcmflf(rab)Vbcmili
其中,下角标 f , i , o f, i, o f,i,o 分别表示滤波特征,输入特征和输出特征,选取 K K K 个最近的邻点进行卷积。 C C C 为 Clebsch-Gordan 系数,只有当 ∣ l i − l f ∣ ≤ l o ≤ l i + l f | l_i - l_f | \le l_o \le l_i + l_f ∣li−lf∣≤lo≤li+lf 时系数不为零 ,但不同的 l i l_i li 和 l f l_f lf 可以输出相同的 l o l_o lo (比如当 l o l_o lo 为 1 时, l i l_i li 和 l f l_f lf 分别为 1 0 和 1 1 都能使 C C C 不为零),所以将具有相同 l o l_o lo 的输出沿着维度 c c c 拼接。
Pointwise normalization
节点标准化操作
N
N
N 为
N
(
V
a
c
m
l
)
=
V
a
c
m
l
∑
c
,
m
(
V
a
c
m
l
)
2
N(V_{acm}^l) = \frac{V_{acm}^l}{\sqrt{\sum_{c, m}(V_{acm}^l)^2}}
N(Vacml)=∑c,m(Vacml)2Vacml
如果只对维度 c 进行标准化呢?
Pointwise non-linearity
节点非线性操作
P
P
P 为
P
(
V
a
c
m
l
)
=
{
η
(
V
a
c
m
l
)
i
f
l
=
0
V
a
c
m
l
⋅
η
(
∑
m
(
V
a
c
m
l
)
2
+
b
l
)
o
t
h
e
r
w
i
s
e
P(V_{acm}^l) = \left\{ \begin{array}{rcl} & \eta (V_{acm}^l) & & if \ l = 0 \\ & V_{acm}^l · \eta \Big( \sqrt{\sum_m (V_{acm}^l)^2} + b^l \Big) & & otherwise \\ \end{array} \right.
P(Vacml)={η(Vacml)Vacml⋅η(∑m(Vacml)2+bl)if l=0otherwise
其中,
b
l
b^l
bl 为可学习的标量。
η
(
x
)
=
ln
(
0.5
e
x
+
0.5
)
\eta(x) = \ln(0.5e^x + 0.5)
η(x)=ln(0.5ex+0.5)
Pointwise self-interaction
节点自交互层
S
S
S 为
S
a
d
m
l
(
V
a
c
m
l
)
=
b
d
+
∑
c
V
a
c
m
l
W
c
d
S_{adm}^l(V_{acm}^l) = b_d + \sum_c V_{acm}^l W_{cd}
Sadml(Vacml)=bd+c∑VacmlWcd
其中, W W W 为可学习的矩阵, b b b 为可学习的偏差项 , d d d 为新的辐射索引( c → d c \rightarrow d c→d )。只有当 l = 0 l=0 l=0 时才使用偏差项,文中未给出原因,求大佬解答。
Atomic embedding
根据每个原子为碳、氮或氧,使用 one-hot 嵌入来表示最初的特征 V V V (角阶 l l l 默认为 0 )。
Per-channel mean
将零阶谐波对应的卷积输出进行平均可以获得分子嵌入,这会导致之后的层具有旋转不变性,因为零阶谐波本身对旋转是不变的。新特征
E
E
E 为
E
c
=
∑
a
V
a
c
0
0
E_c = \sum_a V_{ac0}^0
Ec=a∑Vac00
Dense layers
该层为全连接网络
E
d
=
b
d
+
∑
c
W
c
d
E
c
E_d = b_d + \sum_c W_{cd} E_c
Ed=bd+c∑WcdEc
Training
模型输入为候选分子的三维结构,输出为候选分子结构与实验测得结构之间的均方根误差
R
M
S
D
RMSD
RMSD
R
M
S
D
=
1
N
∑
a
∣
p
⃗
a
−
p
⃗
a
′
∣
2
RMSD = \sqrt{\frac{1}{N} \sum_a | \vec{p}_a - \vec{p}_a' |^2}
RMSD=N1a∑∣pa−pa′∣2
其中, N N N 为原子数, p ⃗ a \vec{p}_a pa 和 p ⃗ a ′ \vec{p}_a' pa′ 分别为原子 a a a 在候选结构和实验结构中的位置。