Con-CDVAE论文精读

文章目录

前言

论文:Con-CDVAE: A method for the conditional generation of crystal structures

 在读这篇文章前应该先去阅读以下4篇论文:

1.《Generative Modeling by Estimating Gradients of the Data Distribution

2.《Denoising Diffusion Probabilistic Models

3.《CRYSTAL DIFFUSION VARIATIONAL AUTOENCODER FOR PERIODIC MATERIAL GENERATION 》 

4.《Crystal Graph Convolutional Neural Networks for an Accurate and Interpretable Prediction of Material Properties

一、Con-CDVAE架构

        文使用两种扩散模型,其中 NCSN 用于生成晶体,如CDVAE完成的,而DDPM 用于生成晶体的潜变量。当NCSN应用于晶体生成时,我们用M=(A,X,L)来表示晶体。 A、X、L分别表示原子类型的one-hot向量、原子坐标和晶格向量。在VAE结构中,我们使用Encoder(M) 获取每个晶体的潜在变量 z,使Decoder(Mt, z, t)充当评分网络,其中Mt =(Xt, At, L)表示晶体受到扰动t级噪声。

  1. Predictor 模块:是 CDVAE 中属性预测器的改进,在CDVAE中只能应用于一个连续属性。该预测器块可以同时应用于多个属性,包括离散属性。 该块使用潜在变量 z 作为输入,使具有相似属性的晶体靠近潜在空间,这在使用Prior生成具有属性的新潜在变量时可能会有所帮助。归一化均方误差(MSE)损失函数用于连续属性,交叉熵损失函数用于离散属性。
  1. PropEmb模块:用于嵌入属性,连续属性和离散属性的嵌入方式有所不同。连续属性由高斯基函数扩展并由 MLP 嵌入。
  2. Prior模块:这是扩散模型的 DDPM 版本。Prior的任务是生成具有给定属性的潜在变量,因此我们使用Encoder的结果作为标签。Prior可以分为两个子块:PriorEmb和PriorDecode。PriorEmb与PropEmb 类似,但可以在需要时嵌入化学式。

二、模型的训练

   在第一步训练中,在训练初期应用梯度裁剪来应对训练困难且不稳定的情况。

   对于先验块的训练(“第二步”训练过程),我们将其分为两种方法。第一个涉及使用与 PropEmb 模块输入相同的属性进行训练,称为默认条件 Prior。 第二个涉及带隙、形成能、晶体系统、空间群、凸包能量、原子序数和化学式等属性的训练,称为完整条件先验。 例如,如果我们想训练一个能够以带隙为条件生成晶体的Con-CDVAE,那么PropEmb块的输入将仅包括带隙。 default条件先验的输入也将仅包括带隙,而完整条件先验的输入将包括所有提到的属性。

  

利用这两种先验,在生成过程中提出了三种策略

  1. default:第一个涉及使用默认条件Prior生成潜在变量。
  2. full: 第二个涉及利用完整条件Prior并提供所有必需的属性作为输入。
  3. less: 第三种涉及使用完整条件 Prior,但仅输入属性(properties)的子集

      最初使用带隙(BG)、形成能(FE)和晶体系统(CS)作为单一条件分别训练Con-CDVAE。 在三个子数据集上训练了三个独立模型,并使用三种策略(默认,less,full)进行了测试。然后,我们使用带隙和形成能作为组合条件来训练Con-CDVAE,以测试模型在多种条件下的生成能力。发现组合条件生成会降低模型的性能,但模型仍然具有一定的组合条件生成能力,特别是在使用full策略时。

       为了降低生成难度,我们利用形成能和带隙设计了具有离散属性的联合条件生成测试。 具体方法是将带隙为零的晶体标记为“零”,其余晶体标记为“非零”,而形成能大于-0.9 eV/原子的晶体标记为“高”,其余晶体标记为“低”。

三、模型评估

CGCNN验证:

      使用pymatgen Python包和几个经过训练的CGCNN模型来快速验证模型的生成性能。 通过 pymatgen 的 SpacegroupAnalyzer 实用程序分析生成的晶体的晶体系统,参数为:symprec = 0.2,angle_tolerance = 5。利用带隙和形成能分别训练两个回归模型。 根据带隙是否为 0 eV 以及形成能是否大于 − 0.9 eV/原子,使用阈值训练两个分类模型。 这两个阈值是根据MP数据库的数据分布来选择的。 CGCNN在测试集上的性能如表所示。

       Con-CDVAE 生成的晶体的预测带隙分布。第一到第三行分别是用MP20、MP40和OQMD数据集训练得到的结果。第一到第三列分别是使用default、fullless策略生成的晶体。

DFT验证:

      为了验证ConCDVAE生成晶体的合理性,在形成能为单一条件的测试中随机选取了135种模型生成的材料进行DFT弛豫(三种形成能条件和三种策略构成9种情况,在每种情况下都选择15种晶体)。 同时我们还计算了它们的形成能。

      Con-CDVAE生成的135种晶体的预测形成能和计算形成能。蓝色、黄色和绿色点分别代表使用默认、完整和较少策略生成的晶体。圆形、三角形和正方形的点分别代表生成过程中设置的目标形成能 0、−2和−4eV/原子。 


总结

该论文主要包含三个方面的工作:

  1. 对CDVAE模型进行扩展,提出了一种扩散模型Con-CDVAE,可以根据目标特性有效地实现晶体生成。
  2. 设计了两步模型训练方法和三种生成策略。 在多种条件下测试模型,包括单一条件和组合条件,并用 ML 模型检查结果。结果表明:虽然该模型在数据充足的区域表现良好,但在数据不足的区域也可以生成晶体。然后,对 Predictor 模块进行了消融实验,以证明它可以帮助我们构建潜在变量空间。
  3. 通过CGCNN模型预测生成的晶体的性质进行条件约束有效性的评估进行了简单的DFT验证,进一步证实了Con-CDVAE生成晶体的合理性,以及模型基于目标属性生成晶体和在训练集外生成晶体的能力。

不足之处:只评估了条件约束的效果,没有同时评估晶体结构质量无法保证在约束的同时保证晶体结构质量,其次在最后的DFT验证中只选取了15种晶体材料进行计算,缺乏足够的说服力。

参考:材料计算&机器学习笔记6——晶体结构生成模型Con-CDVAE - 知乎 (zhihu.com) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值