2626
2727本章节仅对 CGCNN 的模型原理进行简单地介绍,详细的理论推导请阅读 [ Crystal Graph Convolutional Neural Networks for an Accurate and Interpretable Prediction of Material Properties] ( https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.120.145301 ) 。
2828
29- 该方法的主要思想是通过一个同时编码原子信息和原子间成键相互作用的晶体图来表示晶体结构,然后在该图上构建一个卷积神经网络,通过使用DFT计算数据进行训练,自动提取最适合预测目标性质的表示。如图所示,晶体图是一个无向多图,它由代表原子的节点和代表晶体中原子之间连接的边所定义。晶体图不同于普通图,因为它允许在同一对端点之间有多条边,这是晶体图的一个特点,同时因为它们的周期性,其与分子图也有所不同。图中每个节点由一个特征向量表示,编码节点对应原子的属性。类似地,每条边同样用特征向量表示;对应于连接原子的键。
29+ CGCNN 是一个用于表示周期性晶体系统的通用机器学习框架。与依赖人工构建特征向量的传统方法不同,CGCNN 直接在晶体图 (Crystal Graph) 之上构建卷积神经网络,从而自动学习表示,以达到密度泛函理论 (DFT) 的精度预测材料性质,并提供原子层级的化学见解。
30+
31+ 晶体图表示 (Crystal Graph Representation):晶体结构转化为** 无向多重图** (Undirected Multigraph) $G$。
32+ * ** 节点 (Nodes $i$):** 代表原子。每个节点由一个特征向量 $v_i$ 描述,编码了原子属性(如族数、周期数、电负性等)。
33+ * ** 边 (Edges $(i,j)_ k$):** 代表原子间的化学键连接。由于晶体的周期性,同一对原子之间可能存在多条边(多重图)。每条边由对应于连接原子 $i$ 和 $j$ 的第 $k$ 个键的特征向量 $u_ {(i,j)_ k}$ 定义。
34+ * ** 构建方式:** 通常在 6 Å 半径内搜索最近邻居。如果原子共享 Voronoi 面且距离足够近(基于共价键长度),则认为它们是连接的。
35+
36+ 卷积层 (Convolutional Layers):核心的“学习”过程发生在卷积层。模型通过聚合周围原子和键的信息,迭代更新每个原子的特征向量,以捕捉局部化学环境。
37+ ** 卷积函数:** 为了区分邻居之间相互作用强度的差异,模型使用了改进后的更新规则:
38+ $$ v_{i}^{(t+1)} = v_{i}^{(t)} + \sum_{j,k} \sigma(z_{(i,j)_{k}}^{(t)} W_{f}^{(t)} + b_{f}^{(t)}) \odot g(z_{(i,j)_{k}}^{(t)} W_{s}^{(t)} + b_{s}^{(t)}) $$
39+ 其中:
40+ * ** 拼接 ($z$):** $z_ {(i,j)_ {k}}^{(t)} = v_ {i}^{(t)} \oplus v_ {j}^{(t)} \oplus u_ {(i,j)_ {k}}$ 是中心原子向量、邻居原子向量和键向量的拼接。
41+ * ** 门控 ($\sigma$):** Sigmoid 函数 $\sigma(\cdot)$ 充当学习到的权重矩阵(即门控机制),用于自动区分不同邻居间相互作用的强度(例如自动忽略弱键)。
42+ * ** 非线性 ($g$):** 函数 $g(\cdot)$ 增加了非线性耦合。
43+ * ** 残差连接:** 公式中加上原始的 $v_ {i}^{(t)}$ 使得训练更深层的网络变得更容易。
44+
45+ 池化与输出 (Pooling and Output):经过 $R$ 层卷积层后,模型需要生成一个代表整个晶体结构的固定长度向量,无论单元格中有多少个原子。
46+ * ** 池化层 (Pooling Layer):** 使用** 归一化求和** (Normalized Summation) 作为池化函数。
47+ $$ v_{c} = \frac{1}{N} \sum_{i} v_{i}^{(R)} $$
48+ 这确保了表示具有** 原子索引排列不变性** (Permutational Invariance) 和** 晶胞大小不变性** (Size Invariance)。
49+
50+ * ** 输出层 (Output Layer):** 晶体特征向量 $v_c$ 通过全连接隐藏层 ($L_1, L_2$) 以捕捉复杂的映射关系,最后通过输出层预测目标属性 $\hat{y}$(例如形成能、带隙)。
3051
3152模型的总体结构如图所示:
3253
@@ -36,7 +57,11 @@ CGCNN 论文中预测了七种不同性质,接下来将介绍如何使用 Padd
3657
3758### 3.1 数据集介绍
3859
39- CGCNN 原文中使用的是 数据集 (< https://next-gen.materialsproject.org/ > ) 和 数据集(< https://cmr.fysik.dtu.dk/cubic_perovskites/cubic_perovskites.html > )。本案例使用自行收集的数据集进行训练测试,如果用户需要使用本案例进行相关任务,可以参考以下数据集格式:
60+ CGCNN 原文中使用的是 数据集 (< https://next-gen.materialsproject.org/ > ) 和 数据集(< https://cmr.fysik.dtu.dk/cubic_perovskites/cubic_perovskites.html > )。
61+
62+ * Materials Project 数据集* 由伯克利加州大学与劳伦斯伯克利国家实验室合作建立的大型开放式在线材料数据库,致力于提供全面的材料性能数据、结构信息和计算模拟结果。该数据集包含了来自高通量第一性原理计算的超过百万种无机材料的数据。其中包括晶体结构、能量特性、电子结构、热力学性质等详尽信息,为研究人员提供了丰富的材料数据资源。MPDataDoc对象共包含69个字段,其中57个字段分别从材料表示、光电性质、力学性质(弹性特性、剪切性质)、物理化学性质(化学组成、物理结构、微观结构)、稳定性和反应性(也属于化学性质)、热力学性质、磁性性质等方面描述材料的性质
63+
64+ 本案例使用自行收集的数据集进行训练测试,如果用户需要使用本案例进行相关任务,可以参考以下数据集格式:
4065
4166- [ CIF] ( https://en.wikipedia.org/wiki/Crystallographic_Information_File ) 用于记录用户所需的晶体结构的文件。
4267- [ id _ prop.csv] 每个晶体的目标属性。
0 commit comments