1. 材料图神经网络工程导论

材料信息学把材料科学问题转化为可计算、可检索、可学习的数据问题;图神经网络(Graph Neural Network, GNN)则提供了一种天然适配晶体与分子结构的表示学习工具。两者的交叉点在于:材料的物理化学性质往往由局部原子环境及其连接关系决定,而图结构恰好能同时表达“原子是什么”和“原子如何连接”。本课程的目标不是停留在算法原理,而是把这种表示能力落到可复现的工程流程中。

1.1 为什么材料适合用图表示

在传统材料描述符中,成分、晶格常数、空间群、电负性差等特征被拼接成固定长度向量。这种方式对成分敏感,却容易丢失局部配位信息。例如同为TiO₂,金红石与锐钛矿的配位数和连接拓扑不同,带隙与催化活性差异显著。图表示把晶体抽象为:节点=原子(含元素类型、坐标、氧化态等),边=原子间连接(含距离、键角、周期性镜像关系)。这样,模型可以在消息传递中逐层聚合邻域信息,学习到“八面体配位”“四面体配位”“层状堆垛”等结构模式。

以晶体图构建为例,常用做法是:设定截断半径r_cut(如6.0 Å),对每个原子搜索其邻域原子,若距离小于r_cut则建立边,边特征可包含距离的径向基展开。对于周期性体系,还需考虑跨越晶胞边界的镜像原子,通常通过最小镜像约定或显式扩展超胞处理。节点特征可包括原子序数、电负性、原子半径、轨道信息等;边特征可包括距离、方向余弦。这些选择直接决定模型能学到什么,也决定后续工程中数据管线的复杂度。

晶体结构 → 图表示 晶胞(示例:TiO₂) Ti O O O O 截断半径 r_cut = 6.0 Å 构图 图结构 G=(V,E) Ti O O O 节点特征 + 边特征 消息传递 GNN 预测输出 带隙 (eV) 形成能 (eV/atom) 体积模量 (GPa) 催化活性描述符 工程化闭环:数据 → 模型 → 验证 → 迭代 材料数据库 Materials Project OQMD / AFLOW 图构建与特征 PyG / DGL / ASE CIF → Graph GNN 训练 SchNet / MEGNet CGCNN / ALIGNN 评估与筛选 MAE / RMSE 候选材料排序 主动学习 / 实验反馈 / 数据增强

1.2 工程化应用全景

材料GNN的工程化应用可以按“预测目标”和“数据条件”两个维度展开。在数据条件充足时,监督学习可直接用于性质预测,如带隙、形成能、弹性模量、离子电导率等。在数据稀缺时,则需引入迁移学习、多任务学习或主动学习。典型场景包括:

  • 性质预测:以晶体图或分子图为输入,回归或分类目标性质。例如用MEGNet在Materials Project数据上预测形成能,MAE可控制在0.03 eV/atom量级(示例值,随数据集划分与模型配置变化)。
  • 结构筛选:对大规模候选结构进行快速打分,缩小后续DFT计算范围。工程上常把GNN作为“预筛选器”,把计算资源集中在高潜力候选上。
  • 逆向设计:给定目标性质,生成或搜索满足条件的成分与结构。此时GNN可作为代理模型嵌入优化循环,与遗传算法、贝叶斯优化或扩散模型结合。
  • 势函数与分子动力学:以GNN拟合势能面,替代部分第一性原理计算,用于有限温度下的结构演化模拟。

这些场景共享一条工程主线:数据获取与清洗、图构建、模型训练、验证与不确定性量化、部署与迭代。区别在于数据规模、目标维度和对不确定性的要求不同。例如性质预测更关注MAE,而逆向设计更关注生成样本的多样性与物理可行性。

1.3 课程项目目标与工具链

本课程以一个贯穿式项目为主线:从公开材料数据库出发,构建晶体图数据集,训练GNN模型预测目标性质,并完成评估与简单筛选。项目不追求覆盖所有GNN变体,而是让每个环节都可运行、可检查、可复现。建议的工具链如下:

环节推荐工具用途说明
结构解析pymatgen / ASE读取CIF、POSCAR,处理周期性边界,导出原子坐标与晶格
图构建PyTorch Geometric / DGL将结构转为节点-边图,支持邻域采样与批处理
模型实现PyTorch + SchNet/MEGNet/CGCNN消息传递、池化、读出层,支持自定义边特征
训练管理PyTorch Lightning / 自定义循环学习率调度、早停、检查点保存
评估与可视化scikit-learn / matplotlib / seabornMAE、RMSE、 parity plot、误差分布

一个最小可运行示例的配置如下(示例参数,需根据实际数据调整):截断半径6.0 Å,节点特征维度64,边特征维度128,消息传递层数4,隐藏层维度128,批量大小32,初始学习率1e-3,Adam优化器,早停耐心20轮。数据划分建议按成分或结构类型分组划分,避免同构材料同时出现在训练集和测试集导致指标虚高。

工程提示:图构建阶段务必检查孤立节点和重复边。周期性体系若截断半径过大,会导致边数急剧膨胀,显存占用上升。可先用小规模子集验证管线,再扩展到全量数据。
常见误区:直接把随机划分的测试集指标当作泛化能力。材料数据中同族化合物高度相似,随机划分会高估性能。建议至少采用按化学式分组或按空间群分层的划分方式,并在报告中明确说明。