张 明,付冬梅,张达威,马菱薇,邵立珍
1) 北京科技大学顺德研究生院,佛山 528300 2) 北京科技大学自动化学院,北京 100083 3) 北京市工业波谱成像工程技术研究中心,北京 100083 4) 北京科技大学新材料技术研究院,北京 100083 5) 国家材料腐蚀与防护科学数据中心,北京 100083
碳钢的大气腐蚀是一种电解质膜下的电化学反应[1].由于腐蚀现象的广泛存在,并且近年来对腐蚀过程细致深入的研究,促使人们对腐蚀模型不断提出了更高的精度要求,还希望通过模型可以对腐蚀现象做出机理解释.相对湿度、温度以及降雨与液膜厚度的变化相关,在大气腐蚀过程中起到重要作用[2–4],常见的硫化物、氯化物、臭氧、固体颗粒物等污染性杂质对大气腐蚀也有促进作用[5–7].影响腐蚀过程的环境变量众多,并且不同的环境变量之间也会产生相互作用,使得金属的大气腐蚀更加复杂[8].
传统的腐蚀挂片法通过把参数已知的金属试片放入特定环境下,计算暴露期间内试样的质量变化来计算腐蚀速率.ISO 9226—2012标准[9]给出了测定标准试样在大气环境下腐蚀速率的方法.ISO 9223—2012标准[10]则以相对湿度(Relative humidity, RH)、温度(Temperature, T)、SO2沉积速率、Cl–沉积速率的年平均值量化碳钢等四种材料在第一年的腐蚀速率,并据此推测环境的腐蚀性等级.基于传统挂片法,支元杰等[11]利用失重法测得Q235碳钢在10个试验地点的腐蚀速率,结合随机森林和斯皮尔曼相关分析得到影响碳钢大气腐蚀的重要环境变量,并以重要环境变量作为输入变量构建支持向量回归模型;Yan等[12]采用统计方法和机器学习算法分析了合金元素和海洋大气环境变量对低合金钢腐蚀行为的影响,建立了基于随机森林算法的腐蚀速率预测模型.然而,腐蚀挂片法试验周期漫长,所获试验数据量少,无法用以推测碳钢的实时腐蚀速率.
大气腐蚀监测仪(Atmospheric corrosion monitor,ACM)[13]通过监测腐蚀电偶电流来定量评估材料的实时腐蚀速率.以Fe/Cu电偶组成的ACM传感器为例,当ACM传感器表面形成一层液膜时,Fe电偶和Cu电偶之间就会产生腐蚀电偶电流,腐蚀电偶电流与腐蚀速率具有很强的正相关关系,可以定量评估腐蚀环境以及材料的腐蚀状态[14–15].基于ACM传感器获取的腐蚀电偶电流数据以及实时环境数据,石雅楠等[16]利用皮尔逊相关分析法确定了温度、相对湿度和污染物浓度为影响腐蚀电偶电流的主要环境变量,提出了用以表征大气环境腐蚀强度的腐蚀指数并建立了腐蚀电偶电流和腐蚀指数的隐马尔可夫模型;裴梓博等[17]利用统计学的方法研究了相对湿度、温度和降雨等环境变量对碳钢早期大气腐蚀的影响,确定了降雨是影响早期大气腐蚀的最重要变量.上述方法挖掘出了腐蚀电偶电流与环境变量的关系,但不足之处在于:(1)相关性分析只能得到腐蚀电偶电流和单一环境变量的二元关系,没有考虑其他环境变量的影响;(2)不能将环境变量对腐蚀电偶电流的影响可视化.此外,虽然机器学习模型广泛应用于预测特定环境下的腐蚀速率,但是此类黑箱模型透明性低、模型可解释性差[18],阻碍了此类方法在材料腐蚀领域的应用.因此,有必要在机器学习模型的基础上进一步挖掘材料腐蚀现象中的因果关系,增加模型在实际应用中的可靠性.
为了解决材料腐蚀领域中机器学习算法的“黑箱”问题,本文以北京、杭州、武汉、青岛、三亚的碳钢ACM腐蚀数据为例,利用多模型集成重要 变 量 选 择 算 法 (Multi-model ensemble important variable selection, MEIVS)量化不同地区碳钢早期大气腐蚀过程中环境变量的重要性,并绘制了各个环境变量的局部依赖曲线(Partial-dependence plot, PDP),将不同环境变量对腐蚀电偶电流的影响可视化.
本试验陆续起始于2018年7月底,结束于2018年9月初,试验地点为位于中国北京、杭州、武汉、青岛、三亚的五个野外试验站点,实验样品为 45号钢,质量分数为 C(0.47%)、Mn(0.59%)、Si(0.18%)、 S(0.010%)、 P(0.014%)、 Ni(0.015%)、Cr(0.016%)、Cu(<0.01%)和 Fe(剩余部分).野外试验站点的地理和气候信息如表1所示.在本研究中,使用大气腐蚀监测仪来量化大气环境中碳钢的腐蚀速率.ACM由7对Fe–Cu电偶交替排列组成,每片碳钢与铜的外部裸露面积为 21 mm × 1 mm,实验时均安装在离地面1 m以上并朝南45°外露.更多关于ACM的介绍请参考文献[19].实验期间通过ACM传感器获取采集频率为1 min–1的电偶电流数据,同时传感器记录同一地点的温度和相对湿度,降雨、O3、SO2、NO2、PM2.5、PM10等小时级环境数据从中国气象局获得.将传感器数据与环境数据统一到最低采样频率,即每小时1次.短期的大气腐蚀没有考虑氯化物的影响,因为氯化物的影响是长期的、累积性的,根据ISO 9225标准,氯化物的沉积速率应以干板法每月测定一次.夏季频繁的降雨也大大降低了氯化物的沉积速率,减弱了氯化物对腐蚀的影响[20].
表1 大气腐蚀试验场地理和气候信息Table 1 Geographic and climatic information of the atmospheric corrosion test sites
MEIVS算法[21]借鉴于排列的思想,以打乱输入变量在测试集上的序列后模型预测误差的增加来衡量变量的重要性(图1).基于排序的变量重要性度量方法是Breiman通过随机森林算法[22]引入的,Fisher等[23]将该算法拓展到任意模型.其思路是模型会更依赖于重要的输入变量做预测,如果打乱某个输入变量的序列会大幅度增加模型的预测误差,这个输入变量则被认为是重要的;反之,如果打乱某个输入变量的序列几乎不影响的预测误差,这个输入变量则被认为是不重要的.不同的重要变量提取方法得到的变量重要性得分(Variable importance score, VIS)存在差异,因为每种方法对映射输入变量和输出变量的底层回归函数有不同的假设.为保证结果的稳定性,MEIVS算法组合了随机森林 (Random forest, RF)、梯度提升回归树 (Gradient boosted regression trees, GBRT)、 BP 神经网络(Back-propagation neural network, BPNN)三种具有代表性的机器学习算法,使得该算法不依赖于单一的机器学习.其中RF和GBRT都属于决策树的集成学习算法,但RF采用Bagging的计算策略,GBRT采用Boosting的计算策略;BPNN采用双隐层结构,激活函数采用双曲正切函数.本文的损失函数采用的是均方根误差(Root mean squared error, RMSE):
式中,N为样本个数,yˆi为第i个样本的预测值,yi为第i个样本的实际值.以样本的80%作为训练集,20%作为测试集,使用Z-Score标准化方法对输入变量进行预处理,经过处理的数据的均值为0,标准差为1.为便于分析,对腐蚀电偶电流数据做对数化处理.记m个环境变量的集合为{S1,···,Sm},最终得到n个重要环境变量的集合{X1,···,Xn},具体算法请参考文献[21].给出算法流程图如图1.
图1 MEIVS 算法流程图.(a) MEIVS 算法主流程; (b) 排列算法流程Fig.1 Flowchart of the multimodel ensemble important variable selection (MEIVS) algorithm: (a) main process steps of the MEIVS algorithm;(b) process steps of the permutation algorithm
设f()表示输入变量与输出变量的映射关系,在样本上对于第j(j≤m)个输入变量的Ceterisparibus函数h′(z)为:
式中,h′(z)是描述输出变量的预测值与第j个输入变量xj的依赖关系的函数,代表其他输入变量取样本xnew的实际值、第j个输入变量任取z值时构造的样本,z可在变量xj的整个数值范围内取值.考虑更广泛的情况,本文随机挑选100个样本并记为xi(1≤i≤100),计算 100 个样本的 Ceterisparibus函数,取其均值得到局部依赖函数gj(z),通过该函数所绘制的曲线为PDP[24–25].
本文以PDP描述环境变量的变化对腐蚀电偶电流的平均影响,PDP由三个模型的预测均值产生.PDP的变化越剧烈,表示环境变量对腐蚀电偶电流产生的影响越大.
本文以Z-Score标准化后的相对湿度、温度、降雨、O3浓度、SO2浓度、NO2浓度、PM2.5浓度、PM10浓度数据作为输入变量,对数腐蚀电偶电流为输出变量,分别对五个地区的大气腐蚀数据建立RF、GBRT、BPNN模型.本文以80%的数据作为训练集,20%的数据作为测试集,为每个地区的模型进行了调参.对于RF,采用100棵CART树作为基学习器,超参数为用于CART树的变量个数;对于GBRT,超参数为提升迭代次数、最大树深度、学习速率、最小终端节点大小;对于BPNN,采用双隐层结构,激活函数为tanh函数,学习速率设置为0.0001,最大迭代次数为10000,超参数为隐层神经元个数.采用网格搜索法和十折交叉验证法对3个模型进行调优,其他未调参数采用默认值.模型预测结果如表2所示.评价指标采用可决系数 (Coefficient of determination,R2)和 RMSE.
表2 三种模型在不同地区的拟合表现Table 2 Fitting performance of the three models in different regions
式中,¯为所有样本实际值的均值.
MEIVS算法得到的环境变量的重要性得分如图2.条形图中横轴表示影响大气腐蚀的环境变量,纵轴表示每个环境变量的重要性总得分,每个环境变量在各模型上的得分以不同的颜色区分,并且根据总得分降序排列.在本文中,取0.3作为判定环境变量是否重要的阈值,在该阈值附近,环境变量得分变化较大,重要环境变量的得分是不重要环境变量得分的两倍以上,有明显的分界.如北京、杭州、武汉、三亚地区,以该阈值划分的重要变量得分是不重要变量得分的三倍以上;如青岛地区,以该阈值划分的重要变量得分是不重要变量得分的2.3倍.
图2 各地区环境变量重要性得分.(a) 北京; (b) 杭州; (c) 武汉; (d) 青岛; (e) 三亚Fig.2 Importance score of the environmental variables in each region: (a) Beijing; (b) Hangzhou; (c) Wuhan; (d) Qingdao; (e) Sanya
8 PDP of RH with rainPDP of RH without rain VIS=1.281
结果显示,虽然在之前的研究中,相对湿度、温度、降雨被认为是影响早期大气腐蚀的重要变量[17,20],但是在具体的情况下,重要变量的选择还应结合当地的气候条件进行考虑.对于杭州、北京、武汉、青岛四个地区,温度、相对湿度和降雨的重要性明显高于其他环境变量.对于三亚地区,除所讨论的相对湿度、温度、降雨外,O3的重要性较高.具体将在3.2节讨论.
此外,为了与上述方法作对比,表3列举了皮尔 逊 相 关 性 分 析 (Pearson's correlation coefficient,PCC)、斯皮尔曼相关性分析(Spearman's correlation coefficient, SCC)的相关性分析结果.PCC 和 SCC具体算法见文献[11,16].
表3 不同地区 PCC 和 SCC 分析结果Table 3 Pearson’s and Spearman’s correlation coefficient results in different regions
在多数情况下,通过Pearson和Spearman相关分析得到的标准化腐蚀电偶电流与污染物浓度成负相关关系,与先验腐蚀知识相违背.可能的原因是,Pearson和Spearman相关分析用来反映两个变量线性相关程度,无法较好地表现变量间的非线性关系.此外,影响大气腐蚀的不同的变量之间也会产生相互作用,但是大多数统计相关系数法需要在其他变量保持不变的情况下才能准确衡量两个变量的相关性,不适用于此类耦合数据分析[6],基于模型的MEIVS算法可以有效避免此类问题.
3.2.1 温度、相对湿度及降雨对大气腐蚀的影响
五个地区降雨和未降雨状态下相对湿度的PDP如图3,其中实线表示降雨状态下相对湿度的PDP,虚线表示未降雨状态下相对湿度的PDP.由于降雨往往伴随着较高的相对湿度,因此实线从降雨状态下相对湿度的最低值处开始绘制.
图3 各地区相对湿度的局部依赖图.(a)北京;(b)杭州;(c)武汉;(d)青岛;(e)三亚Fig.3 PDP of the relative humidity in each region: (a) Beijing; (b) Hangzhou; (c) Wuhan; (d) Qingdao; (e) Sanya
由图3可知,随着相对湿度增大,对数腐蚀电偶电流增大.电解质膜在大气腐蚀起到重要的影响作用[26–27].一般来说,相对湿度越大,碳钢表面越容易形成薄电解质膜,腐蚀速率也相应增加.当相对湿度太低时,碳钢表面难以形成完整的薄电解质膜,阻碍腐蚀的发生.从相对湿度的PDP变化幅度来看,相对湿度对腐蚀电偶电流的影响并非是一成不变的,在相对湿度较低的区域,相对湿度的变化对腐蚀电偶电流的影响较小;在相对湿度较高的区域,相对湿度的变化对腐蚀电偶电流的影响较大.由于各地区气候条件不一致,很难划分一个统一的变化区间.从总体上看,在临界相对湿度(60%)下,腐蚀电偶电流处于较低水平,相对湿度的增加几乎不会引起腐蚀电偶电流的增加.
五个地区温度的PDP如图4所示.
首先,PDP表明,在杭州、武汉、青岛、三亚地区,腐蚀电偶电流会随着温度的升高而降低,原因是温度的升高加速了金属表面电解质膜的蒸发,从而延缓腐蚀速率.然而在北京地区未发生降雨情况下,腐蚀电偶电流会随着温度的升高而增加,这可能是由北京地区普遍较低的相对湿度导致的.在未发生降雨情况下,北京地区的平均相对湿度为58.82%,远低于杭州(70.24%)、武汉(70.64%)、青岛(76.42%)、三亚(82.15%)地区.北京地区夏季更加干燥,金属表面较难形成完整的电解质膜,此时温度的升高对电解质膜的蒸发作用不明显,反而由于温度本身的升高,促进材料与环境的腐蚀电化学反应过程,使得腐蚀速率有上升的趋势.随着温度的降低,相对湿度增加,促使ACM传感器表面凝结更厚、更连续的薄电解质膜,从而引发钢与铜电极之间的电偶腐蚀[28–29].
降雨的重要性体现在降雨状态下的PDP高于未降雨状态下的PDP.一方面,降雨给金属表面提供了充足的电解质膜,从而促进金属的腐蚀;另一方面,大雨的冲洗效应会冲刷掉金属表面沉积的氯化物等污染物,从而减缓腐蚀[3,6,30–31].在大气腐蚀初期,腐蚀产物和沉积的污染物较少,因此降雨的冲刷作用较弱,对腐蚀的促进作用明显.
3.2.2 温度、相对湿度及降雨的相互影响作用
在腐蚀过程中,温度和相对湿度存在着较强的负相关关系[17].在大气环境中绝对湿度不变的情况下,温度可以改变饱和水汽压,从而影响相对湿度.即,温度升高导致相对湿度降低,温度降低导致相对湿度升高.此外,降雨也会显著增加相对湿度[32].图5展示了三种模型在污染物浓度处于试验期间的均值条件下温度、相对湿度及降雨对于对数腐蚀电偶电流的预测均值.在笛卡尔坐标系中,X轴、Y轴分别代表温度与相对湿度,Z轴代表3.1中三个模型对于对数腐蚀电偶电流的预测均值.为了区别降雨的影响,分别绘制了降雨状态下的回归曲面(上方)和未降雨状态下的回归曲面(下方).X–Y平面中,红色样本点代表降雨状态下的真实温湿度样本数据,蓝色样本点代表未降雨状态下的真实温湿度样本数据,样本数据分布的边界以样本相应颜色表示.
图5 各地区特定环境下温度、相对湿度及降雨对对数腐蚀电偶电流的影响.(a)北京;(b)杭州;(c)武汉;(d)青岛;(e)三亚Fig.5 Influence of temperature, relative humidity, and rainfall on the logarithmic corrosion galvanic current in a specific environment of each region: (a)Beijing; (b) Hangzhou; (c) Wuhan; (d) Qingdao; (e) Sanya
大气环境中下,温度、相对湿度和降雨持续动态变化,部分变量存在耦合作用.图5中,X–Y平面中温度和相对湿度呈带状分布,具有明显的负相关性,相对湿度随着温度的升高而降低,随着温度的降低而升高,并且不太可能出现高温–高湿、低温–低湿的情况.降雨会促使相对湿度增加,在降雨的情况下相对湿度普遍较高.部分降雨时刻对应的相对湿度较低,但是此类情况的样本更稀疏,右下方区域样本边界为窄长尖形表明出现个别离群点.除北京地区未降雨情况外,对数腐蚀电偶电流在相对湿度最高、温度最低处到达最大值,在相对湿度最低、温度最高处到达最小值.北京地区未降雨状态下,对数腐蚀电偶电流在相对湿度最高、温度最高处到达最大值.此外,降雨状态下的回归曲面均高于未降雨状态下的回归曲面,说明降雨促进了腐蚀.
3.2.3 污染物浓度对大气腐蚀的影响
图6展示了各污染物浓度的PDP.如图所示,除三亚地区的O3外,污染物对腐蚀速率的影响非常微弱,直观表现为各污染物的PDP趋于水平,这可能与夏季较低的污染物浓度有关.三亚地区O3的影响要高于其他污染物变量,随着O3浓度的增加,对数腐蚀电偶电流增加的趋势较明显,并且3.1节中三亚地区O3较高的重要性得分也支持了这一结论.可能的原因是三亚地区更强的紫外线加剧了O3氧化SO2和NO2并生成硫酸盐和硝酸盐,从而加速腐蚀[33].虽然之前的研究表明SO2但在大气腐蚀中的影响作用较强[16],但是由于试验期间五个试验站点大气环境中的SO2浓度很低,因此可以认为SO2在本研究中没有发挥重要作用.
图6 各地区污染物的局部依赖图.(a)北京;(b)杭州;(c)武汉;(d)青岛;(e)三亚Fig.6 PDP of pollutants in each region: (a) Beijing; (b) Hangzhou; (c) Wuhan; (d) Qingdao; (e) Sanya
结合MEIVS算法以及各环境变量的PDP,不但可以提取影响大气腐蚀的重要变量,还可以形象地展示变量如何对腐蚀速率产生影响.与常见的重要变量提取方法相比,其优势在于:①MEIVS算法得到的结果更符合碳钢早期大气腐蚀的基本规律;②PDP考虑了大样本范围内自变量对因变量的平均影响,可以更形象地刻画变量间的相关关系.
本文基于中国5个试验站点45号钢的腐蚀数据,构建碳钢早期大气腐蚀的综合智能模型,提取了影响碳钢早期大气腐蚀的重要环境变量,并探讨了环境变量对大气腐蚀的影响机制.本研究中获得的发现总结如下.
(1) 经MEIVS法确定,影响45号钢早期大气腐蚀的重要环境变量因地区而异,包括:
杭州:相对湿度、降雨、温度;
武汉:相对湿度、温度、降雨;
青岛:温度、降雨、相对湿度;
三亚:相对湿度、降雨、温度、臭氧浓度;
北京:相对湿度、降雨、温度.
(2) PDP表明,在大气腐蚀初期,45号碳钢的腐蚀速率与温度呈负相关、与相对湿度呈正相关关系.北京地区由于相对湿度较低,未降雨情况下,腐蚀速率与温度呈正相关关系.
(3) 仿真结果证明,PDP与MEIVS算法的结论具有很好的一致性.重要变量对应的PDP的变化幅度大,不重要变量对应的PDP趋于平稳.