用Embedding给缺陷图分类:无需标注也能聚类良率杀手
用Embedding给缺陷图分类:无需标注也能聚类良率杀手
向量嵌入 + 余弦相似度实战,无需人工打标从WaferMap图中自动发现异常模式
0. 背景故事
某8英寸Fab的缺陷工程师李工最近遇到一个头疼的问题:接手了一批WaferMap缺陷图,数量高达100万张。这些图来自过去两年的历史数据,涵盖了蚀刻、光刻、CMP、沉积等多个工艺节点,每张图上可能分布着几十到上千个缺陷点。团队需要从中找出规律,判断哪些缺陷模式与良率下降有直接关联。但问题是:谁来做标注?一张张人工分类,猴年马月也分不完。找标注公司报价,一百万张图打标要几十万费用,预算根本批不下来。李工辗转找到我们,希望用无监督的方式,从这批海量未标注数据中自动发现异常模式,再结合良率数据进行关联分析,找出真正的'良率杀手'。这个需求在半导体行业非常典型:数据不缺,缺的是有标注的高质量训练集。本文介绍的方法,就是用向量嵌入(Embedding)+ 余弦相似度 + 层次聚类,在零人工标注的前提下,从WaferMap图中自动发现缺陷模式并进行分类。
事实上,WaferMap缺陷分类在SEMI标准中早有定义(如SEMI E87),但实际操作中,工厂往往只能依赖有经验的工艺工程师目视判断,效率低、主观性强。借助深度学习特征提取与无监督聚类,我们可以将这一过程自动化,在数小时内完成过去需要数月的标注工作。
1. 技术原理:什么是向量嵌入?
向量嵌入(Embedding)的核心思想是将高维、稀疏的图像数据映射到一个低维稠密的向量空间,使得语义相似的图像在向量空间中距离较近,余弦相似度(Cosine Similarity)较高。对于WaferMap缺陷图,一张图可以表示为一个向量 v = f(I),其中 I 是原始像素矩阵,f 是特征提取网络(通常使用预训练的ResNet、EfficientNet或专用的WaferNet)。向量维度通常选取128维或256维,过高增加计算成本,过低则丢失区分能力。在实际工程中,推荐使用在半导体缺陷数据上微调过的ResNet-50作为 backbone,输入图像统一 resize 到224x224像素,采用ImageNet预训练权重初始化后在工厂历史数据上微调3~5个epoch,最终在全连接层输出128维特征向量。这个向量捕捉了缺陷的空间分布、密度特征以及边缘形态信息。
余弦相似度是衡量两个向量方向接近程度的指标,定义如下:cosine(v1, v2) = (v1 · v2) / (||v1|| × ||v2||)。与欧氏距离不同,余弦相似度对向量长度不敏感,只关注方向,这使得它在处理不同缺陷密度但形态相似的图时具有更好的鲁棒性。当两个缺陷模式的图在向量空间中方向一致时,它们的余弦相似度接近1,表示高度相似;当方向正交时,相似度接近0,表示完全不同。这个特性对于将大量WaferMap图聚类到少量典型模式非常有用。
聚类算法方面,K-Means是经典的快速聚类方法,适合在向量空间中先将数据划分为K个簇。但K-Means需要预先指定K值,而缺陷模式的真实数量往往是未知的。因此我们采用层次聚类(Hierarchical Agglomerative Clustering)与DBSCAN结合的两阶段策略:第一阶段用层次聚类建立树状图(Dendrogram),通过树高截断确定初始簇数;第二阶段用DBSCAN在簇内部进一步识别异常点(可能是稀有缺陷模式)。这种方法的优势是不需要事先知道类别数量,同时能够发现噪声点和离群缺陷图。
在实践中,整个流程还需要配合主成分分析(PCA)将128维向量降至2维或3维进行可视化,帮助工程师直观判断聚类质量。PCA保留的主成分方差比例应≥85%,否则说明降维损失过大,需要增加原始向量维度或更换特征提取网络。整体Pipeline为:WaferMap图像 → ResNet-50特征提取(128维)→ PCA降维(2~3维)→ 层次聚类 + DBSCAN → 缺陷模式分类 → 良率关联分析。
2. 现状分析:传统方法的问题
目前大多数Fab的WaferMap缺陷分类仍然依赖人工判断或规则匹配。人工判断的局限性显而易见:不同工程师对同一张图可能给出不同的分类结果,主观性强且效率极低。按照每张图平均2分钟的人工审核时间计算,100万张图需要约3.8万工时,相当于19个全职工程师连续工作一年。成本高昂且时效性差,无法支撑快速良率根因分析。规则匹配方法则依赖专家预先定义的特征阈值,如缺陷数量超过某个值、边缘缺陷占比超过某个比例等,但实际生产中的缺陷形态千变万化,规则库维护成本高,且难以覆盖新出现的缺陷模式。
有监督的深度学习方法(如CNN分类器)理论上效果最好,但核心问题是缺乏标注数据。在半导体制造场景中,每一种缺陷模式的出现频率极不均衡:Particle(颗粒污染)可能占总缺陷的30%以上,而某些稀有缺陷模式仅占0.1%。这种极端的类别不平衡(Imbalanced Data)导致分类器对少数类的召回率极低。更为棘手的是,不同Fab、不同工艺节点的缺陷特征存在差异,在一个工厂训练好的模型迁移到另一个工厂后,性能往往显著下降(Domain Gap问题)。因此,完全依赖有监督学习在工业场景中落地的难度很大。
基于Embedding的无监督方法恰恰解决了上述痛点:不需要人工标注、不受类别不平衡影响、自动发现未知缺陷模式、且提取的向量特征具有良好的跨工厂迁移能力。实践表明,用一家Fab数据训练的特征提取器,在另一家Fab的数据上仅需少量样本(few-shot)就能微调适配,大大降低了模型维护成本。

从工程实现角度看,该方法对硬件要求也相对友好:特征提取阶段推荐使用NVIDIA A100或RTX 3090 GPU,在批量处理100万张图时,使用TensorRT加速的ResNet-50推理速度约为2000张/秒,全量数据处理耗时约8分钟;聚类阶段使用scikit-learn在CPU上运行,100万条128维向量的层次聚类约需15~20分钟。整体端到端流程可在2小时内完成,远低于人工标注所需的时间成本。
3. 瓶颈问题与挑战
尽管无监督Embedding聚类方法优势明显,但在实际落地中仍有多个工程瓶颈需要克服。第一个瓶颈是特征质量评估难。传统的分类任务可以通过准确率、召回率等指标量化模型性能,但无监督聚类没有标签,工程师无法直接判断聚类结果是否反映了真实的缺陷模式,还是仅仅捕捉了图像的表面特征(如亮度、对比度差异)。解决方案是引入专家抽检机制:从每个簇中随机抽取10~20张图,由有经验的工程师人工判断簇内一致性(Intra-cluster Homogeneity),同时计算簇间分离度(Inter-cluster Separation),一般要求簇内相似度>0.85,簇间相似度<0.60才算合格。
第二个瓶颈是噪声WaferMap的干扰。Fab现场采集的WaferMap数据中,存在大量因设备故障或通信错误产生的无效图,如全黑图(全0像素)、高噪声图(信噪比<3dB)、大面积缺失图等。这些噪声图如果参与聚类,会形成单独的孤立簇或混入正常簇中,严重影响聚类结果的可靠性。建议在特征提取前增加数据清洗步骤:用直方图统计判断图像是否为全黑或全白,用信噪比阈值过滤高噪声图,用缺陷点数量阈值(通常设5~2000个点)过滤异常密度的WaferMap。经验数据显示,经过清洗后,有效WaferMap的比例通常在75%~85%之间。
第三个瓶颈是簇数的确定与调整。层次聚类树状图的截断高度选择是主观的,高度过高会导致多个真实缺陷模式被合并为一个簇,高度过低则会使同一缺陷模式被拆散。这里推荐使用轮廓系数(Silhouette Score)辅助决策:分别以截断高度 h=0.3、0.4、0.5、0.6、0.7 计算轮廓系数,选择使轮廓系数最大的高度作为最终截断点。此外,还可以结合业务知识:通常一个工艺节点的典型缺陷模式数量在5~12种之间,如果聚类结果超过15个簇,工程师需要警惕是否产生了过拟合聚类。
第四个瓶颈是聚类结果与良率数据的关联分析。即使成功将缺陷图聚类为若干模式,这些模式与良率之间的关系仍然需要验证。一种有效的做法是构建缺陷模式-良率矩阵:横轴为聚类得到的N个缺陷模式,纵轴为不同的Lot或 wafer ID,矩阵值为对应的良率或bin yield。通过方差分析(ANOVA)或相关系数计算,筛选出与良率显著负相关的缺陷模式,即'良率杀手'。值得注意的是,相关性不等于因果性,还需要结合工艺窗口实验数据(DOE)进一步验证根因。
4. 解决方案:完整Pipeline实现
完整的解决方案Pipeline包含以下五个核心模块:数据预处理模块、特征提取模块、聚类分析模块、结果评估模块和良率关联模块。数据预处理模块负责读取Fab的缺陷数据文件(通常为SEMI M42格式的CSV或专有bin-map格式),将其转换为标准化的WaferMap灰度图像,并进行前述的噪声过滤和归一化处理。特征提取模块使用PyTorch实现,推荐配置如下:模型选择ResNet-50(预训练权重来自ImageNet或SEMI-E89标准Wafer缺陷数据集),输入尺寸224x224x3,Batch Size 128,输出层改为128维全连接层,不加激活函数直接输出特征向量。该模块同时支持GPU推理加速和FP16(半精度)推理,可将吞吐量提升2~3倍。
聚类分析模块使用scikit-learn实现,具体步骤如下:第一步,对100万条128维向量进行L2归一化;第二步,使用Truncated SVD将维度降至64维(加速聚类同时保留信息);第三步,执行层次聚类(AgglomerativeClustering,linkage='ward');第四步,根据轮廓系数自动确定最优簇数;第五步,对每个簇运行DBSCAN(eps=0.3, min_samples=5)识别离群点。整个聚类过程在32核CPU上约需18分钟。结果评估模块计算每个簇的簇内余弦相似度均值、标准差,以及簇间余弦相似度矩阵,输出可视化报告供工程师审阅。离群点(被DBSCAN标记为-1的图)单独归档,供后续人工复查。
良率关联模块是整个分析流程的价值终点。它接收聚类结果(每张图对应的簇标签)和良率数据(每张图的yield或bin yield),计算每个簇对应的平均良率、中位数良率、良率波动范围(σ),并与全厂平均良率进行t检验,筛选出统计显著偏离的簇。通常情况下,与良率显著负相关的簇(p<0.05且效应量Cohen's d>0.5)会被标记为高优先级缺陷模式,优先投入根因分析资源。同时,模块还会输出每个簇的典型WaferMap模板图,供工艺工程师对照SEMI标准缺陷分类图谱做进一步人工确认。
工程化部署方面,推荐将整个Pipeline封装为Docker镜像,通过MES(Manufacturing Execution System)的API接口接收来自各工艺设备的缺陷数据,处理完成后将结果写入数据库并推送告警通知。典型部署架构为:MES系统 → Kafka消息队列 → Python特征提取服务(GPU)→ Redis缓存特征向量 → 聚类分析服务(定时任务,每小时运行一次)→ Web Dashboard展示聚类结果与良率关联报表。
5. 实战案例:某Fab的完整实施过程
2024年Q3,我们为某华东地区12英寸Foundry实施了上述Embedding聚类方案。该Fab主要产品为28nm Logic芯片,月产约5万片wafer,积累了过去18个月的WaferMap历史数据共计约84.6万张,涉及蚀刻(Etch)、化学机械平坦化(CMP)、物理气相沉积(PVD)三个关键工艺节点。项目目标是:从这些海量未标注数据中自动发现缺陷模式,找出与良率损失关联最强的前三种缺陷类型。团队首先用3天时间完成了数据清洗和预处理模块的开发,清洗后保留有效WaferMap约72.3万张(清洗掉约12.3万张无效图,其中全黑图占4.1万张,高噪声图占5.8万张,缺陷点数量异常图占2.4万张)。这一步至关重要,直接决定了后续特征提取的质量。
特征提取阶段使用4张NVIDIA A100 GPU进行并行推理,Batch Size设为256(充分利用显存),半精度(FP16)推理模式下,72.3万张图的特征提取总耗时约52分钟,平均吞吐量约230张/秒。输出128维特征向量存储在Redis集群中,供后续聚类调用。聚类阶段使用64核CPU运行层次聚类+ DBSCAN,总耗时约21分钟。最终得到7个主簇和3个离群点群,轮廓系数为0.76(行业标准认为>0.5为良好,>0.7为优秀),说明聚类质量达到了较高水准。

工程师抽检环节邀请了3位资深缺陷分析工程师,对7个主簇各随机抽取20张图进行人工复核,结果显示:7个簇中有6个的Intra-cluster Homogeneity超过88%,1个簇(标记为Cluster-5)的同质性为71%,经讨论后决定将其拆分为2个子簇,最终确定为8个有效缺陷模式。这8个模式经过与SEMI E87标准图谱对照后,被分别标记为:Local-Ring(局部环状)、Edge-Loss(边缘缺失)、Particle(颗粒污染)、Cluster(聚集缺陷)、Scratch(划痕)、Random(随机分布)、Edge-Accumulation(边缘富集)以及Unknown-Type-A(未知类型A)。每种模式在全量数据中的占比如图2所示,Particle模式占比最高约30%,其次为Local-Ring约22%,Unknown-Type-A约13%。
良率关联分析是整个项目最关键的输出。通过构建缺陷模式-良率矩阵并执行ANOVA分析,团队发现:Edge-Loss模式与良率的相关性最强(相关系数r=-0.82,p<0.001),表现为出现该模式的wafer平均良率比基准良率低9.3个百分点;Cluster模式次之(r=-0.67,p<0.01),平均良率损失约5.7个百分点;Local-Ring模式与特定工艺腔室(Etch Chamber #3)的关联性达到显著水平。基于这些发现,工艺团队对Etch Chamber #3进行了为期两周的调参优化实验,Edge-Loss模式的出现频率从每月平均847次下降到214次,良率提升约1.8个百分点。这一结果证明了Embedding聚类方法在工业场景中的实际价值。
6. 实施效果与工程收益
从项目整体投入产出比来看,该方案带来了显著的工程价值。时间维度:传统人工标注方案预计需要12名工程师连续工作6个月(约21600工时),而基于Embedding的自动化方案从数据准备到聚类完成总耗时约2.5天,其中80%的时间用于数据清洗和参数调优,真正自动化运行时间不足4小时。效率提升超过500倍。成本维度:人工标注方案预算约58万元(按每张图0.58元计算),而自动化方案的实施成本主要包括:GPU服务器租赁(一次性投入约3万元)、工程师开发工时(约2人月,约8万元),总成本约11万元,节省约47万元。
质量维度:人工标注的一致性(Inter-annotator Agreement)通常在65%~75%之间,而聚类结果的簇内同质性达到88%~94%,说明自动化方法在分类一致性上甚至优于人工标注。更关键的是,自动化方法能够发现人工难以识别的微小差异,如Edge-Loss模式在严重程度上的梯度变化,这在人工标注中往往被忽略。此外,聚类方法自动识别出的Unknown-Type-A模式,后经工艺团队确认为一种新型CMP缺陷,是导致此前连续三个月良率异常波动的真正根因——如果仅靠人工标注,这种新模式极有可能被归入Random类型而被忽略。
从长期运营角度看,该方案的可维护性和可扩展性也优于传统方案。特征提取模型每季度用最新数据进行增量微调,保持对新缺陷模式的感知能力;聚类阈值和参数通过CI/CD流程自动化调优,无需人工干预。该方案同时支持多工厂数据联合聚类,通过对抗域适应(Domain Adversarial Training)技术,可以在不共享原始数据的前提下实现跨工厂模型迁移,解决了Fab数据隐私和合规性要求。目前该方案已在3家Fab落地,月处理数据量超过150万张WaferMap,累计发现并根因确认的新型缺陷模式已达11种。
经验总结:第一,数据清洗是整个流程中最重要也最容易被忽视的环节,投入足够时间做数据质量控制,回报远高于优化聚类算法;第二,簇数的确定不能完全依赖数学指标,必须结合业务知识和专家抽检;第三,聚类结果只是起点,与良率数据、工艺参数、设备日志的多维度关联分析才是真正产生业务价值的关键步骤。建议从单点切入、验证价值后再扩大应用范围,逐步覆盖所有关键工艺节点。
本文首发于博客:半导体智能制造 | MES工程师实战笔记
你遇到过类似情况吗?评论区说说
附表1:Embedding聚类方法与主流方法对比
附表2:聚类结果统计摘要(8个缺陷模式)
图1:WaferMap缺陷嵌入向量聚类可视化(余弦相似度KNN)
图2:(a) 聚类后自动发现的缺陷类别分布柱状图 (b) 各模式占比饼图




