APP下载

基于迁移学习的钙钛矿材料带隙预测*

2023-11-24孙涛袁健美2

物理学报 2023年21期
关键词:带隙钙钛矿集上

孙涛 袁健美2)†

1) (湘潭大学数学与计算科学学院,湘潭 411105)

2) (湘潭大学,智能计算与信息处理教育部重点实验室,湘潭 411105)

针对快速获取钙钛矿材料带隙值的问题,建立特征融合神经网络模型(CGCrabNet),利用迁移学习策略对钙钛矿材料的带隙进行预测.CGCrabNet 从材料的化学方程式和晶体结构两方面提取特征,并拟合特征和带隙之间的映射,是一个端到端的神经网络模型.在开放量子材料数据库中数据(OQMD 数据集)预训练的基础上,通过仅175 条钙钛矿材料数据对CGCrabNet 参数进行微调,以提高模型的稳健性.数值实验结果表明,CGCrabNet 在OQMD 数据集上对带隙的预测误差比基于注意力的成分限制网络(CrabNet)降低0.014 eV;本文建立的模型对钙钛矿材料预测的平均绝对误差为0.374 eV,分别比随机森林回归、支持向量机回归和梯度提升回归的预测误差降低了0.304 eV、0.441 eV 和0.194 eV;另外,模型预测的SrHfO3 和RbPaO3 等钙钛矿材料的带隙与第一性原理计算的带隙相差小于0.05 eV,这说明CGCrabNet 可以快速准确地预测钙钛矿材料的性质,加速新材料的研发过程.

1 引言

近年来,随着密度泛函理论的不断完善和计算机计算能力的逐渐提升,第一性原理高通量计算在预测新材料和优化材料性质等方面取得较大的发展[1].然而,基于第一性原理计算在快速计算时的准确性是有限的,在需要获取高精度的计算结果的时候,利用该方法所需要的计算量是很大的,巨大的计算量成为了高通量计算的瓶颈.对此,寻找一种更快、消耗计算量更少的方式来预测新材料的属性,则可加快新材料的研发过程.近年来,随着机器学习技术的发展,可以有效地对数据和目标标签之间复杂的非线性关系进行建模,已经被广泛应用到材料信息学中[2].

2018 年,Xie 和Grossman[3]提出了一种晶体图卷积神经网络(crystal graph convolutional neural networks,CGCNN),预测了带隙等多种晶体材料的性质,并且预测的平均绝对误差要低于或接近基于密度泛函理论(Density functional theory,DFT)的方法.2019 年,Chen等[4]提出了一种通用的材料图网络(MatErials graph network,MEG Net) 来预测分子和晶体的性质.在QM9 分子数据集上对13 个分子属性进行测试,提高了对大部分分子属性的预测精度.2020 年,Karamad等[5]提出一种轨道图卷积神经网络(orbital graph convolutional neural network,OGCNN),在CGCNN 模型的基础上加入了原子轨道相互作用特征,在多个晶体材料数据库上验证模型的性能,证明了模型具有高精度的晶体性质预测能力.

对于缺乏材料结构信息的数据集,研究人员尝试不利用材料的结构信息,通过其他的材料信息如元素组成等对材料性质进行预测.2018 年,Jha等[6]提出一种仅通过元素组成来预测材料化学性质的深度学习模型ElemNet.在OQMD 数据库构成的数据集上对每个材料化合物的最低形成焓进行预测,能够以较快的速度和较高的精度预测材料性质.2020 年,Goodall 和Lee[7]提出一种从化学计量比中深度表征学习方法Roost,它将化学计量式视为元素之间的密集加权图,利用消息传递操作在组成材料的各元素之间传递信息,从而更新元素的组成.通过在OQMD 数据库和MP 数据库构成的数据集上进行实验测试,发现Roost 可以有效地对缺少晶体材料结构的数据进行性质预测任务.2021 年,Wang等[8]提出一种基于注意力的成分限制网络(compositionally restricted attention-based network,CrabNet),在28 个基准数据集上进行测试,大多数的预测精度都与其他方法接近或更高.

钙钛矿材料的化学通式为ABX3,是一类结构相似的化合物的总称.钙钛矿材料具有合适的且可调的带隙宽度等优良的性质,是太阳能电池、光催化材料和热电器件等领域的候选材料[9].带隙是一个重要的物理性质,它一开始就划定了该材料的应用范围.Guo 和Lin[10]利用机器学习模型,预测了无铅双钙钛矿卤化物的带隙性质.Gao等[11]利用梯度提升回归算法从5796 种无机双钙钛矿材料中筛选带隙合适的材料,得到K2NaInI6和Na2MgMnI6两种候选材料,并且DFT 计算证实了热稳定性和良好的光学性能.对钙钛矿材料的带隙快速预测可以减小候选材料的搜索空间,加快新材料的研发过程.

本文构建了一个深度学习模型CGCrabNet用于研究钙钛矿材料的带隙性质.该模型通过输入化学式和结构信息,使材料的带隙值作为模型输出,通过反向传播算法更新模型参数.首先在OQMD数据集中预训练了CGCrabNet 模型,并且与其他深度学习带隙预测模型进行比较.其次将预训练的CGCrabNet 模型在钙钛矿材料数据集上进行微调.最后,将本文建立的深度学习模型用于对钙钛矿材料的带隙进行预测,并与随机森林回归、支持向量回归和梯度提升回归的预测结果进行对比分析.

2 特征融合神经网络模型

2.1 模型架构介绍

本文建立了一种基于化学式和晶体结构作为原始输入的特征融合神经网络模型,简称为CG CrabNet 模型.模型的数学表达式为

其中z为带隙值,f表示神经网络模型,x1∈表示元素信息矩阵,x2∈表示原子占比矩阵,Nf表示化学式中元素种类数,y1∈Rp×I表示节点特征,每个节点的特征由One-Hot 编码表示,y2表示相邻节点信息,p表示晶体图中节点总数,I表示节点特征维度,θ表示模型参数.

CGCrabNet 模型对化学式信息的特征提取模块参考CrabNet 模型[8]构建.模型输入的化学式用于构造元素信息矩阵x1和原子占比矩阵x2,其中元素信息矩阵是由组成化学式的所有元素的原子序数构成的,原子占比矩阵是由化学式中每个元素对应原子数占晶体总原子数的比例分数构成的.例如SiO2的元素信息矩阵为 [8 14]T,原子占比矩阵为 [0.67 0.33]T.

对于元素信息矩阵,使用元素嵌入将原子序数表示成固定维度的向量,向量维度取决于通过测试确定的元素嵌入方法.对于原子占比矩阵,通过分数编码将其表示为一个dm维的向量.分数编码灵感来源于Vaswani等[12]提出的位置编码器,是将一个0 到1 之间的分数表示成一个固定维度向量的过程.元素特征构造中的全连接层的作用是进行维度变换,使其可以和分数编码后的向量相加,得到化学式中每个元素的元素特征向量.然后将元素特征向量经过N个多头注意力机制,多头注意力机制的头数用n表示,这样可以使化学式的每个元素特征向量都包含化学式中其他元素信息.最后在多头注意力机制后连接一个全连接残差网络,用来得到化学式中所有元素的元素原贡献向量p、元素不确定性向量u和元素对数向量l,通过(2)式和(3)式来计算z1和偶然不确定性S:

对于输入的晶体结构,将其转化成晶体图数据,包括节点特征y1和相邻节点信息y2.首先由节点嵌入层将每个节点i的One-Hot 特征变成一个连续、密集的分布式特征向量vi.然后考虑相邻节点信息y2,利用图卷积层通过非线性图卷积函数迭代更新原子特征向量vi,更新公式为

接下来,图池化层用于生成晶体的整体特征向量vc,如下所示:

其中κ(x)=ln(1+ex),M表示晶体图中节点个数.最后将其输入到由全连接层组成的全连接网络中,就可以得到z2.

CGCrabNet 模型架构如下图1 所示.CGCrab Net 模型将基于成分网络得到的z1和基于结构网络得到的z2加权求和,如(6)式所示,即为目标晶体性质:

图1 CGCrabNet 模型算法Fig.1.CGCrabNet model algorithm.

其中w1+w2=1.

2.2 训练方式

在CGCrabNet 模型训练过程中,需要一个合适的损失函数来衡量模型输出值和真实值之间的差异.在建立损失函数的过程中,这里主要考虑偶然不确定性,并且假设偶然不确定性是异方差的,即不确定性取决于模型的输入,不同的输入对应的噪声输出是不同的[13].假设材料数据不确定性的概率分布为拉普拉斯分布,拉普拉斯分布如下:

其中Xi为模型第i个输入材料数据,θ为CGCrab Net 模型参数,ρ(Xi) 为Xi的偶然不确定性,z(Xi)为材料带隙性质的计算值,从数据库中直接获得.对(7)式取对数如下:

因为希望似然估计越大越好,也就是负对数似然值越小越好,所以用等式(8)右边构造一个损失函数:

式中,Xi的偶然不确定性ρ(Xi) 可以看成关于Xi的一个未知函数,也可以通过模型学习得到,所以模型同时预测材料的性质和方差ρ(Xi).可以看到,在模型学习偶然不确定性时,是不需要真实样本值的.因为如果一个样本i很难预测,为了最小化损失函数,ρ(Xi) 会适当变大,而损失函数中的ln(2ρ(Xi))防止了网络预测样本数据不确定性为无穷大的情况.

在实际训练中,我们训练网络来预测对数方差Si=ln(2σ(xi)),从而损失函数为

这样做是因为在数值上对数方差比方差更稳定,而且可以避免学习到方差为0 从而导致无法计算损失函数的情况.另外,通过学习对数方差Si,使得方差ρ(Xi) 被解析到正值,给出有效的方差值.

本文使用Lamb 优化器[14]更新模型权重,在进行大批量数据训练时,可以保持梯度更新的精度.在训练过程中,学习率是一个很关键的超参数.学习率设置的过大,模型可能很难收敛,设置的过小,则参数更新过于缓慢.这里使用周期性学习率(CLR)[15],学习率每2 个epoch 在1×10-4—1×10-2之间循环,以实现一致的模型收敛.

3 数值实验分析

3.1 实验训练细节

本文使用了OQMD (the open quantum materials database)[16]和Materials Project[17]数据库中的材料结构和性质数据.针对OQMD 数据库,参考Yamamoto[18]的数据获取方法,得到包含材料化学式、晶体图结构和带隙的样本数据,这里获取的带隙是由GGA+U计算得到的[19].由于获取的OQMD 数据库中大部分材料带隙值为0,为了样本的数据均衡性,考虑将原数据集中带隙值为0 的样本移除数据集,最终得到30368 个样本构成本文使用的OQMD 数据集.针对Materials Project 数据库,按照钙钛矿结构的一些性质例如化学通式(ABX3)、空间群数(221)和空间群名称()等,使用API 接口筛选数据,然后清除一些非钙钛矿结构数据,得到175 条包含CIF 文件、化学式和带隙值的钙钛矿数据,参考CGCNN[3],由CIF 文件得到相应的晶体图信息,构成本文钙钛矿材料数据集①https://github.com/STsuntao/CGCrabNet/tree/master.本文CGCrabNet 模型先在OQMD 数据集中和文献中提出的模型进行对比,验证其对带隙的预测能力.然后将CGCrabNet 应用到钙钛矿材料带隙预测任务中,两个数据集的训练集、验证集和测试集的划分比例均为6∶2∶2.为了防止过拟合,训练中加入提前停止策略,超参数取值如表1 所列.

表1 超参数取值Table 1.Hyperparameter value.

3.2 实验结果

首先,在OQMD 数据集上对One-Hot[20],Mag pie[21]和Mat2vec[22]三种元素嵌入方法进行测试.Magpie 是一系列原子特征的集合,包括化学计量特征、元素属性特征、电子结构特征和离子化合物属性.Mat2vec 是将物理、化学、材料科学方向的一些词汇表示成 200 维词嵌入向量的方法,包含了对每个元素的向量表示.三种方法表示的元素向量均可以在开源项目CrabNet[8]中获得,测试结果如表2 所列.由测试结果,确定模型中元素嵌入方法使用Mat2vec 方法.

表2 元素嵌入法测试结果(单位: eV)Table 2.Elemental embedding method test results (in eV).

为了验证CGCrabNet 模型预测能力,在OQMD数据集上,按照同样的训练集、验证集、测试集划分方式,复现了CGCNN 模型[3]、Roost 模型[7]、Crab Net 模型[8]和HotCrab 模型[8](即CrabNet 中元素嵌入方法改为One-Hot 得到的模型)进行对照实验,实验结果如表3 所列,可以看出CGCrabNet模型在验证集和测试集上的平均绝对误差都要低于其他模型,在测试集上平均绝对误差比CrabNet模型降低了0.014 eV.图2 是CGCrabNet 模型训练过程训练集和验证集损失值变换图,可以看到验证集损失值趋于稳定,并且没有出现过拟合的情况.

表3 深度学习模型测试结果(单位: eV)Table 3.Deep learning model test results (in eV).

图2 CGCrabNet 预训练损失值变化Fig.2.CGCrabNet pre-training loss value change.

图3 和图4 分别是CGCrabNet 模型在验证集和测试集上预测带隙值和计算带隙值的散点图,图中黑色虚线是由坐标轴上的点线性拟合得到的一次函数,该拟合函数越接近函数y=x,说明预测效果越好,进一步验证该模型的预测能力.

图3 验证集预测带隙值Fig.3.Predicted band gap values on the validation set.

3.3 模型应用

为了研究钙钛矿材料的带隙性质,将CGCrab-Net 模型用于钙钛矿材料的带隙预测.由于本文使用的钙钛矿数据集较小,所以训练模型时加入迁移学习策略.首先对OQMD 数据集进行检验,将其中包含的钙钛矿结构数据移除数据集,最终得到29827 条样本;接下来在调整后的OQMD 数据集上预训练CGCrabNet 模型,并保存模型参数;最后,将预训练的CGCrabNet 模型在钙钛矿材料数据集上进行微调.模型微调时batch_size 变为16,其他训练细节和预训练时保持不变,训练39 代时模型训练提前终止.可以看到,在预训练的基础上微调模型,加上设置的提前终止条件,可以在快速收敛的同时有效防止过拟合.

此外,还用随机森林回归模型(RF)[23]、支持向量回归模型(SVR)[24]、梯度提升回归模型(GBR)对钙钛矿材料的带隙性质进行预测,在建立钙钛矿材料特征时,使用Atom_DL 原子分布式特征[25]拼接得到.为得到稳定的预测模型,对3 种回归模型的参数进行网格搜索,利用5 折交叉验证对模型进行评估.5 折交叉验证将数据集平均划分成5 份,依次用其中的一份作为测试集,其他数据作为训练集来得到误差.最后,计算5 个误差的平均值作为模型最终的误差.所有的机器学习算法模型都是使用开源库Scikit-learn[26]实现的,各回归模型的超参数如表4 所列.

表4 回归模型参数Table 4.Regression model parameters.

为说明迁移学习的重要性,在仅用钙钛矿数据的情况下使用CGCrabNet 模型对其带隙进行了预测,测试集的平均绝对误差为0.536 eV;加入迁移学习策略之后,测试集的平均绝对误差为0.374 eV,预测精度有明显提高.同时,在钙钛矿数据集上复现了MEGNet 和CGCNN 模型,用于对比预测效果.各模型预测效果的平均绝对误差值如图5 所示,可以看到,随机森林回归模型和梯度提升回归模型的平均绝对误差(MAE)要低于支持向量回归模型,这是因为RF 和GBR 都是集成学习模型,考虑了多个基本学习器;MEGNet 和CGCNN模型在测试集上的MAE 较高,这是由于钙钛矿数据集较小,在小数据集上训练MEGNet 和CGCNN模型容易出现过拟合现象.

图5 钙钛矿材料带隙预测的平均绝对误差对比Fig.5.MAE of band gap prediction for perovskite materials.

分别利用CGCrabNet 模型、随机森林回归、支持向量回归和梯度提升回归预测带隙值与计算带隙值绘制成散点图如图6 所示,两条黑色实线内部的点表示预测值与计算值相差小于1 eV,数据点越靠近红色实线表示模型的预测效果越佳.可以看出微调之后的CGCrabNet 模型在钙钛矿材料数据集上预测效果良好.

图6 预测带隙与计算带隙散点图Fig.6.Predicting and calculating band gap scatter maps.

表5 列出了钙钛矿材料数据集测试集中的35 个样本的带隙计算值和带隙预测值,带隙预测值包括特征融合神经网络模型(CGCrabNet)、随机森林回归(RF)、支持向量回归(SVR)和梯度提升回归(GBR)预测的带隙值.从表5 可以看出,CGCrabNet 模型对SrHfO3和RbPaO3等钙钛矿材料预测的带隙值与计算值的平均绝对误差小于0.05 eV,并且对于大多数预测的钙钛矿材料,CG CrabNet 预测的带隙比其他3 个回归模型预测的带隙更接近带隙计算值.

4 结论

本文针对钙钛矿材料带隙预测任务,构建了一个深度学习带隙预测模型.比较了Roost 模型、Crab Net 模型、HotCrab 模型、CGCNN 模型和CGCrab Net 模型在OQMD 数据集上对材料化合物的带隙预测效果.利用迁移学习将在OQMD 数据集上预训练的CGCrabNet 模型,用于对钙钛矿材料的带隙性质进行预测研究.同时,本文在钙钛矿材料数据集上建立了随机森林回归模型、支持向量回归模型和梯度提升回归模型,用于和本文建立的模型进行比较.实验结果表明,在OQMD 数据集上,CGCrabNet 对带隙的预测精度比CrabNet 等模型有一定提升;在钙钛矿材料数据集上,本文建立的模型利用迁移学习策略对钙钛矿材料预测的平均绝对误差为0.374 eV,分别比随机森林回归、支持向量机回归和梯度提升回归的预测误差降低了0.304 eV,0.441 eV 和0.194 eV;另外,模型预测的SrHfO3和RbPaO3等钙钛矿材料的带隙与第一性原理计算的带隙的误差小于0.05 eV,这说明CGCrabNet 模型可以快速准确地预测新材料的性质,加速新材料的研发过程.

此外,本文的CGCrabNet 模型考虑了材料的化学式和晶体图结构两种特征作为输入,未来可以探索更多的材料特征输入模型,通过多种特征精准学习出材料特征和性质的映射关系;另一方面,本文将特征融合神经网络模型应用到钙钛矿材料的带隙预测任务中,进一步可以将其应用到其他材料的物理化学性质的研究中.

猜你喜欢

带隙钙钛矿集上
密度泛函理论计算半导体材料的带隙误差研究
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
一种基于BJT工艺的无运放低温度系数的带隙基准源
间距比对双振子局域共振轴纵振带隙的影响
一款高PSRR低温度系数的带隙基准电压源的设计
复扇形指标集上的分布混沌
当钙钛矿八面体成为孤寡老人
几种新型钙钛矿太阳电池的概述
钙钛矿型多晶薄膜太阳电池(4)