APP下载

基于数据增广的小样本材料属性预测

2023-11-07李丹董赞强杨涛佟强谭胖刘秀磊

关键词:插值神经网络样本

李丹,董赞强,杨涛,佟强,谭胖,刘秀磊,

(1.北京信息科技大学 北京材料基因工程高精尖创新中心,北京 100101;2.郑州航空工业管理学院 智能工程学院,郑州450046;3.北京信息科技大学 数据科学与情报分析研究所,北京 100101)

0 引言

近十年,机器学习在诸多领域得到了广泛关注,其核心是统计算法,通过训练可以提高算法的精确度。科学家们通过机器学习加快了新型材料设计。在对材料属性进行预测时,机器学习作为替代模型能够更快地筛选材料,并且其准确性与量子计算的精度十分接近[1-2]。

近期发表的机器学习预测化合物属性的相关研究,在很大程度上加速了新材料的发现。Xie等[3]提出了一种可解释性的晶体图卷积神经网络(crystal graph convolutional neural networks,CGCNN)框架,在晶体结构生成的晶体图上构建卷积神经网络来学习材料属性。CGCNN用于材料性能预测与设计知识的提取,能够达到与密度泛函理论(density functional theory,DFT)[4]相似的精度。Wang等[5]提出一种基于注意力的成分限制网络(compositionally restricted attention-based network,CrabNet)。CrabNet使用了Transformer架构,将自注意力机制引入到材料属性预测任务中,并根据其化学环境动态学习和更新单个元素表示。在仅化学公式可知而结构不确定的情况下,与其他的常用模型进行比较,CrabNet能够达到更高的预测精度。Breuck等[6]提出了基于物理特征的材料最优描述符网络(material optimal descriptor network,MODNet)。MODNet通过采用关联冗余算法选择有物理意义的特征,构建具有最优描述符集合的前馈神经网络,在小数据集上的表现优于当前的图网络模型。MODNet通过联合学习来减少测试误差,并能够同时对多个属性进行精确预测,从而节省训练时间。Dunn等[7]提出的自动机器学习算法Automatminer是一种高度可扩展的全自动机器学习管道。Automatminer通过使用已发表的Matminer开源工具包[8],能够从材料原语(如成分和晶体结构)预测材料属性,无需用户干预或超参数调优。然而,这些应用成功的前提条件是有足够的训练示例。Schmidt等[9]在钙钛矿化合物形成能预测实验中证明,当训练集翻倍时,预测误差降低了约20%。

Dunn等[7]在提出自动机器学习算法Automatminer的同时,开发了用于机器学习模型评估的Matbench基准测试套件。Matbench包含了13个用于属性预测的分类、回归任务,并提供了10个数据集(数据量从312到132 752)。本文针对MatBench的屈服强度属性预测任务matbench_steels,提出一种基于数据增广的小样本材料属性预测模型(data augmentation prediction network,DAPNet)。DAPNet模型获取并分析数据集特点,采用数据标准化提高数据质量,应用线性插值算法扩充数据集,通过全连接神经网络对属性进行预测。

1 模型构建过程

1.1 数据分析和预处理

MatBench的屈服强度属性预测是一个回归任务,将Citrine Informatics[10]作为数据源。Citrine Informatics数据集包含800多种钢的机械性能(如屈服强度、延伸率、断裂韧性等)数据,且将组分而不是结构作为材料原语。屈服强度属性预测任务使用其中的312个样本,每条数据的组分由包含的元素及相应元素质量占总质量的比例组成。

312个样本中共包含14种元素,分别为Co(钴)、Ni(镍)、W(钨)、Nb(铌)、Cr(铬)、Al(铝)、Fe(铁)、C(碳)、V(钒)、Ti(钛)、Mo(钼)、N(氮)、Mn(锰)和Si(硅)。因此,采用各元素质量占比组成的14维向量对每条数据进行编码。

312个样本中并非每一个样本都包含所有的14种元素,含量较少的元素可能对模型预测精度产生影响。对包含各元素的材料数量进行统计,结果如图1所示。由图可知,包含Co元素的材料共有311个,而包含W元素的材料仅有17个。通过试验发现W与N元素对模型精度影响较大。因此,采用去除W和N元素的方法来提高准确度。

去除W和N元素后,输出312个样本中每种元素的质量占比分布如图2所示。从图2可以看出,Fe元素的质量占比分布在0.6~0.9之间,而其他元素的质量占比均分布在0~0.2之间。由此可见,数据集中各个元素的质量占比分布不均匀,因此需要将数据标准化。

图2 元素质量占比的分布Fig.2 Distribution of element quality proportion

标准化可以提高模型的准确度,是数据预处理中必要的一步。通过搜索得到所有数据的组分中每种元素质量占比的最大值,将每个维度的质量占比值与该值的比值作为这个维度的新值,以此实现数据标准化,计算过程如式(1)所示:

(1)

式中:i表示维度,去除W和N元素后,i的取值范围为[1,12];Qi表示维度i对应的元素的质量占比值;Qi_max表示312条数据中该元素质量占比的最大值。

标准化后各元素质量占比的分布情况如图3所示。通过对比图2和图3能够得到结论:标准化操作使得原始数据的元素质量占比分布更加均匀。

图3 标准化后元素质量占比分布Fig.3 Distribution of element quality proportion after normalization

1.2 数据增广

本实验任务所提供的数据集仅有312个样本,属于典型的小数据集学习任务。因此,通过数据增广[11]来提高模型性能。

去除W元素和N元素并经过标准化处理后,数据表示为12维向量编码形式。本实验采用线性插值法[12]实现数据增广,在训练集的每2个向量之间插入4个新向量,测试集不进行插值。本文所采用的线性插值过程如式(2)所示:

Wi=i/5(p-q)+q

(2)

式中:Wi是新的向量,i=1,2,3,4;p和q是原始数据集中经过标准化处理的两个12维向量。

线性插值后的数据集与原始数据维度相同,由12维元素质量占比组成。本实验使用五折嵌套交叉验证[13],交叉验证是一个重新采样的过程,用于在有限的数据样本上评估机器学习模型。首先随机将数据集划分为5组,每组数据量大致相等,分别为62、62、62、63、63。然后将5组中的一组数据作为测试集,其他4组数据作为训练集,模型通过训练集进行学习并在测试集上进行性能测试。依次重复上述过程,直到每组数据均被作为测试集使用,记录5次模型评估分数。最终五折交叉验证的运行结果为5次得分的平均值。采用五折嵌套交叉验证法,并对4组训练集线性插值后,样本总数量从312个成功扩充到十二万多个。

1.3 模型训练

全连接神经网络(fully connected neural network,FCNN)是在神经网络中使用深度结构,由输入层、输出层和隐藏层组成。DAPNet模型应用10层全连接层构成的FCNN作为屈服强度属性预测的模型。各全连接层参数信息如表1所示,其中包含每一全连接层的神经元个数、激活函数、参数量。其中参数shuffle设置为True,表示拆分数据集时采用洗牌操作进行随机取样,随机种子数设置为18 012 019,保证实验结果能够复现。采用ReduceLROnPlateau方法调整训练过程中的学习率,使用val_loss作为监测变量,参数patience设置为5,表示5个训练轮次后,val_loss不再减小时触发更新学习率操作,允许调整的最小学习率min_lr设置为0.000 1。通过早停法(early stopping)降低全连接神经网络出现过拟合的可能性,其中参数patience设置为20,表示20个轮次后val_loss没有发生变化时触发早停操作。优化器使用Adam,学习率lr设置为0.01。模型进行训练时,批大小(batch_size)设置为64,训练次数(epochs)设置为1 000,通过参数callbacks调用early stopping方法和ReduceLROnPlateau方法。

表1 模型参数数据Table 1 Parameters of the model

2 实验结果与分析

2.1 评价指标

本文使用平均绝对误差(mean absolute error,MAE)及标准差(standard deviation)对模型的性能进行评估。

MAE的计算过程如式(3)所示,其中M表示MAE评价指标结果值,对n个误差的绝对值求和后取平均值。MAE避免了误差相互抵消的问题,因此可以准确地反映预测误差的实际情况。

(3)

(4)

5次MAE得分的标准差σ如式(5)所示。标准差用于判定多个数据的离散程度,标准差越小,代表实验数据越稳定。

(5)

2.2 模型构建中的对比实验

MatBench的matbench_steels任务仅有312个数据,属于小样本任务。针对该任务,本实验更注重提高数据集的大小和质量。

原始数据中可能存在着大量不完整、不一致、甚至异常的数据。数据预处理用于处理缺失数据以及清除无意义的信息,是机器学习的首要步骤。许多影响模型预测行为的决策都是在数据预处理期间做出的。本实验首先考虑使用降维方法对数据进行处理,选择主成分分析法(principal components analysis,PCA)、核主成分分析法(kernel principal components analysis,KPCA)和局部线性嵌入法(locally linear embedding,LLE)。实验结果如表2所示,None代表不做预处理操作。表中m是5次MAE得分的平均值,是降到不同维数后的最优结果。考虑到元素W、N、Ti是14种元素中含量最少的3种,这些元素可能会对模型性能产生影响;因此,尝试去掉含量较少的元素后再进行评价。实验结果表明,去掉可能影响性能的元素的结果优于使用降维方法的结果。因此,本实验最终采用去掉N元素和W元素的方法进行数据预处理。数据预处理能够消除原始数据中的异常,让数据适应模型、匹配模型的需求。

表2 不同预处理方法对应的模型性能Table 2 Model performance corresponding to different preprocessing methods

基于少量数据所训练出的模型往往会产生不准确的结果。因此,针对仅有312个数据的屈服强度属性预测任务,本实验通过对比线性插值和球形插值选择模型采用的数据扩充算法。

球形插值为两点间形成弧线段,在弧线段上获取新数据点,是基于四元数的插值算法;而线性插值为两点间形成直线段,在直线段上获取新数据点。

不同插值个数对应的模型性能如表3所示,评价指标为5次MAE得分的平均值m。线性插值效果明显优于球形插值,表明球形插值不适用于该任务数据集。最终,采用插值个数为4的线性插值算法时,模型表现最优。原因是插值个数较少时,无法充分提取信息,覆盖范围不全;插值个数较多时,过于依靠假信息,对真信息的辨识度降低。

表3 不同插值个数对应的模型性能Table 3 Model performance corresponding to different interpolation numbers

使用FCNN构建模型时,尽管使用多个隐藏层能够提高模型学习能力,减小预测误差,但同时也会增加模型复杂性,使得模型参数量增大、模型训练时间增长,甚至出现过拟合现象。因此,深度网络通常需要根据样本数量等设置合适隐藏层数,通常从3层网络(1个隐藏层)开始进行对比实验,表4为不同全连接层数构成模型的性能比较。结果表明,应用10层全连接层时模型效果最优。

表4 不同全连接层数量对应的模型性能Table 4 Model performance corresponding to different number of the fully connected layers

2.3 模型性能测试

针对MatBench的matbench_steels任务,使用MODNet[6]、Automatminer[7]、RF-SCM/Magpie[14]、CrabNet[5]公开可用代码库进行屈服强度属性测试。RF-SCM/Magpie模型在随机森林(random forest,RF)中使用正弦库仑矩阵(sine Coulomb matrix,SCM)[15]和Magpie元素统计[16]。

图4展示了本文模型DAPNet及其他4种模型的预测结果分布。横坐标表示五折嵌套交叉验证的折数,纵坐标表示在每一折上进行预测的MAE值。由图4可知DAPNet在第1折上获得了与其他模型相近的精度,与RF-SCM/Magpie的预测结果几乎相同;DAPNet在第2、3、4折上均获得了最小MAE值,预测结果优于其他模型。整体来看,DAPNet效果略优于其他对比模型。通过模型的五次属性预测结果分布,可计算最终评价指标m和σ的值,如表5所示。

表5 不同模型性能比较Table 5 Performance comparison of different models

图4 五次属性预测结果分布Fig.4 Distribution of five property prediction results

由表5可见,本文方法DAPNet在评价指标m上明显优于其他模型,提高了屈服强度属性预测的性能。虽然DAPNet在评价指标σ上没有取得最优值,与Automatminer模型结果相近,优于CrabNet模型,表明其使用五折嵌套交叉验证进行评估时,预测结果较为稳定。

DAPNet的优势在于数据标准化提高了数据质量,数据扩充增加了数据集大小,从而显著提升整体性能,且深度全连接神经网络能够有效组合低级特征,形成更利于训练的高级特征。针对小样本任务,提升数据可用性起着至关重要的作用。此外,本文模型仅有13 305个参数,相比于复杂模型(如CrabNet有11 987 206个参数)小得多,且训练时间仅为2.5 h,极大节省了时间成本。

3 结束语

本文针对MatBench的matbench_steels任务,提出一种基于数据增广的小样本材料属性预测模型DAPNet。该模型能够很好地适用于拥有小样本数据集的屈服强度属性预测任务。通过去除影响模型性能的元素来提升数据质量,利用线性插值方法增加数据集大小,并使用全连接神经网络对屈服强度属性进行预测。根据上述实验结果和讨论,得出如下结论:1)数据质量是决定模型性能的关键因素,数据预处理工作是整个机器学习任务中的关键一环。2)在处理小数据集时,采用数据扩充与神经网络结合的方法优于自动机器学习方法。

尽管DAPNet在屈服强度属性预测任务上效果较优,但仍存在不足,可在以下方面继续进行完善:1)尝试其他小样本数据增广方法。未来工作中,可深入调研小样本数据增广方法,并比较不同方法性能,以此来探索能够使预测结果更加精确的最佳数据预处理算法。2)进一步考虑相关训练模型,改进模型性能。未来工作中,可使用其他神经网络代替全连接神经网络,比较不同网络间的性能,进一步提高模型精度。

猜你喜欢

插值神经网络样本
用样本估计总体复习点拨
神经网络抑制无线通信干扰探究
基于Sinc插值与相关谱的纵横波速度比扫描方法
推动医改的“直销样本”
随机微分方程的样本Lyapunov二次型估计
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
基于神经网络的拉矫机控制模型建立
村企共赢的样本
复数神经网络在基于WiFi的室内LBS应用