Python实现基于RBF神经网络的半导体刻蚀机数据分析

简介: Python实现基于RBF神经网络的半导体刻蚀机数据分析

说明:这是一个机器学习实战项目(附带数据+代码+文档),如需数据+代码+文档可以直接到文章最后获取。

image.png

image.png

1. 项目背景

对半导体刻蚀机进行故障诊断,首先需要采集获取半导体刻蚀机刻蚀过程的数据,并对数据进行分析和处理工作。本篇文章的半导体刻蚀机原始数据来自于LAM9600等离子刻蚀机加工晶元时的运行状态数据。本主要介绍半导体刻蚀机刻蚀过程数据前期的预处理工作,主要包括如下内容:半导体刻蚀机数据的分析、半导体刻蚀机故障数据的表现特征以及异常数据的提取,然后对半导体刻蚀机故障数据的提取和数据整合。通过数据预处理,得到了维数统一的故障数据集,为后面的分类设计和测试数据集的实验验证奠定基础。

半导体制造过程的晶圆深度特征表示是晶圆数据异常检测的前提和基础。研究怎样利用深度学习理论设计深度神经网络架构,从非标记的原始晶圆数据中,非监督自主学习能表征健康状态特征,然后通过健康特征建立基线模型,对故障状态的数据集进行故障识别。

2. 数据收集

数据集如下:

训练数据集:etch_train.csv

测试数据集:etch_test.csv

数据字段包括:Run IDTime

在实际应用中,根据自己的数据进行替换即可。

特征数据:除此数据项TCP Rfl Pwr之外的数据

标签数据:TCP Rfl Pwr

3. 数据预处理

1)半导体刻蚀机故障分析

半导体刻蚀机作为半导体制造中重要基础设备之一其工作性能和制造的加工质量和生产效率有直接的影响。当半导体刻蚀机中有故障时,相关技术人员应对故障数据发生的设备点进行及时发现并正确的处理,以此来保证刻蚀设备运行的安全性,同时降低由于故障原因对刻蚀设备运行造成的影响。

本文为了研究刻蚀过程数据驱动的异常检测方法,在实验性地刻蚀晶圆的过程中,引入了多种不同的故障,包括气体流量、卡盘压力等的人为改变等,一共 20 类。也就是说这20种不同的物理量都有可能引发刻蚀设备异常,而本次故障类型认定20种数据变化都会引起最终整条数据的故障。本次收集的数据中包含 19 个采自传感器的变量,1 个时间变量,2 个流程性变量,共 22 个变量。每个变量为一列,构成了训练与测试数据。每个变量的具体名称及其对应的含义如下表所示。

数据表头描述

序号

列名

数据含义

1

Run ID

晶元流水号

2

Time

时间

3

Step Number

制造工艺步骤

4

BCl3 Flow

过程物理量

5

Cl2 Flow

6

RF Btm Pwr

7

RF Btm Rfl Pwr

8

Endpt A

9

He Press

10

Pressure

11

RF Tuner

12

RF Load

13

RF Phase Err

14

RF Pwr

15

RF Impedance

16

TCP Tuner

17

TCP Phase Err

18

TCP Impedance

19

TCP Top Pwr

20

TCP Rfl Pwr

21

TCP Load

22

Vat Valve

 

2)半导体刻蚀机数据分析

本文中的半导体刻蚀机原始数据来源于LAM 9600等离子刻蚀机运行状态的部分数据改编。 

提供的采集数据以CSV文件的形式进行存放,并且以每个晶元为单位将刻蚀设备生产过程中产生的数据采集并存放在表格中。如图所示。

image.png

                  原始训练数据

以第一行数据为例,代表编号为2901的晶元在时间点10.379分时第四工艺步骤的各个过程物理量。每个晶元每个步骤采集了近50条数据,训练数据集共采集了85个晶元的数据。总共计7608条数据。同样的测试数据集采集了31个晶元在刻蚀工艺步骤4、5的物理量数据,总共计5162条数据。

 

3)半导体刻蚀机故障数据提取

本节的目的是为了从训练数据集和测试数据集中提取异常数据即故障数据,为后续数据分析和神经网络的读取做准备。在半导体刻蚀机数据中,故障数据相较于正常数据而言可以看作是异常波动数据,也就是误差较大的数据。目前筛选误差数据最常用的统计方法有:狄克逊准则(Dixon)、莱茵达准则(PanTa)、格拉布斯准则(Grubbs)、肖维勒准则(Chauvenet)等,这些方法中每种方法都有其自身的优点和缺点。数据的样本容量大于或等于50个时(本文所用的样本量已经大于50)我们选用莱茵达准则来剔除样本数据中的大误差数据是最好的选择,会得到一个较好效果。所以此次论文采用了莱茵达准则。

此次论文采用莱茵达准则,对同一维数的数据求平均值和均方根偏差根据一定的准则范围来提取半导体刻蚀数据中的故障数据。我们求出平均值和均方根偏差后,可以运用莱茵达准则根据平均值和均方根偏差两个重要参数来确认半导体刻蚀数据中的异常数据。莱茵达准则又被称为3σ 准则,是比较普遍易学的异常值判断与剔除方法它是根据样本数据与所求均值和均方根偏差的差异来进行判断的。其具体的计算方法如下:

 

image.png

 

如图以测试数据集晶元2915 的数据为例,计算其每一个变量数据的算术平均值、剩余误差和均方根误差,根据平均值和均方根偏差这两个参数提取出半导体刻蚀数据中的故障数据通过提取其数据集中的故障数据 

如图3.2所示Pressure列中,均值为1232.537,均方根偏差为18.645,取值是0.7924的值约为0.5,0.7924>0.5,所以确定晶元2915在步骤5物理量BCl3 Flow数据1309、1303、1303、1295、1296属于异常数据。

image.png

Pressure列的异常数据

在示Pressure列中,取值为0.44,的值约为0.5,然而0.44<0.5,所以确定晶元2915在属于正常数据。

就本次实验数据的分析而言,将含有故障数据的测试数据集按7:3的比例分为2份,分别命名为done数据集和done_test数据集,将故障标签设为0和1,0代表无故障,1代表有故障,通过莱茵达准则我们可以做出带有异常值数据的判别,并在其数据末端标出故障标签。如图为从done数据集提取的不良数据值截图,如图3.4所示:

image.png

刻蚀机不良数据值

4)数据整合

经故障提取后,数据的维数存在着较大的差异。不管是利用神经网络、深度学习,还是其他AI人工智能算法,大多数算法模型都无法很好地处理数据维度。为此,我们需要一种方法去实现一个自适应降维的过程,将对数据分析结果影响不大的维数除去,但是不会影响数据分析结果。

通过数据差异较大的过程物理量的分析,我们将数据故障标签设定为0和1,0代表无故障,1代表有故障。因此我们可以将物理过程量RF Btm Rfl Pwr和TCP Rf1 Pwr作为数据差异项剔除,因为它的数据差异介于0,1之间,而故障标签也是0,1,所以将会对网络读取判断产生影响,故而将其剔除,训练数据读取时Run ID,Time和Step Number将不作为数据维数输入训练网络,因为它们的变化是固定的,所以最终输入网络的物理量有17种,故网络的输入维数为17。

通过故障提取和数据整合后,整理出了网络训练的故障数据集。在故障数据和正常数据集的基础上,对其进行了维数整合处理,在在原有的训练数据集中加入一定数量的带有故障数据的数据集。将整合后的数据作为神经网络训练的样本数据集,并对样本数据做标记,此时数据标为2种类型,即为0和1如图所示:

image.png

带故障标签的半导体刻蚀机样本集

 

4. RBF神经网络半导体刻蚀机故障诊断模型的构建   

1)模型概述

通过对相关学习算法 RBF 神经网络基本结构的研究得知,要初步构建一个 RBF神经网络模型,需要考虑以下几个问题:

(1)确定RBF神经网络的输入层节点个数,也就相当于样本的输入维数;

(2)确定隐含层的各个参数,包括数据中心、宽度以及隐含层节点个数。

(3)确定RBF神经网络的输出层神经元个数以及隐含层节点和输出层节点的相互连接的权值。

针对第 1 个问题,在第章中已经得到了数据集,数据都是17维,因RBF 神经网络的输入层节点设为17,并归一化处理。如下图所示,展示了构建基于 RBF 神经网络的半导体刻蚀机故障诊断模型的流程图。

image.png

RBF神经网络半导体刻蚀机故障诊断模型构建流程图

2输入层数据归一化

数据归一化就是将数据经过某种算法或某种函数进行处理后,可以将所有数据限制在一定范围内使数据值缩小。归一化处理的好处是:一方面可以减低数据间存在的较大差距;另一方面还可以保证程序运行时收敛速度加快,对于RBF神经网络的训练而言,也会间接地影响训练网络的精度。 此次论文中采用快速简单的线性归一化转换原则直接设定限制范围,将样本数据值限制在范围(-1,1)之间,具体公式如下:

image.png

其中, x*为样本数据转换后的标准数据,xmax为样本数据中的最大值,xmin为样本数据中的最小值,x 为样本数据的原始值,各类数据均基于数据处理后的样本集。经归一化处理后,部分半导体刻蚀机数据的截图如图所示。

 

image.png

              归一化处理后的部分数据

这样,去除对实验结果影响不大的编号,时间,工艺步骤,我们可以将RBF 神经网络的输入层的输入维数即为17,然后训练网络就可以对归一化处理后的样本进行直接读取,在这里我们将测试数据集按7:3分开,其中的70%用作网络的实验验证对比,30%用作网络的异常数据检测。 

3RBF神经元激活功能

每个RBF神经元都会计算输入与其原型向量之间的相似度(从训练集中获取)。与原型更相似的输入向量返回的结果更接近于1。相似函数的选择可能不同,但最流行的是基于高斯模型。以下是具有一维输入的高斯方程。

image.png

其中x是输入,mu是平均值,而sigma是标准偏差。这将产生下面所示的熟悉的钟形曲线,其中心位于平均值mu上(在下面的图中,平均值为5,sigma为1)。

image.png

RBF神经元激活功能略有不同,通常写为:

image.png

在高斯分布中,mu表示分布的均值。在这里,它是原型矢量,它位于钟形曲线的中心。对于激活函数phi,我们对标准偏差sigma的值不直接感兴趣,因此我们进行了一些简化的修改。

第一个变化是我们删除了外部系数1 /(sigma * sqrt(2 * pi))。该术语通常控制高斯的高度。但是,在这里,输出节点所施加的权重是多余的。在训练期间,输出节点将学习正确的系数或“权重”以应用于神经元的反应。第二个变化是我们用单个参数“ beta”替换了内部系数1 /(2 * sigma ^ 2)。该β系数控制钟形曲线的宽度。同样,在这种情况下,我们不在乎sigma的值,我们只是在乎是否存在控制钟形曲线宽度的系数。因此,我们通过用单个变量替换项来简化方程式。

4RBF神经元激活可产生不同的beta值

当我们将方程式应用到n维向量时,符号的表达也略有变化。激活方程式中的双杠符号表示我们正在x和mu之间的欧几里德距离,并将结果平方。对于一维高斯,这简化为(x-mu)^ 2。

重要的是要注意,此处用于评估输入向量和原型之间的相似性的基本度量标准是两个向量之间的欧几里得距离。

同样,当输入等于原型向量时,每个RBF神经元都会产生最大的响应。这允许将其作为相似性的度量,并对所有RBF神经元的结果求和。

当我们从原型向量中移出时,响应呈指数下降。从RBFN架构说明中可以回忆起,每个类别的输出节点都采用网络中每个RBF神经元的加权总和,换句话说,网络中的每个神经元都会对分类决策产生一定的影响。然而,激活函数的指数下降意味着,其原型远离输入向量的神经元实际上对结果的贡献很小

 

5隐含层节点参数设计

网络隐含层参数主要包括三个重要参数:径向基函数的中心隐含层节点个数宽度。在 K-means 算法中聚类个数 K 值的设置与隐含层节点个数的设置有相互依赖的关系,聚类类别 K 即为网络模型中隐含层的节点个数。

K-means 算法的基本思想:对于数据样本集而言,通过判定样本间的距离,将样本集中的数据划分成 K 类。在这 K 类中,我们可以选择将17变量中每一类变量中占比比较大的作为正常值,尽量让每类中的样本间距离最小,让正常的数据聚在一起作为一类,自然异常的数据相应位于群落之外,同时让 K 个类别间的距离尽量大,距离尽量大为了让网络更加容易识别正常数据与异常数据

K-means 算法的基本步骤如下:

(1)从输入的样本数据中,随机选取 K 个对象作为开始的聚类中心,初始阶段我们选取的K自然为17

(2)计算每个数据对象到各聚类中心的距离,这里直接使用的是坐标上2点间的距离公式计算,并根据计算的结果将其化归到最近的聚类中,距离什么类别最近就将这个数据值归类到哪一种类别

(3)重新计算各聚类的中心;

(4)重复②③步骤,直到聚类的中心不再变化或是小于设定的某一阈值,表明该算法结束。

经过训练后,得到网络的最终中心之间最大距离为238.328,介于维数Bcl3 Flow与Rf  Phase Err的聚类中心之间,通过 k-means 算法求出中心距离后,进一步确定网络的宽度Speard,求解公式为:

image.png

m 表示训练样本的个数,cmax为所选取中心之间的最大距离。最终确定网络宽度为2,通过网络训练不断的迭代和数据的收敛可以得到网络的神经元数目为600,而网络的中心值基于python程序编写的,它不作为返回值,相当于各类参数的值不是唯一确定的它是基于网络训练的最佳效果而确定。 

6输出层设计

输出层的参数设置主要包括隐含层与输出层的连接权重值(基于python的RBF神经网络实现没有返回权重值)以及输出层的节点个数。在本文半导体刻蚀机故障共有17类,对应数据集中的17类数据。

最后一组参数是输出权重。可以使用梯度下降(也称为最小均方)进行训练。首先,对于训练集中的每个数据点,计算RBF神经元的激活值。这些激活值成为梯度下降的训练输入。线性方程需要一个偏置项,因此我们总是将固定值“ 1”添加到激活值矢量的开头。必须为每个输出节点(即,数据集中的每个类)分别运行渐变下降。对于输出标签,对于与输出节点属于同一类别的样本,请使用值“ 1”,对于所有其他样本,请使用值“ 0”。例如,如果我们的数据集具有三个类别,并且我们正在学习输出节点3的权重,则所有类别3示例应标记为“ 1”,所有类别1和2示例应标记为0。

当 RBF 神经网络的中心、宽度与权重确定后,训练得到该网络模型的输出结果如图 4.3所示。图中每一行代表选取数据经归一化后的输出结果。

image.png

             网络center值

image.png

              网络delta

image.png

网络weight值

 

5.模型评估

1)准确率

 

编号

数据集

准确率

1

训练集

76.84%

2

测试集

76.34%

 

6.实际应用 

基于模拟和真实数据的结果表明,神经网络在预测精度方面取得良好的效果。在实际半导体刻蚀机故障诊断中,可以参考此模型的诊断数据。测试集预测结果如下:

image.png

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:
 
链接:https://pan.baidu.com/s/1oazw3dJWJcQgi-g7UnuDyg 
提取码:ar78
相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
6月前
|
数据采集 数据可视化 数据挖掘
Python数据分析实战:Pandas处理结构化数据的核心技巧
在数据驱动时代,结构化数据是分析决策的基础。Python的Pandas库凭借其高效的数据结构和丰富的功能,成为处理结构化数据的利器。本文通过真实场景和代码示例,讲解Pandas的核心操作,包括数据加载、清洗、转换、分析与性能优化,帮助你从数据中提取有价值的洞察,提升数据处理效率。
331 3
|
6月前
|
机器学习/深度学习 并行计算 算法
粒子群算法优化RBF神经网络的MATLAB实现
粒子群算法优化RBF神经网络的MATLAB实现
515 123
|
5月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
5月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
6月前
|
机器学习/深度学习 算法 机器人
基于自适应RBF神经网络滑模控制的机械臂轨迹跟踪仿真(Simulink仿真实现)
基于自适应RBF神经网络滑模控制的机械臂轨迹跟踪仿真(Simulink仿真实现)
397 4
|
6月前
|
机器学习/深度学习 传感器 分布式计算
基于模糊RBF神经网络轨迹跟踪研究(Matlab代码实现)
基于模糊RBF神经网络轨迹跟踪研究(Matlab代码实现)
276 1
|
6月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
6月前
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
174 1
|
7月前
|
存储 数据挖掘 大数据
基于python大数据的用户行为数据分析系统
本系统基于Python大数据技术,深入研究用户行为数据分析,结合Pandas、NumPy等工具提升数据处理效率,利用B/S架构与MySQL数据库实现高效存储与访问。研究涵盖技术背景、学术与商业意义、国内外研究现状及PyCharm、Python语言等关键技术,助力企业精准营销与产品优化,具有广泛的应用前景与社会价值。
|
6月前
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
280 0

热门文章

最新文章

推荐镜像

更多