[ PROMPT_NODE_27494 ]
molecular_generation
[ SKILL_DOCUMENTATION ]
# 分子生成
## 概述
分子生成涉及创建具有所需属性的新型分子结构。TorchDrug 支持无条件生成(探索化学空间)和条件生成(针对特定属性进行优化)。
## 任务类型
### AutoregressiveGeneration (自回归生成)
通过顺序添加原子和化学键来逐步生成分子。这种方法可以在生成过程中实现细粒度的控制和属性优化。
**关键特性:**
- 基于化学键的顺序原子构建
- 支持生成过程中的属性优化
- 可结合化学有效性约束
- 支持多目标优化
**生成策略:**
1. **束搜索 (Beam Search)**:每一步保留前 k 个候选者
2. **采样 (Sampling)**:为了多样性进行概率选择
3. **贪婪搜索 (Greedy)**:始终选择概率最高的动作
**属性优化:**
- 基于所需属性的奖励塑造
- 实时约束满足
- 多目标平衡(例如:效力 + 类药性)
### GCPNGeneration (图卷积策略网络)
使用强化学习来生成针对特定属性优化的分子。
**组件:**
1. **策略网络 (Policy Network)**:决定采取何种动作(添加原子、添加化学键)
2. **奖励函数 (Reward Function)**:评估生成分子的质量
3. **训练**:使用策略梯度的强化学习
**优势:**
- 直接优化不可微目标
- 可结合复杂的领域知识
- 平衡探索与利用
**应用:**
- 针对特定靶点的药物设计
- 具有属性约束的材料发现
- 多目标分子优化
## 生成模型
### GraphAutoregressiveFlow
用于分子生成的归一化流模型,具有精确的似然计算能力。
**架构:**
- 耦合层将简单分布转换为复杂的分子分布
- 可逆变换实现密度估计
- 支持条件生成
**关键特性:**
- 精确的似然计算(对比 VAE 的近似似然)
- 训练稳定(对比 GAN 的对抗训练)
- 通过可逆变换实现高效采样
- 可生成具有指定属性的分子
**训练:**
- 在分子数据集上进行最大似然估计
- 可选的属性预测头用于条件生成
- 通常在 ZINC 或 QM9 数据集上训练
**用例:**
- 生成多样化的类药分子
- 在已知分子间进行插值