1 摘要
从分子图预测分子构象是化学信息学和药物发现中的一个基本问题。最近,机器学习方法取得了重大进展,尤其是深度生成模型。受经典非平衡热力学中的扩散过程的启发,在这篇论文中,我们提出了一个新的生成模型,名为GEODIFF,用于分子构象预测。GEODIFF将每个原子视为一个粒子,并学习将扩散过程(即从噪声分布转换为稳定构象)直接反转为马尔可夫链。然而,对这样的生成过程进行建模是非常具有挑战性的,因为构象的可能性应该是旋转平移不变的。我们从理论上证明了用等变马尔可夫核演化的马尔可夫链可以通过设计诱导不变分布,并进一步提出了马尔可夫核的构建块,以保持期望的等变性质。通过优化(条件)似然的加权变分下界,可以以端到端的方式有效地训练整个框架。在多个基准上的实验表明,GEODIFF优于或可与现有的最先进的方法相媲美,尤其是在大分子上。
代码: https://github.com/MinkaiXu/GeoDiff
论文地址: https://arxiv.org/abs/2203.02923
2 简介
图表示学习在从分子的各种任务中为分子建模取得了巨大成功,其中分子通常被表示为原子键图。然而,分子的一种更内在、更具信息性的表示是3D几何,也被称为构象,其中原子被表示为它们的笛卡尔坐标。如何预测稳定的分子构象仍然是一个具有挑战性的问题。基于分子动力学(MD)或马尔可夫链蒙特卡罗(MCMC)的传统方法在计算上非常昂贵,尤其是对于大分子。
最近,机器学习方法取得了重大进展,特别是在深度生成模型方面。在本文中,我们提出了一种称为GEODIFF的模型,这是一种基于去噪扩散模型的原则性概率框架。该方法受到非平衡热力学中扩散过程的启发。我们将原子视为热力学系统中的粒子,这些粒子在与热浴接触时从原始状态逐渐扩散到有噪声的分布。在每个时间步长,随机噪声被添加到原子位置。我们的高级思想是学习反转扩散过程,从噪声分布中恢复目标几何分布。受去噪扩散模型在图像生成方面的最新进展的启发,作者将不同时间步长的噪声几何体视为潜在变量,并将正向扩散和反向去噪过程公式化为马尔可夫链。我们的目标是学习过渡核,以便反向过程可以从从噪声分布中采样的混沌位置恢复真实的构象。
然而,将现有方法扩展到几何生成是困难的,在构象生成任务中直接应用扩散模型会导致生成质量差。如上所述,分子构象是旋转-平移不变量,即估计的(条件)可能性应不受平移和旋转变换的影响。为此,作者首先从理论上阐述从旋转-平移不变量先验分布开始并随着旋转-平移等变马尔可夫核演化的马尔可夫过程,将其诱导为旋转-平移不变密度函数。作者进一步提供了实用的参数化来定义旋转平移不变量先验分布和施加等变约束的马尔可夫核。此外,其推导了分子构象条件似然的加权变分下界,该下界也具有转平移不变性,可以有效地优化。
GEODIFF的一个独特优势是,它直接作用于原子坐标,并完全绕过了训练和推理中使用的中间元素。这种方法使模型可以端到端地自然训练。同时,一阶段采样方式避免了累积任何中间误差,从而导致更准确的预测结构,而不是从键长或角度求解几何结构。此外,GEODIFF具有很高的模型容量来近似复杂的构象分布。因此,该模型可以更好地估计高度多模态分布,并生成具有高质量和多样性的结构。
3 模型框架
3.1 定义
符号定义
在本文中,每个具有n个原子的分子表示为无向图 G = ⟨ V , E ⟩ \mathcal{G}=\langle\mathcal{V},\mathcal{E}\rangle G=⟨V,E⟩,其中 V = { v i } i = 1 n \mathcal{V}=\{v_i\}_{i=1}^n V={vi}i=1n表示原子的顶点集, E = { e i j ∣ ( i , j ) ⊆ ∣ V ∣ × ∣ V ∣ } \mathcal{E}=\{e_{i j}\mid(i,j)\subseteq|\mathcal{V}|\times|\mathcal{V}|\} E={eij∣(i,j)⊆∣V∣×∣V∣}表示原子间键的边集。每个节点 v i ∈ V v_i \in \mathcal{V} vi∈V包含原子属性,如元素种类。每个边缘 e i j ∈ E e_{ij}\in\mathcal{E} eij∈E描述 v i v_i vi和 v j v_j vj之间的对应连接,并标记其类型。此外,作者为未连接的边指定了一个虚拟类型。对于分子,V中的每个原子都被坐标向量 c ∈ R 3 c \in \mathbb{R}^3 c∈R3嵌入到三维空间中,即构象可以表示为矩阵 C = [ c 1 , c 2 , ⋯ , c n ] ∈ R n × 3 \mathcal{C}=[\boldsymbol{c}_1,\boldsymbol{c}_2,\cdots,\boldsymbol{c}_n]\in\mathbb{R}^{n\times3} C=[c1,c2,⋯,cn]∈Rn×3。
问题定义
分子构象生成的任务是一个条件生成问题,为所提供的图G生成稳定的构象。给定多个图G,并且对于每个G,给定其构象C作为来自潜在玻尔兹曼分布的i.i.d样本,我们的目标是学习生成模型 p θ ( C ∣ G ) p_\theta(\mathcal{C}|\mathcal{G}) pθ(C∣G)。 该模型易于从中提取样本,以近似玻尔兹曼函数。
等方差
等方差在原子系统的机器学习中普遍存在,例如,原子偶极子或力的矢量应该相对于构象坐标相应地旋转。将这种归纳偏差集成到建模3D几何的模型参数化中已显示出有效性,这对模型的泛化能力至关重要。
形式上,函数
F
:
X
→
Y
\mathcal{F}:\mathcal{X}\to\mathcal{Y}
F:X→Y对于
G
G
G是等变的,即
F
∘
T
g
(
x
)
=
S
g
∘
F
(
x
)
(
1
)
\mathcal{F}\circ T_g(x)=S_g\circ\mathcal{F}(x)\quad(1)
F∘Tg(x)=Sg∘F(x)(1) 其中
T
g
T_g
Tg和
S
g
S_g
Sg是元素
g
∈
G
g \in G
g∈G的变换,分别作用于向量空间X和Y。在这项工作中,我们使用了
S
E
(
3
)
SE(3)
SE(3),即3D空间中的旋转矩阵。在后续需要估计不受平移和旋转变换影响的可能性。
3.2 模型定义
设 C 0 C^0 C0表示真实构象, C t ( t = 1... T ) \mathcal{C}^t(t=1...T) Ct(t=1...T)是具有相同维度的潜在变量序列,其中T是扩散过程的步数。然后,扩散概率模型可以被描述为具有两个过程的潜变量模型:正向扩散过程和反向生成过程。如图1所示,对于扩散过程,来自固定后验分布的噪声逐渐增加,直到构象被破坏。对于生成过程,从标准高斯分布中采样初始状态,并通过马尔可夫核逐步细化构象。
扩散过程
作者将粒子C建模为一个不断发展的热力学系统。随着时间的推移,平衡构象
C
0
C^0
C0将逐渐扩散到下一个混沌状态
C
t
C^t
Ct,并在T次迭代后最终收敛为白噪声分布。在扩散模型中,这种正向过程被定义为固定的(而不是可训练的)后验分布
q
(
C
1
:
T
∣
C
0
)
q(\mathcal{C}^{1:T}|\mathcal{C}^0)
q(C1:T∣C0)。具体来说,我们将其定义为根据固定方差调度的马尔可夫链
β
1
,
…
,
β
T
\beta_1,\ldots,\beta_T
β1,…,βT:
q
(
C
1
:
T
∣
C
0
)
=
∏
t
=
1
T
q
(
C
t
∣
C
t
−
1
)
,
q
(
C
t
∣
C
t
−
1
)
=
N
(
C
t
;
1
−
β
t
C
t
−
1
,
β
t
I
)
(
2
)
q(\mathcal{C}^{1:T}|\mathcal{C}^0)=\prod\limits_{t=1}^T q(\mathcal{C}^t|\mathcal{C}^{t-1}),\quad q(\mathcal{C}^t|\mathcal{C}^{t-1})=\mathcal{N}(\mathcal{C}^t;\sqrt{1-\beta_t}\mathcal{C}^{t-1},\beta_tI)\quad(2)
q(C1:T∣C0)=t=1∏Tq(Ct∣Ct−1),q(Ct∣Ct−1)=N(Ct;1−βtCt−1,βtI)(2) 需要注意的是,在这项工作中,我们没有对扩散过程施加特定的(不变性)要求,只要它可以有效地绘制噪声样本来训练生成过程。
设
α
t
=
1
−
β
t
\alpha_{t}=1-\beta_{t}
αt=1−βt和
α
ˉ
t
=
∏
s
=
1
t
α
s
\bar{\alpha}_{t}=\prod_{s=1}^{t}\alpha_{s}
αˉt=∏s=1tαs,正向过程的一个特殊性质是,任意时间步长t的
q
(
C
t
∣
C
0
)
q(\mathcal{C}^t|\mathcal{C}^0)
q(Ct∣C0)可以以闭合形式
q
(
C
t
∣
C
0
)
=
N
(
C
t
;
α
ˉ
t
C
0
,
(
1
−
α
ˉ
t
)
I
)
q({\cal C}^{t}|{\cal C}^{0})={\cal N}({\cal C}^{t};\sqrt{\bar{\alpha}_{t}}{\cal C}^{0},(1-\bar{\alpha}_{t})I)
q(Ct∣C0)=N(Ct;αˉtC0,(1−αˉt)I)计算。这表明,在T足够大的情况下,整个正向过程可以将
C
0
C^0
C0转换为白噪声,因此将
p
(
C
T
)
p(C^T)
p(CT)设置为标准高斯分布。
反转过程
我们的目标是在给定特定分子图G的情况下,学习从白噪声
C
T
C^T
CT中恢复构象
C
0
C^0
C0。这种生成过程是上述扩散过程的反向动力学,从噪声粒子
C
T
∼
p
(
C
T
)
C^{T}\sim p(C^{T})
CT∼p(CT)开始。我们将这种反向动力学公式化为具有可学习转换的条件马尔可夫链:
p
θ
(
C
0
:
T
−
1
∣
G
,
C
T
)
=
∏
t
=
1
T
p
θ
(
C
t
−
1
∣
G
,
C
t
)
,
p
θ
(
C
t
−
1
∣
G
,
C
t
)
=
N
(
C
t
−
1
;
μ
θ
(
G
,
C
t
,
t
)
,
σ
t
2
I
)
(
3
)
p_{\theta}(\mathcal{C}^{0:T-1}|\mathcal{G},\mathcal{C}^T)=\prod\limits_{t=1}^T p_{\theta}(\mathcal{C}^{t-1}|\mathcal{G},\mathcal{C}^t),\quad p_{\theta}(\mathcal{C}^{t-1}|\mathcal{G},\mathcal{C}^t)=\mathcal{N}(\mathcal{C}^{t-1};\mu_{\theta}(\mathcal{G},\mathcal{C}^t,t),\sigma_t^2I)\quad(3)
pθ(C0:T−1∣G,CT)=t=1∏Tpθ(Ct−1∣G,Ct),pθ(Ct−1∣G,Ct)=N(Ct−1;μθ(G,Ct,t),σt2I)(3) 其中
μ
θ
\mu_{\theta}
μθ是用于估计均值的参数化神经网络,
σ
t
\sigma_t
σt可以是定义的方差。初始分布
p
(
C
T
)
p(C^T)
p(CT)为标准高斯分布。给定图
G
G
G,其3D结构首先通过从
p
(
C
T
)
p(C^T)
p(CT)采样噪声粒子
C
T
C^T
CT生成初始构象,然后通过逆马尔可夫核
p
θ
(
C
t
−
1
∣
G
,
C
t
)
p_{\theta}(\mathcal{C}^{t-1}|\mathcal{G},\mathcal{C}^{t})
pθ(Ct−1∣G,Ct)迭代精化。
在公式化了反向动力学之后,边际似然可以通过
p
θ
(
C
0
∣
G
)
=
∫
p
(
C
T
)
p
θ
(
C
0
:
T
−
1
∣
G
,
C
T
)
d
C
1
:
T
p_\theta(\mathcal{C}^0|\mathcal{G})=\int p(\mathcal{C}^T)p_\theta(\mathcal{C}^{0:T-1}|\mathcal{G},\mathcal{C}^T)\text{d}\mathcal{C}^{1:T}
pθ(C0∣G)=∫p(CT)pθ(C0:T−1∣G,CT)dC1:T计算。此处有一个重要的问题,平移和旋转的可能性应该是不变的,这是3D对象生成的关键归纳偏差。
3.3 旋转不变性
在这个小节中,我们将详细说明如何参数化马尔可夫核
p
θ
(
C
t
−
1
∣
G
,
C
t
)
p_{\theta}(\mathcal{C}^{t-1}|\mathcal{G},\mathcal{C}^{t})
pθ(Ct−1∣G,Ct),以及如何通过考虑旋转平移不变性。
我们考虑建立对旋转和平移变换不变的概率密度
p
θ
(
C
0
)
p_\theta(\mathcal{C}^0)
pθ(C0)。这个概率密度需要不受平移和旋转影响的可能性。形式上,设
T
g
T_g
Tg旋转平移操作,则可以有以下陈述:
- 若 p ( x T ) p(x_T) p(xT)是旋转平移不变的密度函数,则 p ( x T ) = p ( T g ( x T ) ) p(x_T) = p(T_g(x_T)) p(xT)=p(Tg(xT))。相似的,若马尔可夫变换 p ( x t − 1 ∣ x t ) {p(x_{t-1}|x_{t})} p(xt−1∣xt)是旋转平移不变的,即 p ( x t − 1 ∣ x t ) = p ( T g ( x t − 1 ) ∣ T g ( x t ) ) p(x_{t-1}|x_{t})=p(T_{g}(x_{t-1})|T_{g}(x_{t})) p(xt−1∣xt)=p(Tg(xt−1)∣Tg(xt)),因此我们得到的密度 P θ ( x 0 ) = ∫ p ( x T ) p θ ( x 0 : T − 1 ∣ x T ) d x 1 : T P_{\theta}(x_{0})=\int p(x_{T})p_{\theta}(x_{0:T-1}|x_{T})\mathrm{d}\boldsymbol{x}_{1:T} Pθ(x0)=∫p(xT)pθ(x0:T−1∣xT)dx1:T也是旋转平移不变的。
上述命题表明,从不变的标准密度沿着等变高斯马尔可夫核开始的动力学可以产生不变的密度。接下来,我们开始介绍GEODIFF的实际实现。
不变初始密度 p ( C T ) p(C^T) p(CT)
我们首先引入不变分布 ρ ( C T ) ρ{(C^T)} ρ(CT),它也将用于等变马尔可夫链。将具有零质心(CoM)的系统,称为无CoM系统。我们将 p ( C T ) p(C^T) p(CT)定义为“无CoM标准密度 ρ ( C ) ρ^{(C)} ρ(C)”,即零质心系统。将粒子移动到零CoM总是可以确保平移不变性。
等变马尔可夫核 p ( C t − 1 ∣ G , C t ) p(\mathcal{C}^{t-1}|\mathcal{G},\mathcal{C}^t) p(Ct−1∣G,Ct)
我们考虑将所有的中间状态
C
t
C^t
Ct转化为零质心系统。具体来讲,给定均值
μ
θ
(
G
,
C
t
,
t
)
\mu_\theta(\mathcal{G},\mathcal{C}^t,t)
μθ(G,Ct,t)和方差
σ
t
\sigma_t
σt,
C
t
−
1
C^{t-1}
Ct−1的可能分布可以通过
ρ
^
(
C
t
−
1
−
μ
θ
(
G
,
C
t
,
t
)
σ
t
)
\hat{\rho}(\frac{{\cal C}^{t-1}-\mu_{\theta}({\cal G},{\cal C}^{t},t)}{\sigma_{t}})
ρ^(σtCt−1−μθ(G,Ct,t))计算。无CoM保证了马尔可夫核中的平移不变性。
接下来,我们关注旋转等变性。关键是确保均值
μ
θ
(
G
,
C
t
,
t
)
\mu_\theta(\mathcal{G},\mathcal{C}^t,t)
μθ(G,Ct,t)对于
C
T
C^T
CT是旋转不变的。我们将
μ
θ
\mu_\theta
μθ参数化:
μ
θ
(
C
t
,
t
)
=
1
α
t
(
C
t
−
β
t
1
−
α
~
t
ϵ
θ
(
G
,
C
t
,
t
)
)
(
4
)
\mu_\theta(\mathcal{C}^t,t)=\frac{1}{\sqrt{\alpha_t}}\left(\mathcal{C}^t-\frac{\beta_t}{\sqrt{1-\tilde{\alpha}_t}}\epsilon_\theta(\mathcal{G},\mathcal{C}^t,t)\right)\quad(4)
μθ(Ct,t)=αt1(Ct−1−α~tβtϵθ(G,Ct,t))(4) 其中
ϵ
θ
\epsilon_\theta
ϵθ是具有可训练参数
θ
\theta
θ的神经网络。直观地,模型
ϵ
θ
\epsilon_\theta
ϵθ学习预测干扰构象所需的噪声。因此,现在问题转化为将
ϵ
θ
\epsilon_\theta
ϵθ构造为旋转平移不变。作者设计了一个等变卷积层,称为图场网络(GFN)。在第l层中,GFN采用节点编码
h
l
∈
R
n
×
b
\mathbf{h}^l\in\mathbb{R}^{n\times b}
hl∈Rn×b(b表示特征维度)和相应的坐标编码
x
l
∈
R
n
×
3
\mathbf{x}^l\in\mathbb{R}^{n\times3}
xl∈Rn×3作为输入,输出
h
l
+
1
h^{l+1}
hl+1和
x
l
+
1
x^{l+1}
xl+1如下所示:
m
i
j
=
Φ
m
(
h
i
l
,
h
j
l
,
∥
x
i
l
−
x
j
l
∥
2
,
e
i
j
;
θ
m
)
(
5
)
\mathbf m_{ij}=\Phi_m\left(\mathbf h_i^l,\mathbf h_j^l,\|\mathbf x_i^l-\mathbf x_j^l\|^2,e_{ij};\theta_m\right)\quad(5)
mij=Φm(hil,hjl,∥xil−xjl∥2,eij;θm)(5)
h
i
l
+
1
=
Φ
h
(
h
i
l
,
∑
j
∈
N
(
i
)
m
i
j
;
θ
h
)
(
6
)
\mathbf{h}_i^{l+1}=\Phi_h\Big(\mathbf{h}_i^l,\sum\limits_{j\in\mathcal{N}(i)}\mathbf{m}_{ij};\theta_h\Big)\quad(6)
hil+1=Φh(hil,j∈N(i)∑mij;θh)(6)
x
i
l
+
1
=
∑
j
∈
N
(
i
)
1
d
i
j
(
c
i
−
c
j
)
Φ
x
(
m
i
j
;
θ
x
)
(
7
)
\mathbf{x}_{i}^{l+1}=\sum_{j\in\mathcal{N}\left(i\right)}\frac{1}{d_{ij}}\left(\mathbf{c}_{i}-\mathbf{c}_{j}\right)\Phi_{x}\left(\mathbf{m}_{ij};\theta_{x}\right)\quad(7)
xil+1=j∈N(i)∑dij1(ci−cj)Φx(mij;θx)(7) 其中
Φ
\Phi
Φ是前馈网络,
d
i
j
d_{ij}
dij表示原子间距离。
N
(
i
)
N(i)
N(i)表示第i个节点的邻域,包括连接原子和半径阈值
τ
\tau
τ内的其他原子,这使得模型能够捕捉长程相互作用,并支持具有断开分量的分子图。初始嵌入编码
h
0
h^0
h0是原子编码和时间步长编码的组合,
x
0
x^0
x0是原子坐标。
作者所提出的GFN与其他GNN之间的主要区别在于方程(7),其中x被更新为由
Φ
x
(
R
b
→
R
)
\Phi_x(\mathbb{R}^b\to\mathbb{R})
Φx(Rb→R)加权的径向方向的组合。这样的矢量场
x
L
x^L
xL具有旋转平移不变性质。形式上,我们有:
- 将 ϵ θ ( G , C , t ) \epsilon_{\theta}(\mathcal{G},\mathcal{C},t) ϵθ(G,C,t)参数化为L个GFN层的组合,并将L个更新后的 x L x^L xL作为输出。那么噪声向量场 ϵ θ \epsilon_{\theta} ϵθ相对于3D系统 C C C是旋转平移不变的。
直观地说,给定 h l h^l hl已经不变, x l x^l xl等变,则消息嵌入m也将是不变的,因为它只依赖于不变特征。由于x是用不变特征加权的相对差 c i − c j c_i−c_j ci−cj更新的,因此它将是平移不变的和旋转等变的。总的来说,用L个GFN层组成的 ϵ θ \epsilon_{\theta} ϵθ可以实现与 C t C^t Ct的等价。
3.4 改进损失函数
在制定了生成过程和模型参数化之后,现在我们考虑反向动力学的实际训练目标。由于直接优化精确对数似然是难以解决的,因此我们转而最大化通常的变分下界(ELBO):
E
[
log
p
θ
(
C
0
∣
G
)
]
=
E
[
log
E
q
(
C
1
:
T
∣
C
0
)
p
θ
(
C
0
:
T
∣
G
)
q
(
C
1
:
T
∣
C
0
)
]
≥
−
E
q
[
∑
t
=
1
T
D
KL
(
q
(
C
t
−
1
∣
C
t
,
C
0
)
∥
p
θ
(
C
t
−
1
∣
C
t
,
G
)
)
]
:
=
−
L
ELBO
(
8
)
\begin{aligned} \mathbb{E}\left[\operatorname{log}p_{\theta}(\mathcal{C}^{0}|\mathcal{G})\right]& =\mathbb{E}\Big[\log\mathbb{E}_{q(\mathcal{C}^{1:T}|\mathcal{C}^{0})}\frac{p_{\theta}(\mathcal{C}^{0:T}|\mathcal{G})}{q(\mathcal{C}^{1:T}|\mathcal{C}^{0})}\Big] \\ &\geq-\mathbb{E}_q\Big[\sum\limits_{t=1}^TD_{\text{KL}}(q(\mathcal{C}^{t-1}|\mathcal{C}^t,\mathcal{C}^0)\|p_\theta(\mathcal{C}^{t-1}|\mathcal{C}^t,\mathcal{G}))\Big]:=-\mathcal{L}_{\text{ELBO}}\quad(8) \end{aligned}
E[logpθ(C0∣G)]=E[logEq(C1:T∣C0)q(C1:T∣C0)pθ(C0:T∣G)]≥−Eq[t=1∑TDKL(q(Ct−1∣Ct,C0)∥pθ(Ct−1∣Ct,G))]:=−LELBO(8) 其中
q
(
C
t
−
1
∣
C
t
,
C
0
)
q(\mathcal{C}^{t-1}|\mathcal{C}^t,\mathcal{C}^0)
q(Ct−1∣Ct,C0)可以转化为
N
(
α
ˉ
t
−
1
β
t
1
−
α
ˉ
t
C
0
+
α
t
(
1
−
α
ˉ
t
−
1
)
1
−
α
ˉ
t
C
t
,
1
−
α
ˉ
t
−
1
1
−
α
ˉ
t
β
t
)
\mathcal{N}(\frac{\sqrt{\bar{\alpha}_{t-1}}\beta_{t}}{1-\bar{\alpha}_{t}}\mathcal{C}^{0}+\frac{\sqrt{\alpha_{t}}(1-\bar{\alpha}_{t-1})}{1-\bar{\alpha}_{t}}\mathcal{C}^{t},\frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_{t}}\beta_{t})
N(1−αˉtαˉt−1βtC0+1−αˉtαt(1−αˉt−1)Ct,1−αˉt1−αˉt−1βt)。
最近有研究表明,在方程(4)中的参数化条件下,扩散模型的ELBO(Evidence Lower Bound)可以通过计算高斯分布之间的KL散度(Kullback-Leibler divergence)来进一步简化,具体实现时KL散度可以表示为均值
ϵ
θ
\epsilon_\theta
ϵθ和
ϵ
\epsilon
ϵ之间加权
L
2
\mathcal{L}_2
L2距离。因此可以有:
L
ELBO
=
∑
t
=
1
T
γ
t
E
{
C
0
,
G
}
∼
q
(
C
0
,
G
)
,
ϵ
∼
N
(
0
,
I
)
[
∥
ϵ
−
ϵ
θ
(
G
,
C
t
,
t
)
∥
2
2
]
(9)
\mathcal{L}_{\text{ELBO}}=\sum_{t=1}^T\gamma_t\mathbb{E}_{\{\mathcal{C}^0,\mathcal{G}\}\sim_q(\mathcal{C}^0,\mathcal{G}),\epsilon\sim\mathcal{N}(0,I)}\bigg[\|\epsilon-\epsilon_\theta(\mathcal{G},\mathcal{C}^t,t)\|_2^2\bigg]\tag{9}
LELBO=t=1∑TγtE{C0,G}∼q(C0,G),ϵ∼N(0,I)[∥ϵ−ϵθ(G,Ct,t)∥22](9) 其中
C
t
=
α
ˉ
t
C
0
+
1
−
α
ˉ
t
ϵ
\mathcal{C}^t=\sqrt{\bar{\alpha}_t}\mathcal{C}^0+\sqrt{1-\bar{\alpha}_t}\epsilon
Ct=αˉtC0+1−αˉtϵ,权重
γ
t
=
β
t
2
α
t
(
1
−
α
ˉ
t
−
1
)
(
t
>
1
)
\gamma_t=\frac{\beta_t}{2\alpha_t(1-\bar{\alpha}_{t-1})}(t>1)
γt=2αt(1−αˉt−1)βt(t>1),
γ
1
=
1
2
α
1
\gamma_1=\frac{1}{2\alpha_1}
γ1=2α11。我们的目标是从
q
(
C
t
−
1
∣
C
t
,
C
0
)
q(\mathcal{C}^{t-1}|\mathcal{C}^t,\mathcal{C}^0)
q(Ct−1∣Ct,C0)中独立地采样不同时间步的混乱构型(中间状态),并使用
ϵ
θ
\epsilon_\theta
ϵθ来对噪声向量
ϵ
\epsilon
ϵ进行建模。为了获得更好的实验性能,建议将所有权重
γ
t
\gamma_t
γt设置为1,这与最近的噪声条件评分网络的目标一致。
由于
ϵ
θ
\epsilon_\theta
ϵθ被设计为等变,因此自然要求其监督信号
ϵ
\epsilon
ϵ与
C
t
C^t
Ct等变。注意,一旦实现了等变,ELBO也将变为等变。然而,正向扩散过程中的
ϵ
\epsilon
ϵ没有施加这样的等变,违反了上述性质。在这里,我们提出了两种方法来获得修改后的噪声向量
ϵ
^
\hat{\epsilon}
ϵ^,在方程(9)中的
L
2
\mathcal{L}_2
L2距离计算中进行替换后,它实现了所需的等变。
方法一:对齐方法
由于
ϵ
\epsilon
ϵ可以通过
C
t
−
α
‾
t
C
0
1
−
α
‾
t
\frac{\mathcal{C}^t-\sqrt{\overline{\alpha}_t}\mathcal{C}^0}{\sqrt{1-\overline{\alpha}_t}}
1−αtCt−αtC0计算,我们可以通过旋转和平移操作将
C
0
C^0
C0 转换为
C
^
0
\hat{\mathcal{C}}^0
C^0,使其与
C
t
C^t
Ct 对齐,然后通过
C
t
−
α
ˉ
t
C
^
0
1
−
α
ˉ
t
\frac{\mathcal{C}^{t}-\sqrt{\bar{\alpha}_{t}}\hat{C}^{0}}{\sqrt{1-\bar{\alpha}_{t}}}
1−αˉtCt−αˉtC^0计算
ϵ
^
\hat{\epsilon}
ϵ^。由于对齐的构象
C
^
0
\hat{\mathcal{C}}^0
C^0与
C
t
C^t
Ct是等变的,因此处理后的
ϵ
^
\hat{\epsilon}
ϵ^也同样等变。具体来讲,通过首先将
C
0
C^0
C0转换为与
C
t
C^t
Ct相同CoM,然后通过Kabsch对齐算法求解最优旋转矩阵来实现对齐。
方法二:链式规则方法
另一个有意义的观察结果是,通过重参数化高斯分布
q
(
C
t
∣
C
0
)
q(\mathcal{C}^{t}|\mathcal{C}^{0})
q(Ct∣C0)为
C
t
=
α
ˉ
t
C
0
+
1
−
α
ˉ
t
ϵ
\mathcal{C}^{t}=\sqrt{\bar{\alpha}_{t}}\mathcal{C}^{0}+\sqrt{1-\bar{\alpha}_{t}}\epsilon
Ct=αˉtC0+1−αˉtϵ,
ϵ
\epsilon
ϵ可以将其视为加权得分函数
1
−
α
ˉ
t
∇
C
t
q
(
C
t
∣
C
0
)
\sqrt{1-\bar{\alpha}_t}\nabla_{\mathcal{C}^t}q(\mathcal{C}^t|\mathcal{C}^0)
1−αˉt∇Ctq(Ct∣C0)。接着我们通过用链式规则将该得分函数
∇
C
t
q
(
C
t
∣
⋅
)
\nabla_{\mathcal{C}^t}q(\mathcal{C}^t|\cdot)
∇Ctq(Ct∣⋅)分解为
∂
C
t
d
t
∇
d
t
q
(
C
t
∣
⋅
)
\partial_{\mathcal{C}^{t}}\mathbf{d}^{t}\nabla_{\mathbf{d}^{t}}q(\mathcal{C}^{t}|\cdot)
∂Ctdt∇dtq(Ct∣⋅),将其设计为等变函数,其中
d
t
d^t
dt可以是结构
C
t
C^t
Ct的任何不变特征,如原子间距离。作者认为,作为不变变量相对于等变变量的梯度,偏导数
∂
C
t
d
t
\partial_{\mathcal{C}^{t}}\mathbf{d}^{t}
∂Ctdt始终与
C
t
C^t
Ct等价。在这项工作中,在
d
d
d也遵循高斯分布的共同假设下,我们的实际实现是首先将
∇
d
t
q
(
C
t
∣
C
0
)
\nabla_{\mathbf{d}^{t}}q(\mathcal{C}^{t}|\mathcal{C}^{0})
∇dtq(Ct∣C0)计算为
d
t
−
α
ˉ
t
d
0
1
−
α
ˉ
t
\frac{\mathbf{d}^{t}-\sqrt{\bar{\alpha}_{t}}\mathbf{d}^{0}}{1-\bar{\alpha}_{t}}
1−αˉtdt−αˉtd0,然后将修改后的噪声向量
ϵ
^
\hat{\epsilon}
ϵ^计算为
1
−
α
ˉ
t
∂
C
t
d
t
(
d
t
−
α
ˉ
t
d
0
1
−
α
ˉ
t
)
=
∂
C
t
d
t
⋅
(
d
t
−
α
ˉ
t
d
0
)
1
−
α
ˉ
t
\sqrt{1-\bar{\alpha}_{t}}\partial_{\mathcal{C}^{t}}\mathbf{d}^{t}(\frac{\mathbf{d}^{t}-\sqrt{\bar{\alpha}_{t}}\mathbf{d}^{0}}{1-\bar{\alpha}_{t}})=\frac{\partial_{\mathcal{C}^{t}}\mathbf{d}^{t}\cdot(\mathbf{d}^{t}-\sqrt{\bar{\alpha}_{t}}\mathbf{d}^{0})}{\sqrt{1-\bar{\alpha}_{t}}}
1−αˉt∂Ctdt(1−αˉtdt−αˉtd0)=1−αˉt∂Ctdt⋅(dt−αˉtd0)。
3.5 采样过程
通过学习到的反向动力学
ϵ
θ
(
G
,
C
t
,
t
)
\epsilon_\theta(\mathcal{G},\mathcal{C}^t,t)
ϵθ(G,Ct,t),
μ
θ
(
G
,
C
t
,
t
)
\mu_\theta(\mathcal{G},\mathcal{C}^t,t)
μθ(G,Ct,t)可以由方程(4)计算。因此,给定一个图
G
\mathcal{G}
G,其几何构象
C
0
C^0
C0是通过首先对混沌粒子
C
T
∼
p
(
C
T
)
C^T\sim p(C^T)
CT∼p(CT)进行采样,然后逐渐采样
C
t
−
1
∼
p
θ
(
C
t
−
1
∣
G
,
C
t
)
C^{t-1}\sim p_\theta(\mathcal{C}^{t-1}|\mathcal{G},\mathcal{C}^t)
Ct−1∼pθ(Ct−1∣G,Ct)来生成的。这个过程是马尔可夫过程,它将先前的有噪位置逐渐向平衡状态转变。下图展示了采样过程的伪代码。
初始构象来源于高斯噪声。在每个采样循环中,我们首先将构象转化为零质心,然后通过参数化的模型计算均值,从而得到当前构象分布的均值和方差,进行采样,直到生成最终构象。
4 实验
5 代码
我们主要从计算损失的函数开始。