异常诊断 在电子制造业企业,由于器件尺寸比较小、生产周期比较短等特征,设备及产品的异常诊断能力变得非常重要,其能力的强弱甚至在某种程度上成为企业竞争力的一部分。如何快速、高效地识别这些异常,如何利用计算机系统辅助人类做好提前预警和分析,成为企业提效增质、提高良率不可或缺的一项重要竞争优势。 ![]() 今天我们以高科技电子行业的一个案例为例,来看看如何通过强大的神经网络建模 独特的可视化分析,帮助数据分析人员大幅减少异常芯片的识别与侦测时间,从而从根本上为企业提效增质。 本文作者衮雪,JMP特约专栏作者,数据分析爱好者。如果你也想成为JMP合作专栏作者,或者想投稿,欢迎在微信公众号对话框私信小编,或发送邮件至 jmpmarketing@sas.com 和小编聊聊哦~ 为什么科学的分析如此重要? 众所周知,质量对于公司来说意味着制造成本、出货周期和品牌价值。所以几乎每家企业都把质量看作重中之重。那么如何改善企业的基准质量水平则是一项艰巨的任务。 ![]() 以上是常见的电子类企业的典型生产步骤,其中: 1 晶圆生长 晶圆生长是指半导体集成电路制作所用的硅晶片,由于其形状为圆形,故称为晶圆;在硅晶片上可加工制作成各种电路元件结构,而成为有特定电性功能的集成电路产品。 2 封装工艺 封装工艺是将通过测试的晶圆按照产品类型及功能需求加工得到独立芯片的过程。 3 最终测试 最终测试是通过一系列的检测项目来侦测每颗独立芯片的好坏的过程。 我们重点看下这里的“最终测试”步骤,也即是检测整个晶圆上所有芯片质量的过程。 在最终测试阶段,传统方法采用的是人工识别,即通过个人判断将有问题的晶圆图一一记录下来,再做后续处理工作。然而实际工作中,人工识别常常会面临以下问题: 1 漏检图形 每个人在面临上百张晶圆检测图的时候,几乎不可能做到每张图一一过目,很可能由于疲劳等因素错过了一些重要的图形,而这些图形往往蕴藏着潜在的信息。 2 耗时过长 即使个人能够在力所能及的范围内,观察到一些晶圆检测图,但整个过程非常耗时,没有将人工的时间用在解决核心问题上。 3 标准不统一 对于没有出现过的图形,其判断标准会随着个人的标准不同有所差异,这样同样会造成潜在信息的丢失。 基于以上这些不可避免的因素,计算机高科技领域可视化分析技术就能够大显身手了。比如,我们把每颗独立芯片的检测结果按照它们在晶圆上面的位置一一对应,所得的检测结果输入到JMP软件,借助于JMP独特的可视化神器——图形生成器,就可以轻松生成以下的晶圆检测图,从而快速地识别出有问题的产品。 ![]() 其中,不同颜色代表着最终测试检测值的大小。红色最大,依次递减,蓝色最小。 从图上轻松看到,晶圆右下方蓝色部分的检测值偏低。这意味着什么呢?意味着在晶圆生长的时候这一区域有异常,需要尽快调查及解决。这样工程师就可以马上着手针对这类有问题的芯片进行快速跟进了。 那么,具体该如何开展实施呢?我们以一个案例来说明。 案例 背景 某电子企业的工程师在最终测试阶段收集到了1559个芯片的缺陷数据,想分析其中某一项缺陷的比率随着位置的变化是否呈现规律。
通过这种缺陷图形的寻找,最终为前道诸多工序建立另一种质量侦测手段或者指标,可以作为整体质量提升的突破。 ![]() 在数据表中,LocX和LocY列分别是行、列坐标值,数值类型为名义值。最后一列为缺陷率,即在过去一段时间内某一位置出现缺陷的比率。 为了更好地判断问题,项目团队最终选择了神经网络算法。原因有以下几点: 1 项目需要算法能够从原始数据中自动发现需要检测的特征。 2 神经网络的算法一般都有多个层次,每一个层次做一次变换,这样可以有多次机会抓取不同特征。 3 通常来说,用来做训练的数据量越多,可以更好地提高其准确性。 一图胜千言!接下来我们看看如何在JMP中一步步实施分析。 1 首先,将数据导入JMP,把收集到的位置缺陷率转换为数据值并通过图形生成器来呈现。 打开JMP菜单:分析(Analyze) -> 预测建模(Predictive modeling) -> 神经(Neural),把需要观测的缺陷率放在“Y,Response”,把Loc X和Loc Y放入“X,Factor”: ![]() 进入模型配置窗口,按照以下参数输入。本例从默认的神经网络模型开始,逐步增加更复杂的模型有两个隐藏层和其他的激活函数。最终选定以下配置(截图所示)。 在fitting option部分,告诉JMP重复多少次模型拟合算法。最终JMP会选择具有最佳验证统计量的迭代作为最终模型。本文最终采用10. ![]() 点击Model左边红色小箭头,选择保存公式(Save Formulas),主要是为了存储变换之后的数值以备用。 ![]() 这样经过行列转换后,得到以下新的数据表: ![]() 如果用图形来简单说明转换过程的话,就如下图所示: ![]() 2 接下来,应用JMP 独有的“图形生成器(Graph Builder)”开展分析。 这里我们将LocX放到横轴,LocY放到纵轴,Transform Value放到右上角的Color中,点击Graph Builder下面的红色小箭头,选择Local Data Filter: ![]() 在Local Data Filter下选择Label: ![]() 然后,再选择红色小箭头——“Animation”,得到以下动态图形: ![]() 这个动图主要展示了JMP在内部运算过程中是如何逐一扫描整个wafer,最终找到最优解的过程。其中H1_1是指第一个隐藏层的第一个节点,以此类推。 这就是在模型构建层面我们的思路和策略。那么,具体到实际项目的应用层面,应该怎么部署和分析呢?我们来继续探讨。 ![]() 按照上面JMP生成的模型,接下来我们就可以部署在应用层面。 在部署层面,实际上我们只需要建立一个ranking model,即排序模型。这个模型不需要保证每一个计算结果都非常精确,最重要的是能够在多个wafer map中抓到最显著的图形即可。由于数据量较大以及服务器是Linux系统(相对稳定),故而采用python程序从数据库中提取数据,根据以上神经网络方法把有问题的wafer map按照RSquare排序。 ![]() 之所以选择RSquare排序,是想按照模型的显著性来代表是否抓到了pattern。即模型越显著,代表着抓到pattern的可能性越大。关于Generalized R-Square如何计算(截图所示),可参考之前我们推送的文章“我的智造我做主-一个案例带你看明白神经网络如何助力企业提速增效”。 举例如下,这里有以下7类次品(从Defect A到Defect G),每一行代表wafer map上X,Y坐标,以及在相应坐标位置上不同次品类型分别累计(某一周)的缺陷率。 ![]() 按照上一节介绍的算法以及RSquare排序如下,这时我们发现Defect C和Defect A是所有类型的次品中值最高的(如果定义阈值为>0.7的话,当然阈值可以根据案例自己定义)。 ![]() 那么经过Graph Builder 生成的Defect C和Defect A次品图形确实非常值得研究,而值最低的Defect D,经过Graph Builder画出wafer map后图形确实不明显。 Defect C(RSquare值高)-右侧边缘图形: ![]() Defect A(RSsquare值高)-中心右上方图形: ![]() Defect D(RSsquare值低)-几乎看不出图形 ![]() 以下是系统架构示意图: ![]() 需要注意的是,人工根据样本数据,通过JMP计算,需要每个月为模型更新第一层和第二层layer中的节点数(比如对于新出现的pattern,当前配置是否可以识别到,需要考虑调整节点数等),以便使模型的计算更加有效。 通过这个方法,经实践证明,企业中每名数据分析人员平均每周减少60%的图形识别时间,而且异常图形平均侦测时间累计较以前缩短70%,为企业质量管控整体水平提升做出了巨大的贡献。 ![]() 思考:你的企业是否遇到同样问题? 通过上述实战案例我们可以看到,产品的良率侦测仅仅依靠人工不仅耗时耗力,还容易出现错误、漏检等情况,而重要的质量风险却往往隐藏在某些人工无法识别的地方。 这就好比一座冰山,人们往往关注露出水面部分的问题,但是水面以下的部分往往由于各种原因没有办法看到。 ![]() 借助于先进的计算机系统和技术,可以很好地解决问题:
事实上,不仅仅是在电子类企业,对于医疗、环保、生物保护等各个领域,如果能将图像识别与可视化技术广泛结合起来使用,必将为疾病的早期诊断与治疗、环境的异常侦测与保护、野生动物身份识别与保护等提供科学的技术支撑和推动作用。 推荐阅读 ![]() 我的智造我做主,一个案例带你看明白神经网络如何助力企业提速增效 ![]() 预测建模雾里看花,如何找到你的一些小欢喜? ![]() 神技能!如何用神经网络挑选一个好西瓜? ![]() 最后,微信又双叒叕地改版了!希望各位看完动动小手给我们点个【在看】哦!不然我们推送的内容也会排在后面,不能被第一时间看到了。 对了,你还可以将JMP“设为星标”,确保不会错过推送~ ![]() JMP官方微信公众号 敏捷分析 成就无限 ![]() 点击“ |
|