本发明涉及印刷电路板生产加工,具体涉及一种基于图注意力神经网络的印刷电路板质量预测方法。
背景技术:
1、在smt(surface mount technology,表面贴装技术)产线质量控制领域,由于存在数据类别极度不平衡的挑战,现有的技术主要依赖于迁移学习进行质量预测。迁移学习作为一种强大的机器学习技术,通过利用已学习的知识来改进新任务的学习效率,已在多个领域展现了其优越性。然而,在smt产线质量预测的具体应用中,现有方法存在若干局限性和不足。
2、首先,迁移学习要求源域数据集与目标数据集的分布非常相似,才能保证有效性。此要求难以在实际工业场景中完全满足,因为通常实际数据分布可能会因为设备、环境或工艺差异而存在一定的偏差,导致源域数据并不能完全覆盖目标数据的特征空间。这种差异性限制了迁移学习在smt产线质量预测中的准确性。且迁移学习没有充分合理地利用生产数据与pcb(printed circuit board,印刷电路板)质量之间的复杂关系,特别是未合理利用生产数据的时间信息方面。时间信息是smt产线中至关重要的因素,包含着随时间变化的数据特征和趋势,若能有效地结合这一信息进行模型训练和预测,将有助于提升对pcb质量预测的准确度和可靠性。
3、其次,现有方法主要集中于对锡膏印刷质量的预测,而非对pcb功能测试的预测。锡膏印刷质量是smt产线中的一个重要环节,但它只是最终pcb质量的一个方面。pcb的功能测试是在生产流程的最后阶段进行,通过模拟实际工作环境来验证pcb的电气性能和功能是否符合设计要求。这一步骤直接反映了pcb的整体质量和可靠性,是评估smt产线质量更为全面和准确的指标。因此,仅仅对锡膏印刷质量进行预测,无法全面反映smt产线的整体质量状况。
4、针对上述问题,本发明提出了一种基于图注意力神经网络的pcb质量预测方法,该方法以smt产线pcb生产的最后一个步骤——功能测试的结果作为质量指标。通过直接关联功能测试数据与生产流程中数据,能够更全面地捕捉生产数据与pcb质量之间的复杂关系,实现更准确的smt产线质量预测。
技术实现思路
1、为解决上述技术问题,本发明提供一种基于图注意力神经网络的印刷电路板质量预测方法,利用pcb生产数据和功能测试数据预测pcb质量,及时了解pcb质量情况,以便及时调整生产和返修,节省生产成本。
2、为解决上述技术问题,本发明采用如下技术方案:
3、一种基于图注意力神经网络的印刷电路板质量预测方法,包括以下步骤:
4、步骤一:获取印刷电路板的生产数据以及功能测试数据,得到总质量得分;每条生产数据包括n个特征,使用boruta特征选择方法选择出对总质量得分影响最大的前t个特征,将选择出来的特征以及总质量得分组成训练集;按照印刷电路板的生产时间顺序,生成一个序号序列,所述序号序列反映印刷电路板的生产顺序排序的情况;
5、步骤二:使用生成对抗网络生成总质量得分为0的生产数据,将生成的生产数据加入训练集中;
6、步骤三:以所有印刷电路板的生产数据为节点,构建图g,并按照序号序列构建印刷电路板之间的邻接矩阵a;
7、步骤四:构建生产数据的时空特征提取模块,利用图注意力神经网络的多头注意力提取生产数据的时间特征和空间特征;
8、步骤五:根据提取到的时间和空间特征以及生产数据进行质量预测,输出预测结果。
9、进一步地,步骤一具体包括以下步骤:
10、s11:获取印刷电路板的生产数据以及功能测试数据,根据功能测试数据得到印刷电路板的总质量得分:即当印刷电路板的某个功能模块的测试结果为1时,则该功能模块的质量得分记为1,当印刷电路板的某个功能模块的测试结果为0时,则该功能模块的质量得分记为0;当印刷电路板全部功能模块的测试结果均为1时,印刷电路板的总质量得分为1,当印刷电路板任意一个功能模块的测试结果为0时,印刷电路板的总质量得分为0;
11、s12,收集训练集:记所有印刷电路板生产数据的特征集合为x,x=[x1,x2,···,xn],其中n为每条生产数据中的特征个数,xn代表所有印刷电路板生产数据的第n个特征的数值集合,其中表示第m块印刷电路板的第n个特征的数值,m表示印刷电路板的总数;所有印刷电路板的总质量得分集合,即标签集合,记为y,y=[y1,y2,···,ym]t,其中ym表示第m块印刷电路板的总质量得分,即第m块印刷电路板的标签,ym的取值为0或1;
12、s13:对获取的印刷电路板生产数据以及功能测试数据按照生产时间顺序进行排序,对于生产数据存在的空缺值使用空缺值所在特征列的平均值进行填补;
13、s14:将训练集的特征集合x、标签集合y作为boruta特征选择方法的输入,选出所有与标签相关的特征;删除训练集中未被选中的特征。
14、s15:按照印刷电路板的生产时间顺序,生成一个序号序列,所述序号序列反映印刷电路板的生产顺序排序的情况。
15、进一步地,步骤s14具体包括以下步骤:
16、s141:创建随机特征:对原始特征进行复制或随机排列,生成相同数量的随机特征,生成的随机特征称为影子特征;
17、s142:训练随机森林:将原始特征和影子特征作为输入,使用随机森林模型进行训练;
18、s143:计算特征重要性:在训练好的随机森林中,使用变量重要性指标z-score计算每个特征的重要性:
19、
20、其中:mimp是原始特征的重要性评分,μnull是对随机排列的特征进行重要性评分的均值,σnull是对随机排列的特征进行重要性评分的标准差。
21、s144:确定重要性阈值:通过对比原始特征的重要性评分和随机特征的重要性评分的分布,确定一个重要性阈值;
22、s145,对步骤s141和s144进行迭代:在每一轮迭代中,检查每个特征是否重要;如果一个特征的重要性评分高于重要性阈值,则将特征标记为重要特征;如果一个特征的重要性评分不高于重要性阈值,且其在任何一个随机特征中的重要性评分都高于其在原始特征中的评分,则将其标记为不重要特征;
23、s146,结束条件:当所有特征都被标记为重要特征或不重要特征时,停止步骤s145中的迭代过程;
24、保留训练集中的重要特征,删除非重要特征。
25、进一步地,步骤二具体步骤如下:
26、s21:首先提取出训练集中标签为0的生产数据,标签为0的生产数据代表印刷电路板总质量得分为0的少数类数据,总质量得分为0的印刷电路板有a块,然后将a块印刷电路板对应的生产数据[x1,x2,...,xt]提取出来,xt表示第t个特征的数值集合,代表第a块印刷电路板的第t个特征的数值,t表示训练集中的特征总数,提取出来的生产数据组成真实数据集,被用来训练生成对抗网络;
27、s22:使用多层感知机作为生成对抗网络的生成器和判别器,进行多轮训练,交替训练生成器和判别器;对于每一轮训练,会随机生成一批随机噪声向量作为生成器的输入,生成器输出假样本,并从真实数据集中随机采样一批真实样本,使用判别器对真实样本和假样本进行分类,并计算生成器和判别器的损失,分别更新生成器和判别器的参数,以减小损失函数;使用二元交叉熵作为生成器和判别器的损失函数bceloss:
28、
29、其中yi是第i个样本的二元标签值,yi为0或1,p(yi=1)是生成对抗网络对第i个样本的预测值,即生成对抗网络预测第i个样本标签值为1的概率,log表示自然对数。
30、通过多次迭代训练,使用adam作为优化算法加速训练,直到判别器不能区分真实样本和生成样本;
31、s23:将生成对抗网络的输出随机插入至训练集的特征集合中,并根据插入位置修改相对应的序号序列,保证序号序列的连贯性,插入数据在训练集中对应的标签均设置为0,将经过处理的训练集特征集合x转换成矩阵形式,得到特征矩阵,将所有特征按列使用归一化进行处理:
32、
33、其中,是归一化后的特征矩阵中第i行第j列的元素,min(x·j)是特征矩阵第j列中的最小值,max(x·j)是特征矩阵第j列中的最大值。
34、进一步地,步骤三具体包括以下步骤:
35、s31:根据训练集中印刷电路板生产数据以及序号序列数据构建图g=(v,e),将训练集中的每个印刷电路板的生产数据作为图g的一个节点,v={v1,v2,…,vk}表示图g中节点的集合,图g的第k个节点其中k表示训练集中印刷电路板的总数,t表示训练集中每条生产数据特征总数;e={(u,v)|u∈v,v∈v}是图g中边的集合,边(u,v)表示节点u和节点v之间的边;
36、s32:对于图g中边的集合e,采用邻接矩阵的形式进行表示和存储,邻接矩阵a是一个k*k的矩阵,邻接矩阵a中的元素a[i][j]:
37、
38、其中,a[i][j]=1表示节点vi和vj之间存在边的连接,即(vi,vj)是图g中的边,称vi是vj的邻居节点;0表示节点vi和vj之间不存在边的连接,即(vi,vj)不是图g中的边,vi不是vj的邻居节点,i,j为每块印刷电路板对应的序号;按照时间顺序将每块印刷电路板和该印刷电路板前1000块印刷电路板进行连接,即设置为图g中的边,当前印刷电路板与前1000块印刷电路板是邻居节点;
39、进一步地,步骤四具体包括以下步骤:
40、s41:对图g中每一对节点,节点vi和节点vj,计算节点vi和节点vj之间的注意力分数eij:
41、eij=relu(at[wvi||wvj]);
42、其中at和w是共享的可学习参数,||表示矩阵的水平拼接操作,relu(·)表示relu函数;根据邻接矩阵a,将无连接的边对应位置的注意力权重设为低于设定值的常数;这可以让模型更加关注与节点vi相邻的节点,从而更有效地利用数据之间的时间依赖性和关联性;通过强化对这些相邻节点特征的关注,模型能够更深入地挖掘节点之间复杂的时序关系,可以有效地利用时间信息,提取到生产数据的时间特征;
43、s42:将注意力分数通过softmax函数进行归一化,以获得注意力权重,即对于每个节点vi,计算与节点vi相连的所有节点的注意力分数,然后对这些分数进行softmax操作,得到归一化的注意力权重αij:
44、
45、其中,n(i)表示节点vi的邻居节点集合;
46、s43:利用注意力权重对节点的邻居特征进行加权求和,以聚合邻居节点的信息:
47、v′i=elu(σj∈n(i)αijwhj);
48、其中,v′i是节点vi更新后的节点特征,elu是激活函数;最后将更新的节点特征整合为结果h1=[v′1,v′2,…,v′k]t,返回结果h1;
49、s44:重复步骤s41至s43,得到返回的结果h2;将得到的结果h1、h2和步骤一中的特征集合x进行矩阵加法得到新的结果h3,将结果h3输入至双层卷积神经网络,通过多次卷积操作和池化操作,在不同层次上提取数据中的特征信息,利用卷积层的局部感知能力和池化层的空间归约,能够逐渐抽象数据的特征,从局部到全局层面捕捉数据的结构信息,进而实现空间特征的聚合和表示,得到输出结果houtput1;houtput1提取到了生产数据的空间特征;
50、s45:重复步骤s44,得到输出结果houtput2,使用矩阵加法将x、结果houtput1、结果houtput2相加得到结果houtput3。
51、进一步地,s5的具体步骤如下:
52、s51:将houtput3视为新的图数据,houtput3中的每一行数据作为新图中的节点,仍然使用矩阵a作为邻接矩阵,重复步骤s41至s44,得到输出h′output1,继续重复步骤s41至s44,得到输出h′output2;
53、s52:使用矩阵加法将h′output1、h′output2相加得到输出h′output3,将h′output3展平为一维向量x输入到全连接层中,全连接层会将输入向量与权重矩阵相乘,并加上偏置项:
54、output=sigmod(wx+b)
55、其中output是最终输出的预测结果,sigmod是激活函数,w是权重矩阵,b是偏置项。
56、与现有技术相比,本发明的有益技术效果是:
57、本发明提出了一种基于图注意力神经网络的pcb质量预测方法,该方法可以克服pcb生产数据维度高、数量多、高度不平衡的特点,实现准确预测pcb生产质量。
1.一种基于图注意力神经网络的印刷电路板质量预测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于图注意力神经网络的印刷电路板质量预测方法,其特征在于,步骤一具体包括以下步骤:
3.根据权利要求2所述的基于图注意力神经网络的印刷电路板质量预测方法,其特征在于,步骤s14具体包括以下步骤:
4.根据权利要求1所述的基于图注意力神经网络的印刷电路板质量预测方法,其特征在于,步骤二具体步骤如下:
5.根据权利要求1所述的基于图注意力神经网络的印刷电路板质量预测方法,其特征在于,步骤三具体包括以下步骤:
6.根据权利要求1所述的基于图注意力神经网络的印刷电路板质量预测方法,其特征在于,步骤四具体包括以下步骤:
7.根据权利要求6所述的基于图注意力神经网络的印刷电路板质量预测方法,其特征在于,s5的具体步骤如下:
