这是本文档旧的修订版!
Chemeleon2 项目简介
Chemeleon2 是一个用于晶体结构生成的强化学习框架,它在潜在扩散模型中使用群体相对策略优化(Group Relative Policy Optimization)。 [1](#0-0)
核心架构
该项目实现了一个三阶段的晶体结构生成流程: [2](#0-1) - VAE 模块:将晶体结构编码到潜在空间表示中 - LDM 模块:使用扩散 Transformer 在潜在空间中采样晶体结构 - RL 模块:通过自定义奖励函数对 LDM 进行微调,以优化特定的材料性质
关键特性
该框架的核心优势是允许用户设计自定义奖励函数,通过简单的 Python 接口引导生成过程朝向期望的材料性质(如带隙、密度、稳定性等)。 [3](#0-2)
项目还提供了多个内置的奖励组件,包括: - CreativityReward:奖励独特和新颖的结构 - EnergyReward:惩罚高于凸包的高能量 - StructureDiversityReward:鼓励多样化的晶体几何结构 - CompositionDiversityReward:鼓励多样化的化学组成 - PredictorReward:使用训练好的机器学习模型作为奖励函数 [4](#0-3)
应用场景
该框架专为定向材料发现而设计,用户可以通过定义自定义奖励函数将晶体生成引导到具有特定材料性质的方向。 [5](#0-4)
Notes
- 项目采用 MIT 许可证开源 - 有相关的学术论文发表在 arXiv(2511.07158) - 提供了完整的文档、教程和基准测试数据集 - 支持使用 PyTorch 和 CUDA 进行加速训练
Citations
File: README.md (L4-4)
A reinforcement learning framework in latent diffusion models for crystal structure generation using group relative policy optimization.
File: README.md (L19-23)
Chemeleon2 implements a three-stage pipeline for crystal structure generation:
1. **VAE Module**: Encodes crystal structures into latent space representations
2. **LDM Module**: Samples crystal structures in latent space using diffusion Transformer
3. **RL Module**: Fine-tunes the LDM with **custom reward functions** to optimize for specific material properties
File: README.md (L25-25)
**Key Feature:** Design custom reward functions to guide generation toward desired properties (band gap, density, stability, etc.) using a simple Python interface.
File: README.md (L76-76)
Chemeleon2's RL module enables you to guide crystal generation toward specific material properties by defining custom reward functions. This is the framework's key differentiator for targeted materials discovery.
File: README.md (L112-119)
| Component | Purpose |
|-----------|---------|
| **CreativityReward** | Reward unique and novel structures |
| **EnergyReward** | Penalize high energy above convex hull |
| **StructureDiversityReward** | Encourage diverse crystal geometries |
| **CompositionDiversityReward** | Encourage diverse chemical compositions |
| **PredictorReward** | Use trained ML models as reward functions |
评论