高通量DFT(High-throughput DFT)听上去很强大——自动生成几百几千种候选结构,每个跑一遍VASP,然后从结果里挑出性能最优的。但实际情况是:DFT的耗时决定了你最多只能筛几千种。如果候选空间是几万甚至几十万种,全量DFT在经济上不可行。主动学习(Active Learning)解决的就是这个矛盾——通过学习已有DFT结果的模式,智能地选择”下一批最值得计算”的候选结构,用最少的DFT计算找到最优解。

主动学习的第一步是训练一个代理模型(Surrogate Model),用来近似DFT的输出——比如形成能、带隙、弹性模量。这个代理模型可以是随机森林、高斯过程回归(GPR)、或者简单的神经网络。关键不是模型的复杂程度,而是两方面:输入特征和不确定性估计。
输入特征不能作弊。 代理模型的输入是从结构/组成中提取的描述符——电负性、原子半径、价电子数、配位数分布等。一条铁律是:不能把需要DFT才能得到的信息(如能带宽度、态密度)作为输入特征。否则代理模型在训练集上看起来精确,但在未知候选上的预测完全无效——因为你得先跑DFT拿到特征才能预测,循环逻辑就断了。
不确定性估计是灵魂。 代理模型不但要给出预测值,还要给出预测的不确定性。随机森林可以通过多棵树的预测方差来估计不确定性;高斯过程回归天然输出置信区间。如果没有不确定性,代理模型就只是一台劣化版的DFT——你不知道该信不该信它的预测。不确定性告诉你哪些候选结构是”模型还吃不准的”,为下一步指明了方向。
有了代理模型的预测值和不确定性,下一步任务是选出一组候选结构来跑DFT。这个选择标准由采集函数(Acquisition Function)定义。三种最常见的采集函数各有适用场景。
期望改进(Expected Improvement, EI): 基于当前最优结果,计算每个候选结构能带来改进的期望值。EI既考虑预测值是否优于当前最优,也考虑预测不确定性——不确定性高的候选有概率”冒出来”成为新的最优。EI是目前材料筛选中最常用的采集函数,适合目标为单一标量(如找到最低形成能的结构)。
置信上限(Upper Confidence Bound, UCB): 显式地在预测值和不确定性之间加权:UCB = μ + κσ,κ越大越偏向探索(选不确定性高的),κ越小越偏向利用(选预测值好的)。UCB的好处是κ可调——筛选早期可以设大κ做广域探索,后期缩小κ做精细利用。
汤普森采样(Thompson Sampling): 从代理模型的预测分布中随机采样一个”假想真实值”,选假想值最优的候选。这种方法在候选空间中有多个局部最优时表现比EI好——因为它天然避免了过早收敛到一个局部最优。
主动学习的核心是一个闭环:初始训练集(少量随机DFT)→ 训练代理模型 → 采集函数选候选 → 跑DFT → 新数据加入训练集 → 更新代理模型 → 再选下一批。这个闭环通常跑5-10轮,每轮选5-20个候选结构。
循环的终点可以有两种定义:一是找到了满足目标性能要求的结构(如带隙落在目标范围),二是代理模型的预测精度达到预设阈值(如交叉验证RMSE<0.1 eV/atom)。前者的终点更实用——因为筛选的最终目的不是把代理模型训练好,而是找到好材料。
实际部署中有一个容易被忽略的环节:DFT作业管理。每轮要跑5-20个VASP计算,这些结构中有一部分会因为SCF不收敛、结构塌缩或磁矩翻转而失败。失败的结构不能被简单丢弃——它们本身就是”高不确定性区域”的信号。需要用多种INCAR策略复算失败的结构,或者把失败信息反馈给代理模型,告诉它这个区域有问题。
主动学习的前期投入是搭建代理模型和采集函数的代码框架,一锤子买卖。后续每轮筛选的边际成本是代理模型训练(几分钟)+ 小批量DFT计算(几到几十核时)。如果候选空间超过500种,主动学习的总DFT计算量通常比全量高通量少60-80%。
但它不适用于候选空间很小(<100种)的场景——全量DFT可能比搭建主动学习工作流还快。也不适用于目标函数有多个互斥的局部最优且没有单一全局最优的场景——主动学习的终点可能卡在某个局部最优跳不出来,这时候需要用贝叶斯优化或多目标优化来替代纯主动学习。
参考文献:Lookman et al., Nat. Rev. Mater., 2019, 4, 553-567;Xue et al., npj Comput. Mater., 2016, 2, 16009.