首页/文章/ 详情

十二年结出的果子:工业大数据分析案例(一)

1年前浏览572

    从2002年到2013年,我花了12年从事了一项数据分析工作。期间经历了外人难以体会的辛酸苦辣和困难。现在写出来供大家分享,希望能对我国的工业大数据分析工作者有所帮助。由于文章太长,我也只能用碎片化时间来写,只能分成多次连载。

 

1、读书时的前奏

从事工业过程数据分析的过程,要从1990年开始。那年我从浙大数学系毕业后,进入化工仿真教研室。从师胡上序先生,做了几件事与工业数据分析相关的工作。如研究化学物质的的组分和质量指标之间的定量关系、优化磺化过程的工艺参数等。

 

从学术意义上说,这些研究或许也可以算“成功”了:找到了正确评级或分类算法。但对算法是不是靠谱却吃不准:对已有样本分类准确,其他的样本也能正确吗?

 

当时,人工神经元算法非常流行,我自然也接触到了。但我内心对这种方法很抵触:S型函数的“逼近能力”是很多津津乐道的说法。但我知道:仅仅有逼近能力是不够的。数学家在数百年前就证明了多项式可以逼近任何连续函数。

但有逼近能力,并不等于能够通过数据方法找到啊——除非这些数据是非常密集的。

 

在我的硕士论文中,就体现了这种忧虑。我在论文中研究:需要多少数据,才能得到真实的结果。当时我还意识到:工业数据的噪声太大了。模型的误差几乎都来自于数据的噪声。于是,我想出了一种用平均值估算模型真实精度的方法。

 

这些研究的学术水平一般、不值一提。并且也难以实用:我的估计方法实在太保守,实际上很难满足。但当时的思维方式却伴随我来到宝钢:对模型可靠性的关注、对数据量和数据质量的关注、用平均值的办法估算模型实际精度、模型(分类)精度高不等于正确。

 

2、首战告负

 

1997年,我博士毕业后来到宝钢。那时,技术中心自动化所刚刚成立,我成了老领导任德祥先生之外技术自动化所的第一个员工。我来之前,任德祥先生一个人背着书包到处调研,提出了8个项目。

 

我初出茅庐、企业的自动化所又刚刚成立,我们真的不知道如何在企业搞自动化的科研。当时,技术中心主任张清朗先生亲自召开了几次启动会,会上有些不同的声音。时任宝钢常务副总的徐乐江先生指示:“要认真论证,但不可议而不决”。于是,我负责的“连铸过程优化控制”项目就启动了。

 

这个项目是在探索中不断调整目标的,也包括很多子目标。我当时最想做的一个子目标是:把生产数据收集起来,建立成分、工艺与连铸坯质量之间的函数,去指导生产。

 

但是,从应用的角度讲,这个子目标实际上是失败了。对于这个子项目的失败,我进行了一些反思:

 

A、业务目标问题。

我当时的想法是,通过分析建模,弄清楚工艺参数和质量之间的关系,从而优化工艺参数。逻辑上看似有道理,其实可能根本走不通。以拉速为例:拉速决定产量、保证物流顺畅、影响产品质量。对很多情况下,质量不是制约拉速的主要瓶颈。这时,即便得到拉速与某个质量指标的关系,也不会作为控制手段。用句简单的话就是:知道了,又能如何?

 

这件事的事启示是:做一件事之前,应该首先去研究如何应用研究成果。

 

这里可能要顺便说明一下:我们没有采用神经元、决策树、模式聚类等分析算法。一个重要的原因是:这些方法得到的结果,可能没办法用于指导生产。比如,如果分析出钢种是第一大影响要素,那又有什么用呢?还有些其他方面的原因,比如结果的可靠性难保证。这个道理,后面会统一去说。

 

B、高精度预报的可行性问题。

 

问题太复杂、数据质量差,导致很难预报精确。复杂性表现在系统性的干扰太多,需要分组研究。假如我们要研究拉速和某表面质量的关系,就要知道:钢种不同,冷却模式等控制机制就不一样,拉速和表面质量的函数关系就不一样。所以,尽量分钢种建模。但糟糕的是:类似钢种这样适合分组做研究的变量很多。如宽度、检测人员、精整方式等等。这样的变量一多,每个组内的样本数目就大大降低了,分析效果就不合适。数据质量差也表现在很多地方。比如某些人工检测的缺陷,不同班组的差别有好几倍。还有一种误差是数据对应导致的:某个质量缺陷和当时的生产参数对应不起来;或者某个工艺参数只有某段时间的平均值。

 

这件事的事启示是:如果数据质量不高,是无法得到好的分析结果的;当问题过于复杂时,数据量再多都不够用。

 

C、有益的尝试

当时也进行了一些有益的尝试,并取得了一定的分析效果。比如,我们发明了一种图像处理技术,可以把人工定级的内部质量的指标转化成客观的量化指标。在此基础上建模,精度显著提高。另外,我们也试图做过提高数据对应精度的工作,也看到了一些希望。但可惜的是项目完成时间到了以后,没有再进一步研究下去。

 

这件事的事启示是:要在提高数据质量上花功夫。

 

3、十二年长征的第一步

 

连铸项目的有些子项目虽然失败了,但也有几个取得了成功。总体上还是满意的。项目结束后,我就开始策划另外的。我原本的意思是把连铸继续做下去。这时,我在宝钢的一位师傅王洪水先生对我说:“从数据条件和价值上看,热轧的工作比连铸重要得多。”现在看来,王先生的观点是非常有道理:由于前辈们奠定了很好的基础,我建立模型用了数以百万计的数据。这种条件在世界范围内很少有几家会有。我们知道:国外50多年研究没有像样的进展。而这些竞争对手,几乎都不具备这样的条件。我们既然具备了前人和别人不具备的条件,为什么不去试一试呢?后来我总结创新的经验说:创新要成功,最好有天时、地利与人和的条件。其中,天时、地利,就是要具备前人和别人没有的条件;在这个基础上进行技术创新、发挥自己的专业特长和协同精神,才是人和之所在。

 

谈到热轧,必须讲一个“插曲”。 在我做连铸项目的同时,我的同事也在热轧工序做类似的事情。即数据挖掘在热轧产品质量管理中的应用。这个项目先后有过两位项目负责人,两位都是博士。一位是早期留洋博士,一位后来成为英国某大学的教授,学问和业务水平都是非常高的。他们辛辛苦苦做了3年,我也听他们吐了一些苦水。比如:模型精度达到60%很容易,但达到65%可能就非常难了,但外人很难体会。这个项目的结果,和我前面讲到的子项目有点类似。项目结束后,负责人就去了国外。老领导也觉得不应该让热轧的工作半途而废,也鼓励我接着做热轧。

 

我做这个项目时,把题目改成“热轧带钢力学性能预报模型”。也就是研究热轧带钢成分、工艺和力学性能之间的关系。这样,项目的研究内容就明确了很多。前面已经提到:即便得到了研究成果,也可能难以应用。

 

可能也会没有用处。所以,进入研究之前,必须想清楚模型做什么用?当时公司领导对这个项目感兴趣的原因是:想用模型预报结果代替实际的性能取样。每次取样的成本平均在100多元。钱不多,架不住数量大。仅仅在热轧环节,我就拿到了近百万条数据,价值就过亿了。忙的时候做不过来。另外,取样常常要等钢卷冷下来,会耽误12天的发货。

 

在我看来,最大的意义就是钢铁产品的计算机辅助设计。我们知道:机械产品有计算机辅助设计、化工产品也有计算机辅助设计。但在钢铁行业,计算机一般只用来进行一些中间过程(如相变温度)的计算,产品开发最终还得靠实验和试验。试验方法的最大问题可能是大生产试验的成本高:不仅影响正常生产,还可能造成大的浪费:一炉钢300吨,一旦失败的损失可能要上百万。由于这个原因,一旦试验成功,人们往往尽量少去改动。这样一来,试验出来的钢种并不优化,有些每吨钢的成本多出上千元。所以,如果能用数字仿真代替试验是再好不过的。

 

其实,如果有了好的模型,能做的事简直太多了。如成分和工艺的优化、性能的动态控制等等。这样一来,不仅次品率大大降低,还可以用来减少合金、库存、工业成本,加快交货期。总之,好处是太多了。

 

好的想法不会现在才想到。其实,早在上个世纪60年代,英国人就提出要做这件事。国内外许多知名学术团队都做过这件事,国外有几家著名跨国企业也在推销这类产品。国内的863973、自然科学基金支持过多次,甚至还有专门针对这个研究的学术会议。其实,宝钢其他部门有人过去也曾研究过,只是项目中途终止了。

 

项目意义很大。但不幸的是:实际应用效果并不显著。由此可见,这个问题很难。这也是公司希望我们自己来研究的原因。

 

对研发人员来说,最困惑的是:你知道它难,却不知道它难在什么地方。

 

项目开题之前,有人建议我去拜访那位主动将项目终止的公司同事。这位同事是我浙大的学长,为人非常坦诚、非常实在。他给我的建议是:这是一个泥潭。最好放弃这个项目,不要去碰它。他说:能想的办法我都试过了,但精度就是提不上去。

 

前面已经提到,模型的极限精度本质是原始数据质量决定的。模型精度不高,可能是必须接受的现实。我们应该考虑的是:在模型精度不高的前提下,如何让模型发挥作用?

 

于是,我对这位学长说:我们不要被“用模型预报结果代替取样”的思维方式限制住。能否换一种思路:“用模型预报结果减少取样”。比如说:模型预报非常好的钢卷少取样,模型预报可能出问题的钢卷多取样。由于多数钢卷的性能是好的,总体上不就可以减少取样了吗?学长听到我的这个说法,当即一拍大腿:这个思路太好了!你去做吧!

 

由此可见:如何找到应用模型的方式,是一个需要仔细研究的问题。应用方式策划,就是设法发挥技术的长处,而避免技术的短处,让技术有更好的性价比。策划好的应用方式,好比商业模式的策划。对于创新的成败至关重要。

 

 我们知道,建模的人都关注模型的精度、把提高模型精度当成追求的目标。但是,很少有人去想:应该如何理解精度?后来我意识到:对精度的理解,是搞好模型的一把钥匙。

 

其实,“精度”的含义是非常丰富的:是用均方差衡量精度,还是用最大误差计算精度?事实上,均方差衡量精度往往是算法的要求:比如可以应用最小二乘法。但在实际应用过程中,人们关心的则是最大误差最小化:因为人们最终关心的是这个试样到底合格不合格。

 

然而,现实中“最大误差最小化”很难找到合适的建模算法。为什么呢?因为最大误差往往是数据或者过程异常导致的——更糟糕的是:数据和过程异常往往是不可见的——即便知道发生了异常,也不知道异常的程度如何。比如,我们曾经研究一个钢种,92%的大误差样本都是混钢水导致的:这时不能准确确定钢水的成分!所以,“最大误差最小化”其实是找不到合适的算法的。

 

后来我又进一步意识到:“误差”这个概念本身,非常值得研究。这个问题与模型的具体用途有关:

1、用模型预报结果代替取样时,关键是性能超标的特殊情况能够预报准。

2、用模型进行产品优化时,希望平均误差最小。

3、用模型进行性能动态控制时,只需要关注控制变量对性能的影响。

4、用钢种进行新产品设计时,我们更希望模型能在更大的范围内有效——至少超出建立模型所用样本覆盖的范围。

5、........

 

由此可见,误差不仅有“大小”的属性,还有“适用范围”的属性。除此之外,要投入到实际的应用时,还要考虑误差的“可靠性”:你要证明,为什么你说的误差是合理的?我们知道:如果模型不可靠,就可能用错误的模型预报结果指导生产,这就会导致很大的损失。

 

如何才能朝着这样的目标迈进呢?我们意识到一个问题:目标和功能不同,建模的方法就不同。这就好比,去不同的地方,要走不同的路。换句话说:我们或许找不到特别好的方法,同时满足这些 不同的目标需求。其中,性能预报模型的建模方法,主要两种类别:一类是利用数据进行统计建模,一类是根据冶金机理进行建模。比如,模型计算代替取样时,或许可以通过统计建模;但用模型进行新钢种设计时,简单的统计建模就走不通了:既然是新钢种,哪来的样本数据呢?

 

我们还意识到:模型的“可靠性”是个非常重要的概念。但是,我们应该如何理解“可靠性”呢?这个概念,不能停留在口语化的阶段,需要用更加科学的语言加以描述:否则怎么能转化成算法呢?

 

 要知后事如何,且听下回分解。


来源:蝈蝈创新随笔
化学冶金物流控制试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-07-21
最近编辑:1年前
蝈蝈创新随笔
只是把思考的日志搬运,不当之处...
获赞 92粉丝 12文章 1159课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈