AF3 中扩散模型类总结
在 AlphaFold3 中,DiffusionTransformer、DiffusionConditioning 和 DiffusionModule 是扩散模型生成三维结构的核心组件。它们相互协作,实现了从加噪输入到去噪输出的生成过程。
以下是它们的设计、功能及相互关系的详细解析。
1. 各模块功能概览
模块 | 主要功能 | 输入 | 输出 |
---|---|---|---|
DiffusionConditioning | 生成扩散条件嵌入,包括成对和单体条件,以及时间步长的 Fourier 编码 | 扩散步长 tt、MSA、模板、Pairformer 特征 | token_repr (单体特征)和 pair_repr (成对特征) |
DiffusionTransformer | 处理扩散过程中的全局特征,通过多层自注意力学习生成的关系 | token_repr 、pair_repr |
更新后的 token_repr |
DiffusionModule | 扩散模型的核心,实现加噪、去噪、结构生成和采样 | 扩散条件输入(token_repr 、pair_repr ) |
生成的去噪结构坐标 x^0x^0 |
2. 各模块详细设计
(1) DiffusionConditioning 类
核心功能:
- 生成条件输入,引导扩散模型生成结构。
- 将 MSA、模板特征与扩散步长 tt 编码为 token-level 和 pair-level 约束。
主要组件:
-
成对特征 (Pair Conditioning):
- 通过
RelativePositionEncoding
生成残基对之间的相对位置编码。 - 线性投影后,生成用于扩散的
pair_repr
。
- 通过
-
单体特征 (Single Conditioning):
- 将 Pairformer 生成的单体特征 strunkstrunk 和序列特征 sinputssinputs 拼接。
- 通过
proj_single
生成token_repr
。
-
时间步长编码 (Fourier Embedding):
- 将扩散步长 tt