CN113610747B - 检验半导体样本的系统和方法 - Google Patents
检验半导体样本的系统和方法 Download PDFInfo
- Publication number
- CN113610747B CN113610747B CN202110213883.4A CN202110213883A CN113610747B CN 113610747 B CN113610747 B CN 113610747B CN 202110213883 A CN202110213883 A CN 202110213883A CN 113610747 B CN113610747 B CN 113610747B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- algorithm module
- image
- module
- score
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/95—Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
- G01N21/9501—Semiconductor wafers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30148—Semiconductor; IC; Wafer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
Abstract
提供了一种系统,所述系统包括处理器,所述处理器被配置为:获得半导体样本的图像集;(1)针对所述图像集中的图像,从多个算法模块中选择至少一个算法模块MS;(2)将所述图像馈送到MS以获得代表在所述图像中的一个或多个缺陷的数据DMS;(3)获得有关数据DMS的正确性的监督反馈;(4)针对下一图像重复(1)至(3),直到满足了完成标准为止,其中在(1)处选择的算法模块对于针对所述图像集中的至少两个不同图像来说是不同的;基于所述监督反馈而针对多个所述算法模块中的每一者生成分数;并使用分数以识别一个或多个算法模块M最佳作为最适应的算法模块来提供代表在所述图像集中的一个或多个缺陷的数据。
Description
技术领域
本公开的主题总体涉及样本检验领域,并且更具体地,涉及使样本检验自动化。
背景技术
当前对与所制造的器件的超大规模集成相关联的高密度和高性能的需求要求亚微米特征、增加的晶体管和电路速度以及提高的可靠性。这种需求要求形成具有高精确度和高均匀性的器件特征,这又进而必需仔细地监视制造过程,包括在器件仍为半导体晶片的形式时自动地检验器件。
在半导体制造期间的各种步骤处使用了检验过程,以检测在样本上的缺陷并将其分类。可通过使过程自动化(例如,自动化缺陷分类(ADC)、自动化缺陷查验(ADR)等)来提高检验的效果。
发明内容
根据当前公开的主题的某些方面,提供了一种检验半导体样本的系统,所述系统包括处理器和存储器电路(PMC),所述处理器和存储器电路(PMC)被配置为:获得一个或多个半导体样本的图像集;在获得多个算法模块后,其中每个算法模块被配置为基于半导体样本的图像而提供代表在所述图像中的一个或多个缺陷的数据:(1)针对所述图像集中的图像,从所述多个算法模块中选择至少一个算法模块MS,(2)将所述图像馈送到所述至少一个算法模块MS以获得代表在所述图像中的一个或多个缺陷的数据DMS,(3)获得有关由所述算法模块MS提供的数据DMS的正确性的监督反馈,(4)针对所述图像集中的下一图像重复(1)至(3),直到满足了完成标准为止,其中在(1)处选择的算法模块对于所述图像集中的至少两个不同图像来说是不同的,其中所述系统被配置为:至少基于所述监督反馈而针对多个所述算法模块中的每一者生成分数;并且使用与所述算法模块相关联的分数以识别一个或多个算法模块M最佳作为在所述多个算法模块中最适应的算法模块来提供代表在所述图像集中的一个或多个缺陷的数据。
根据一些实施方式,从所述多个算法模块中选择所述至少一个算法模块MS由被训练来选择所述至少一个算法模块MS的选择模块提供。
根据一些实施方式,针对算法模块生成的所述分数代表已经针对此算法模块获得正反馈的次数与已经在(1)处选择此算法模块的次数之间的比率。
根据一些实施方式,在(3)处获得的所述监督反馈影响所述选择模块在(1)处对所述至少一个算法模块MS的后续选择。
根据一些实施方式,所述系统被配置为在(3)处针对所述算法模块MS生成分数,所述分数代表所述算法模块MS适于提供代表在所述图像集中的一个或多个缺陷的数据的概率,其中所述分数至少取决于所述监督反馈。
根据一些实施方式,所述系统被配置为至少基于与所述算法模块MS相关联且至少基于先前在(3)处获得的监督反馈而生成的分数来在(1)处选择所述算法模块MS。
根据一些实施方式,如果所述监督反馈在(3)处验证了DMS,则与MS相关联的所述分数相对于先前与MS相关联的分数而增大;如果所述监督反馈在(3)处拒绝了DMS,则与MS相关联的所述分数相对于先前与MS相关联的分数而减小;所述至少一个算法模块M最佳与在所述多个算法模块中为最高者的分数相关联。
根据一些实施方式,所述系统被配置为基于以下项而针对每个算法模块生成分数:由被训练来选择所述至少一个算法模块MS的选择模块提供的第一概率;和至少基于所述监督反馈而生成的第二概率。
根据当前公开的主题的其他方面,提供了一种检验半导体样本的方法,所述方法包括通过处理器和存储器电路(PMC)进行以下操作:获得一个或多个半导体样本的图像集;在获得多个算法模块后,其中每个算法模块被配置为基于半导体样本的图像而提供代表在所述图像中的一个或多个缺陷的数据,(1)针对所述图像集中的图像,从所述多个算法模块中选择至少一个算法模块MS,(2)将所述图像馈送到所述至少一个算法模块MS以获得代表在所述图像中的一个或多个缺陷的数据DMS,(3)获得有关由所述算法模块MS提供的数据DMS的正确性的监督反馈,(4)针对所述图像集中的下一图像重复(1)至(3),直到满足了完成标准为止,其中在(1)处选择的算法模块对于所述图像集中的至少两个不同图像来说是不同的;至少基于所述监督反馈而针对多个所述算法模块中的每一者生成分数;使用与所述算法模块相关联的分数以识别一个或多个算法模块M最佳作为在所述多个算法模块中最适应的算法模块来提供代表在所述图像集中的一个或多个缺陷的数据。
根据一些实施方式,从所述多个算法模块中选择所述至少一个算法模块MS由被训练来选择所述至少一个算法模块MS的选择模块提供。
根据一些实施方式,针对算法模块生成的所述分数代表已经针对此算法模块获得正反馈的次数与已经在(1)处选择此算法模块的次数之间的比率。
根据一些实施方式,在(3)处获得的所述监督反馈影响所述选择模块在(1)处对所述至少一个算法模块MS的后续选择。
根据一些实施方式,所述方法包括在(3)处针对所述算法模块MS生成分数,所述分数代表所述算法模块MS适于提供代表在所述图像集中的一个或多个缺陷的数据的概率,其中所述分数至少取决于所述监督反馈。
根据一些实施方式,所述方法包括至少基于与所述算法模块MS相关联且至少基于先前在(3)处获得的监督反馈而生成的分数来在(1)处选择所述算法模块MS。
根据一些实施方式,如果所述监督反馈在(3)处验证了DMS,则与Ms相关联的所述分数相对于先前与MS相关联的分数而增大;如果所述监督反馈在(3)处拒绝了DMS,则与MS相关联的所述分数相对于先前与MS相关联的分数而减小;所述至少一个算法模块M最佳与在所述多个算法模块中为最高者的分数相关联。
根据一些实施方式,所述方法包括基于以下项而针对每个算法模块生成分数:由被训练来选择所述至少一个算法模块MS的选择模块提供的第一概率,和至少基于所述监督反馈而生成的第二概率。
一种非暂时性计算机可读介质包括指令,所述指令在由处理器和存储器电路(PMC)执行时使所述PMC执行如上所述的操作。
根据一些实施方式,所提出的解决方案提供了在多个算法模块(每个算法模块包括代表模型的指令)中自动地选择最适应的算法模块来提供代表在样本的给定图像集上的缺陷的数据。
因此,根据一些实施方式,代表在给定图像集中的缺陷的数据的确定更准确且更高效。
根据一些实施方式,提供了一种稳健的解决方案。
根据一些实施方式,向操作员提供辅助以用减少的时间来对图像进行注释,同时确保要注释的图像的多样性和相关性。
根据一些实施方式,优化操作员的干预水平(由所述操作员进行的注释)。
根据一些实施方式,所提出的解决方案允许改进算法模块组(每个算法模块包括代表模型的指令)。
根据一些实施方式,所提出的解决方案允许对代表较大图像集的缩减数量的图像进行操作,从而节省计算时间。
根据一些实施方式,所提出的解决方案允许减少必须从其中选择推荐算法模块的候选算法模块的数量,从而节省计算时间和存储要求。
根据一些实施方式,所提出的解决方案可用于各种任务,诸如缺陷识别、缺陷分割、缺陷分类等。
附图说明
为了理解本发明并了解本发明可如何在实践中实行,将参考附图仅通过非限制性示例来描述实施方式,在附图中:
图1示出了根据当前公开的主题的某些实施方式的检验系统的概括框图;
图2示出了在多个算法模块中选择至少一个算法模块的方法,所述算法模块被识别为最适于提供代表在图像集中的一个或多个缺陷的数据的算法模块。
图2A示出了基于多个图像训练集而构建多个算法模块的方法。
图2B示出了选择代表图像集的图像子集的方法。
图3示出了由人提供的关于所选择的算法模块的输出的监督反馈(注释)的非限制性示例。
图4示出了图2的方法的可能的实施方式。
图5示出了依赖于选择模块的图2的方法的另一种可能的实施方式。
图6示出了训练在图5的方法中使用的选择模块的方法。
图7示出了训练在图5的方法中使用的选择模块的另一种方法。
图8示出了依赖于图4的方法和图5的方法的图2的方法的另一种可能的实施方式。
具体实施方式
在以下详细描述中,阐述了许多具体细节,以便提供对本公开内容的透彻理解。然而,本领域的技术人员将理解,当前公开的主题可在没有这些具体细节的情况下进行实践。在其他情况下,并未详细地描述所熟知的方法、过程、部件和电路,以免模糊当前公开的主题。
除非具体地陈述,否则如从以下讨论中清楚,将了解,贯穿本说明书讨论,利用术语诸如“获得”、“提供”、“选择”、“馈送”、“输出”、“增加”、“减少”、“分配”、“更新”等是指处理器的操纵数据和/或将数据变换为其他数据的动作和/或处理,所述数据被表示为物理(诸如电子)量和/或所述数据代表物理对象。术语“处理器”涵盖具有可基于存储在诸如计算机、服务器、芯片、硬件处理器等的存储器中的指令而执行任务的数据处理电路的任何计算单元或电子单元。它涵盖了可位于同一地理区中或可至少部分地位于不同区中并能够一起通信的单个处理器或多个处理器。
本文中使用的术语“非暂时性存储器”和“非暂时性介质”应广义地解释为涵盖适合当前公开的主题的任何易失性或非易失性计算机存储器。
本说明书中使用的术语“样本”应广泛地解释为涵盖用来制造半导体集成电路、磁头、平板显示器和其他半导体制造的制品的任何种类的晶片、掩模和其他结构、以上项的组合和/或以上项的部分。
本说明书中使用的术语“检验”应广义地解释为涵盖任何种类的计量相关操作以及与在样本的制造期间所述样本中的缺陷的检测和/或分类有关的操作。检验通过在要检验的样本的制造期间或之后使用例如无损检验工具提供。作为非限制性示例,检验过程可包括使用相同或不同检查工具进行运行时扫描(以单次扫描或以多次扫描)、采样、查验、测量、分类和/或关于样本或其部分提供的其他操作。同样地,可在要检验的样本的制造之前提供检验及检验可包括例如生成(多个)检验方案和/或其他设置操作。要注意,除非具体地陈述,否则本说明书中使用的术语“检验”或其衍生词在检查区域的分辨率或大小方面不受限制。作为非限制性示例,多种无损检验工具包括扫描电子显微镜、原子力显微镜、光学检查工具等。
作为非限制性示例,运行时检验可采用两阶段过程,例如,先是检查样本,接着查验潜在缺陷的采样位置。在第一阶段期间,以高速度和相对低的分辨率检查样本的表面。在第一阶段中,产生缺陷图,以示出在样本上高概率有缺陷的可疑位置。在第二阶段期间,以相对高的分辨率更彻底地分析所述可疑位置中的至少一些。在一些情况下,两个阶段可由同一检查工具实施,并且在一些其他情况下,这两个阶段由不同检查工具实施。
本说明书中使用的术语“缺陷”应广义地解释为涵盖在样本上或样本内形成的任何种类的异常或不期望的特征。
没有参考任何特定编程语言来描述当前公开的主题的实施方式。将了解,可使用多种编程语言来实施如本文所描述的当前公开的主题的教导。
本发明设想了可由计算机读取来执行本发明的一种或多种方法的计算机程序。本发明进一步设想了有形地体现可由计算机执行以执行本发明的一种或多种方法的指令程序的机器可读存储器。
考虑到这一点,注意图1,其示出了根据当前公开的主题的某些实施方式的检验系统的功能框图。图1中示出的检验系统100可用于作为样本制造过程的一部分的样本(例如,半导体样本,诸如晶片和/或其部分)检验。所示出的检验系统100包括基于计算机的系统103,所述基于计算机的系统103能够使用一个或多个样本的图像来自动地确定计量相关和/或缺陷相关信息。系统103可操作地连接到一个或多个低分辨率检验工具101和/或一个或多个高分辨率检验工具102和/或其他检验工具。检验工具被配置为捕获样本的图像和/或查验(多个)所捕获的图像和/或实现或提供与(多个)所捕获的图像有关的测量。系统103可进一步可操作地连接到CAD(计算机辅助设计)服务器110和/或数据存储库109。
系统103包括处理器和存储器电路(PMC)104。PMC 104被配置为提供操作系统103所必需的处理,如在下述各种实施方式中进一步描述的,并且包括处理器(未单独地示出)和存储器(未单独地示出)。在图1中,PMC 104可操作地连接到基于硬件的输入接口105和基于硬件的输出接口106。
PMC 104的处理器可被配置为根据在PMC中包括的非暂时性计算机可读存储器上实施的计算机可读指令来执行若干功能模块。此类功能模块在下文被称为包括在PMC中。PMC 104中包括的功能模块包括至少一个算法模块112(或多个算法模块112)。根据一些实施方式,算法模块112包括存储在非暂时性存储器中的指令列表,所述指令使得当由PMC(诸如PMC 104)执行时,致使PMC基于半导体样本的被接收作为输入的图像而提供应用相关数据(诸如代表在图像中一个或多个缺陷的数据)。代表一个或多个缺陷的数据的示例包括例如一个或多个缺陷的位置、一个或多个缺陷的类别等。指令对模型的操作进行编码,诸如机器学习算法,和/或计算机视觉指令序列(例如,边缘检测等),和/或图像处理指令,和/或深度神经网络,或者其他适应模型。这不是限制性的,并且在一些实施方式中,算法模块是使用被配置为执行模型的操作(无需存储指令)的硬件部件(例如,FPGA)实现的。
如上文所提及,在一些实施方式中,算法模块112可包括深度神经网络(DNN),其包括根据相应DNN架构被组织的层。作为非限制性示例,可根据卷积神经网络(CNN)架构、循环神经网络架构、递归神经网络架构、生成性对抗网络或其他架构来组织DNN的层。任选地,层中的至少一些可被组织在多个DNN子网中。ML网络的每个层可包括多个基本计算元素(CE),在本领域中,将其典型地称为维度、神经元或节点。
一般来讲,给定层的计算元素可与前一层和/或后一层的CE连接。在前一层的CE与后一层的CE之间的每个连接与加权值相关联。给定CE可经由相应连接从前一层的CE接收输入,每个给定连接与可应用于给定连接的输入的加权值相关联。加权值可确定连接的相对强度并由此确定相应输入对给定CE的输出的相对影响。给定CE可被配置为计算激活值(例如,输入的加权和)并通过将激活函数应用于所计算的激活来进一步导出输出。激活函数可为例如身份函数、确定性函数(例如,线性、S形、阈值等)、随机函数或其他合适的函数。来自给定CE的输出可通过相应连接传输到后一层的CE。同样地,如上所述,在CE的输出处的每个连接可与可在被接收作为后一层的CE的输入之前被应用于CE的输出的加权值相关联。除加权值外,还可存在与连接和CE相关联的阈值(包括限制函数)。
可在训练之前首先选择DNN 112的加权值和/或阈值,并且可在训练期间进一步迭代地调整或修改所述加权值和/或阈值,以在所训练的ML网络中实现最佳加权值和/或阈值集。在每次迭代之后,可确定在由ML网络产生的实际输出和与相应数据训练集相关联的目标输出之间的差异(也称损失函数)。所述差异可称为误差值。当指示误差值的成本或损失函数小于预定的值时,或者当实现在迭代之间的性能的有限改变时,可确定训练已经完成。任选地,在训练整个ML网络之前,可单独地进行训练ML子网(如果有的话)中的至少一些。
下文将用来调整深度神经网络的权重/阈值的ML网络输入数据集称为训练集。
系统103被配置为通过输入接口105接收输入数据,所述输入数据可包括由检验工具产生的数据(和/或其衍生物和/或与其相关联的元数据)和/或产生和/或存储在一个或多个数据存储库109和/或CAD服务器110和/或其他相关数据存储库中的数据。要注意,输入数据可包括图像(例如,所捕获的图像、从所捕获的图像导出的图像、模拟图像、合成图像等)和相关联的标量数据(例如,元数据、手工制作的属性等)。要进一步注意,图像数据可包括与感兴趣层和/或与样本的一个或多个其他层有关的数据。
在处理输入数据(例如,低分辨率图像数据和/或高分辨率图像数据,任选地连同其他数据,例如设计数据、合成数据等)后,系统103可通过输出接口106将结果(例如,指令相关数据123和/或124)发送到(多个)检验工具中的任一者,将结果(例如,缺陷属性、缺陷分类等)存储在存储系统107中,通过GUI 108呈现结果,和/或将结果发送到外部系统(例如,发送到FAB的产量管理系统(YMS))。GUI 108可进一步被配置为实现与系统103有关的用户指定的输入。
作为非限制性示例,可通过一个或多个低分辨率检验机器101(例如,光学检查系统、低分辨率SEM等)来检验样本。提供样本的低分辨率图像的信息的结果数据(低分辨率图像数据121)信息可直接地或通过一个或多个中间系统传输到系统103。替代地或另外地,可通过高分辨率机器102检验样本(例如,可通过扫描电子显微镜(SEM)或原子力显微镜(AFM)查验被选择用于进行查验的潜在缺陷位置子集)。表示样本的高分辨率图像的信息的结果数据(高分辨率图像数据122)可直接地或通过一个或多个中间系统传输到系统103。
要注意,图像数据可以和与其相关联的元数据(例如,像素大小、缺陷类型的文本描述、图像捕获过程的参数等)被接收和处理。
本领域的技术人员将容易地理解,当前公开的主题的教导不受图1中示出的系统束缚;等同和/或修改的功能可以以另一种方式合并或划分并可以软件与固件和/或硬件的任何适当的组合实施。
在不以任何方式限制本公开内容的范围的情况下,还应注意,检验工具可被实施为各种类型的检查机器,诸如光学成像机器、电子束检查机器等。在一些情况下,同一检验工具可提供低分辨率图像数据和高分辨率图像数据。在一些情况下,至少一个检验工具可具有计量能力。
要注意,图1中示出的检验系统可在分布式计算环境中实施,其中图1中示出的前述功能模块可跨若干本地和/或远程装置分布,并且可通过通信网络来进行链接。要进一步注意,在其他实施方式中,检验工具101和/或102、数据存储库109、存储系统107和/或GUI108中的至少一些可在检验系统100外部并通过输入接口105和输出接口106与系统103进行数据通信地进行操作。系统103可实施为(多个)独立计算机,以结合检验工具进行使用。替代地,所述系统的相应功能可至少部分地与一个或多个检验工具集成。
现在注意图2。一种方法包括获得(200)一个或多个半导体样本的图像集。所述方法包括获得(210)多个算法模块M1至MN。已经预先提供了算法模块的各种示例(例如,参见图1中的附图标记112,其为算法模块的示例)。
算法模块的构建可依赖于各种方法。根据一些实施方式,算法模块可包括机器学习算法/深度神经网络,所述机器学习算法/深度神经网络已经预先被训练为基于半导体样本的图像训练集而执行任务(例如,缺陷检测、缺陷分类、缺陷分割、缺陷分级等)。然而,这不是限制性的。
图2A描述了基于半导体样本的一个或多个图像训练集而构建多个算法模块的方法的非限制性示例。假设意图基于K个不同图像训练集(其中K≥N最大)而构建N最大个不同算法模块(其中N最大为例如由操作员提供的数字)。所述方法可包括(281)运行所有K个不同训练集通过所有N最大个不同算法模块中。在第一迭代处,算法模块未优化并包括例如其模型的权重的随机值。每个模型可包括例如需要进行训练的机器学习算法,或者可包括包含要调谐的参数的(多个)计算机视觉块和/或(多个)图像处理块。如上文所提及,这不是限制性的,并且可使用其他模型。每个算法模块针对训练集的每个图像提供代表缺陷的数据。将每个训练集分配(282)到已经针对所述训练集提供最佳输出的算法模块(这可通过计算在例如由操作员的标签提供的预计输出与由算法模块提供的真实输出之间的损失函数来确定)。如果没有为算法模块分配训练集,则可将其删除,或者可将其随机地分配给不太成功的训练集中的一者或多者。
然后,基于分配给每个算法模块的训练集而对所述每个算法模块进行训练。算法模块的训练取决于其存储的模型的性质。例如,如果模型包括深度神经网络,则训练可包括例如计算损失函数并执行反向传播。一旦已经训练每个算法模块,所述方法可包括运行(284)所有训练集通过所有不同训练算法模块。如果在最后一次迭代处,由每个训练集已经被分配到的算法模块提供最佳输出,则所述方法结束,并且可输出所训练的算法模块(操作285)。如果发生改变,则所述方法可包括重复操作282、283和284。
返回到图2的方法,所述方法的目的是在多个算法模块中识别最适于提供代表在图像集中的缺陷的数据的一个或多个算法模块。在200处获得的图像集(必须针对其选择相关算法模块)大体与已经用于训练不同算法模块的图像训练集(在281处获得)不同。因此,由于尚未基于此图像集来具体地对算法模块进行训练,需要识别哪个(哪些)算法模块最适于这个图像集,并且有可能需要重新训练一个或多个算法模块,如下文所解释。
根据一些实施方式,并且如图2B所示,可将图像集缩减(操作290)为缩减的图像集,其上应用图2的方法。
可选择缩减的图像集以包括最代表所述图像集的图像。例如,在图2的方法中始终使用类似图像并不是最佳的。对缩减的图像集的随机选择可能会提供次优结果。例如,如果图像集中的1000个图像包括第一类缺陷的950个图像和第二类缺陷的50个图像,则针对缩减的图像集对100个图像的随机选择将包括第一类缺陷的95个图像和第二类缺陷的5个图像,对于在图2的方法中的对算法模块的最佳选择来说,这产生的第二类缺陷数量太少。将这个问题称为不平衡数据集。
如下文所解释,将缩减的图像集的图像馈送到一个或多个算法模块,所述一个或多个算法模块提供代表在这些图像中的缺陷的数据,并且例如由人提供对由算法模块提供的输出数据的监督反馈(例如,注释)。根据一些实施方式,以优化所得的带注释的数据集的多样性和稳健性的形式(即,通过从每种类型的图像获得足够数量的图像)来选择缩减的图像集的图像。
因此,操作290可包括在图像集中选择有限数量的图像(其将构成缩减的图像集),所述有限数量的图像尽最大可能地代表所述图像集的域和/或种类。这个选择可基于图像数据(像素值等),并且在一些实施方式中,还基于与图像相关联的任何元数据。
分类算法(诸如K-均值聚类、LDA(线性判别分析)、马尔可夫、随机字段、贝叶斯信息标准(BIC)、分层聚类(GDL-U、AGDL)、决策树、ICA(独立成分分析)、PCA(主成分分析)、FPS(最远点采样)等)可用于执行操作290。特别地,可使用无监督算法,其中不要求来自操作员的加标签。然而,这不是限制性的,且可使用其他算法。操作290可包括例如将图像集聚类为多个集群,并且从每个集群选择图像的一部分。
根据一些实施方式,对图像的选择可依赖于附加信息(特征),诸如代表在图像中的缺陷的数据。这个附加信息可用于为缩减的图像集选择图像。假设图像被馈送到在操作210处获得的多个算法模块中的一者或多者。每个算法模块可输出代表在每个图像中的缺陷的数据(例如,位置、类别等)。这个数据可用作用于对图像进行聚类并选择代表图像集的缩减的图像集的特征。
返回到图2的方法,所述方法可包括针对图像集中的每个图像(或者如果已经使用图2B的方法,则针对缩减的图像集中的每个图像),选择(220)多个算法模块的一部分。这个部分包括至少一个算法模块MS(或更多)。在下文中将提供选择MS的各种实施方式。
所述方法可进一步包括将图像馈送到算法模块MS(操作230)以获得代表在图像中的一个或多个缺陷的数据DMS。如果在220处已经选择多个算法模块M,则将图像馈送到这些算法模块中的每一者,并且每个算法模块输出对应数据DMS。
如上文所提及,DMS可包括例如在图像中的缺陷的位置、缺陷的类别的标识等。
DMS或代表DMS的数据可使用例如显示器来输出给人。例如,如果DMS包括在图像中的缺陷的位置,则经计算机化的图像(包括例如在原始图像中的缺陷的用椭圆形圈出的检测到的位置)可被计算并输出给操作员。如果DMS包括缺陷类别,则可在对应缺陷的图像上显示类别。这不是限制性的,并且可以任何适应的方式提供输出。
所述方法包括获得(230)有关由每个算法模块MS提供的数据DMS的监督反馈(也就是说,例如来自人的外部反馈)。特别地,反馈可基于人的知识而指示在多大程度上DMS被认为是正确的。在一些实施方式中,反馈可指示DMS完全不正确,或者DMS完全正确,或者DMS仅部分正确。
图3中示出了反馈的示例。假设图像已经被馈送到算法模块MS(已经针对这个图像从多个算法模块中选择所述算法模块MS),所述算法模块MS提供椭圆形300作为对缺陷的位置(数据DMS)的估计。根据一些实施方式,操作员的反馈可包括:
-验证由算法模块MS提供的建议(310);
-改进由算法模块MS提供的建议(操作员提供比由算法模块MS提供的椭圆形300更聚焦于缺陷的椭圆形320)。换句话说,算法模块MS的输出为仅部分地正确的(340);
-拒绝由算法模块MS(330)提供的建议。
根据一些实施方式,可计算在由算法模块提供的椭圆形与由人提供的椭圆形之间的交并比(intersection over union),从而允许识别软件是完全正确的(310)、完全错误的(330)还是仅部分正确的(340)。
如图3所描绘的反馈不是限制性的。根据其他实施方式,反馈不一定以图形形式提供,而是可例如以文本形式(例如,人提供缺陷的坐标和/或缺陷的分类)提供。
基于所述监督反馈,所述方法可包括针对多个算法模块生成(操作260)分数。
在一些实施方式中,每当算法模块MS已经被选择并且已经提供可相对于监督反馈评估的输出时,就执行操作260。根据一些实施方式,如果监督反馈指示由MS提供的DMS是正确的,则可相对于先前与MS相关联的分数来提高与MS相关联的分数(所述先前分数可从过去迭代获得,或者在第一次迭代时,可例如由操作员预限定。类似地,如果监督反馈拒绝DMS,则可相对于先前与MS相关联的分数来降低与MS相关联的分数。MS分数的修改可影响与其他算法模块中的每一者相关联的分数(例如,维持总分数等于固定和,例如等于一)。
在其他实施方式中,基于在所述方法的所有迭代270内接收到的所有反馈,在已经满足完成标准之后执行操作260。基于每个算法模块已经被选择的次数并基于针对每个算法模块获得的(多个)监督反馈(指示每个算法模块已经提供正确输出的次数)而计算分数。
如果不满足完成标准,则所述方法可返回到操作220,在所述操作中,获得图像集(或缩减的图像集)中的下一图像,并且针对这个新的图像选择算法模块MS。针对这个新的图像类似地重复操作230至260。一般来讲,针对在后续迭代期间选择的至少一个下一图像,所选择的算法模块MS是不同(从而允许测试多于一个算法模块)。
例如当已经获得足够数量的监督反馈时,或者当已经处理足够数量的图像时,等等,就满足了完成标准。
如果满足了完成标准,则所述方法可包括:识别(操作280)至少一个算法模块M最佳作为在多个算法模块中最适于提供代表在图像集中的缺陷的数据的算法模块。可提供指示算法模块M最佳的输出。根据一些实施方式,对于缩减的图像集执行图2的方法,并且,已经将M最佳识别为在多个算法模块中最适于提供代表在图像集中的缺陷的数据的算法模块,因为缩减的图像集就代表了所述图像集。对M最佳的选择可基于与不同算法模块相关联的分数。例如,选择M最佳作为具有最佳分数(例如,最高分数)的算法模块。
根据一些实施方式,监督反馈可用于重新训练一个或多个算法模块。根据一些实施方式,可在已经选择M最佳之前(例如,在迭代270期间)执行重新训练,并且根据一些其他实施方式,可在已经选择M最佳之后执行重新训练。
例如,假设在已经根据图2的方法处理一组P图像之后已经选择M最佳。由人在多个P图像上提供的标签可用于重新训练算法模块M最佳。在一些实施方式中,假设M最佳是包括可由多个层代表的模型(深度神经网络)、然后仅重新训练这些层的一部分而其他层冻结(转移学习方法)的算法模块。
根据一些实施方式,P图像的已经获得监督反馈的子集用于重新训练(损失函数中使用的标签可对应于监督反馈),并且P图像的另一个子集用于验证所训练的算法模块。
现在注意图4,其描述了图2的方法的可能的实现方式。
所述方法包括获得(400)一个或多个半导体样本的图像集。所述操作类似于操作200。所述方法包括获得(410)多个算法模块。所述操作类似于操作210。
所述方法包括(操作420)针对图像集中的图像,基于与每个算法模块相关联的分数来选择至少一个算法模块MS。可将每个分数视为算法模块需要被选择的概率。
在初始化所述方法时,可将所有分数设置为相等的(然而,这不是强制性的)。如果存在N个算法模块,则例如对于所有算法模块,将分数设置为等于1/N。
如上文所提及,对算法模块MS的选择可包括基于与算法模块相关联的分数而执行随机选择。选择算法模块的概率可等于这个算法模块相对于其余可用算法模块的相对分数。例如,可使用随机数生成器来生成随机数,并且然后基于算法模块的分数以及随机数而选择算法模块MS(将这种随机选择称为分类分布,参见例如https://en.wikipedia.org/wiki/categorical_distribution)。在初始化所述方法时,由于所有算法模块具有相同分数,因此每个算法模块具有相同概率被选择。当在后续迭代期间重复操作420时,与算法模块相关联的分数演化,并且不会全都共享同一值。因此,在操作420处,具有较高分数的算法模块具有较高概率被选择。然而,这不意味着将始终选择具有最高分数的算法模块,而仅意味着算法模块的随机选择受与每个算法模块相关联的分数的影响。
根据一些实施方式,在操作420处,可选择多于一个算法模块MS。要选择的算法模块MS的最大数量取决于例如处理能力。
所述方法进一步包括将图像馈送到算法模块MS(操作430,类似于230);获得代表一个或多个缺陷的数据DMS(操作440,类似于240);以及获得对DMS的监督反馈(操作450,类似于250)。
根据一些实施方式,所述方法可包括仅选择DMS的要输出给人的子集,以获得监督反馈。实际上,DMS的大小可能很大,并且因此推荐通过减小向人输出的DMS的大小来帮助他进行反馈。对DMS的子集的选择可依赖于各种技术。根据一些实施方式,当算法模块提供数据DMS时,它还提供与其预测相关联的置信度。对DMS的子集的选择可包括仅选择置信度水平高于阈值的数据。根据一些实施方式,如果在420处已经选择多个算法模块,则对DMS的子集的选择可包括仅选择由分数高于阈值的算法模块提供的DMS。根据一些实施方式,如果在420处已经选择多个算法模块,则对DMS的子集的选择可依赖于在不同算法模块的输出中的多数投票。
基于监督反馈而针对MS生成分数(操作460)。根据一些实施方式,所有其他算法模块的分数也基于监督反馈而更新,如下文所描述。
如果监督反馈指示算法模块MS已经提供有效的数据DMS,则可相对于先前与算法模块MS相关联的分数来提高与算法模块MS相关联的分数PMS。换句话说,由于算法模块MS已经提供有效的预测,因此通过提高其在所述方法的后续迭代中被选择的概率来“奖励”所述算法模块。
如果监督反馈指示算法模块MS已经提供无效数据DMS,则可相对于先前与算法模块MS相关联的分数来降低与算法模块MS相关联的分数PMS。换句话说,由于算法模块MS已经提供错误预测,因此通过降低其在所述方法的后续迭代中被选择的概率来“指责”所述算法模块。
如果监督反馈指示算法模块MS已经提供仅部分地正确的数据DMS,则可相对于先前与算法模块MS相关联的分数仅部分地提高与算法模块MS相关联的分数PMS(例如,函数可根据算法模块的输出的有效性水平来限定提高程度)。
因此,监督反馈动态地改变在下一次迭代中将选择算法模块的概率。
与算法模块MS相关联的分数的更新可影响与其他算法模块相关联的分数,以便保持所有分数的和例如等于一。
与MS相关联的分数的提高可能会引起与所有其他算法模块相关联的分数的降低(以便保持所有分数的和等于一)。
与MS相关联的分数的降低可能会引起与所有其他算法模块相关联的分数的提高(以便保持所有分数的和等于一)。
如果不满足完成标准,则所述方法可返回到操作420,在所述操作中,提供图像集(或缩减的图像集)中的下一图像,并且针对此下一图像选择算法模块MS。针对此下一图像类似地重复操作430至460。在上文已经提供完成标准的示例。
如果满足了完成标准,则所述方法可包括:识别(操作480)至少一个算法模块M最佳作为在多个算法模块中最适于提供代表在图像集中的缺陷的数据的算法模块。可提供指示算法模块M最佳的输出。对M最佳的选择可基于与算法模块相关联的分数而执行。例如,可将与最高分数相关联的算法模块(在若干迭代470之后)选择为M最佳。
现在注意图5,其描述了图2的方法的另一种可能的实施方式。
所述方法包括类似于操作200和210的操作500和510,并且不再进行描述。
所述方法包括(操作520)针对图像集中的图像,选择至少一个算法模块MS。在这个实施方式中,使用选择模块来选择MS。选择模块可包括存储在非暂时性存储器中的指令列表,所述指令使得当由PMC执行时致使PMC执行允许选择算法模块MS的模型。在一些实施方式中,选择模块实现机器学习算法,诸如深度神经网络。选择模块被训练以预测哪个算法模块最适于提供代表当前图像的缺陷的数据DMS。选择模块的训练将参考图6进行讨论。
根据一些实施方式,选择模块提供大小为N的概率矢量P’=[P’1;……;P’N](N为不同算法模块的数量)。由选择模块对每个算法模块分配一个概率,所述概率代表所述算法模块适于提供代表当前图像的缺陷的数据DMS的概率。可选择MS作为具有最高概率的算法模块。在一些实施方式中,可选择可对应于被分配最高概率的算法模块的多于一个算法模块MS。
所述方法进一步包括操作530(将图像馈送到所选择的算法模块MS中的每一者,类似于操作230)、操作540(由每个算法模块MS获得代表在图像中的一个或多个缺陷的数据DMS,类似于操作240)和操作550(获得对DMS的监督反馈,类似于操作250)。
如果不满足收敛标准,则所述方法可返回到操作520,在所述操作520中,提供图像集(或缩减的图像集)中的新的图像,并且针对这个新的图像选择算法模块MS。针对这个新的图像类似地重复操作530至550。在上文已经提供收敛标准的示例。
如果满足了收敛标准,则所述方法可包括基于监督反馈而针对每个算法模块生成分数(操作560)。根据一些实施方式,算法模块的分数可代表在正反馈(例如,所述反馈指示算法模块的输出完全地正确,或者至少部分地正确,即在对应数量上,完全正确的反馈比部分正确的反馈高)的数量与算法模块已经被选择的次数之间的比率。此比率代表算法模块的成功的百分比。这种计算不受限制,并且可将其他公式用于分数。
在其他实施方式中,每当执行操作550时都可针对所选择的算法模块MS生成分数(这在图5中不可见)。分数可生成为在针对MS获得的正反馈的次数(直到当前迭代为止)与MS已经被选择的次数(直到当前迭代为止)之间的比率。
根据一些实施方式,可识别和测试尚未被选择的一个或多个算法模块(或已经被选择了小于阈值的次数的一个或多个算法模块)。如上文所提及,在操作520处,由选择模块对每个算法模块分配概率,并且仅选择具有最高概率的算法模块。可针对所有算法模块在所有迭代内计算合计概率570,并且在尚未被选择或低于阈值的算法模块中,可使用图像集中的图像来选择和测试具有最高合计概率的算法模块。类似于如上所述,可针对这个算法模块生成分数。因此,当选择M最佳时,也将考虑这个算法模块。
所述方法可进一步包括识别(操作580)至少一个算法模块M最佳作为在多个算法模块中最适于提供代表在图像集中的缺陷的数据的算法模块。可提供指示算法模块M最佳的输出。可选择M最佳作为具有最高分数的算法模块。在一些实施方式中,可考虑其他规则来选择M最佳。例如,为了避免其中已经选择算法模块一次并通过反馈对其进行验证(从而产生100%的成功率)的情况,可设置规则,即,仅在算法模块已经被选择了超过阈值的次数的情况下才可选择所述算法模块。可设置其他规则来选择M最佳。
根据一些实施方式,可使用监督反馈来影响算法模块MS的未来选择。特别地,可根据监督反馈来通过加权矢量V=[V1;……;VN]对将来选择中的选择模块的输出(概率矢量P’)进行加权。假设已经选择算法模块Mi,并且监督反馈指示算法模块Mi的输出无效。然后,可选择加权矢量V,使得系数Vi小于一,由此降低由选择模块分配给这个算法模块Mi的概率。另一个系数Vj(j不同于i)可保持等于一。
可使用监督反馈,以便识别最适于提供代表在图像集中的缺陷的数据的算法模块M最佳。一旦确定算法模块M最佳,就可使用在识别M最佳的过程期间获得的监督反馈来重新训练M最佳。在一些实施方式中,可基于针对这个给定算法模块获得的监督反馈而在识别M最佳的过程中执行给定算法模块的重新训练。
现在注意图6,其描述了训练选择模块的方法。假设必须在N个算法模块M1至MN中选择一个算法模块。如上文关于图2A所提及,根据一些实施方式,已经使用多个图像训练集预先训练必须从其中选择算法模块的算法模块。
根据一些实施方式,基于已经用于训练不同算法模块的相同多个图像训练集而训练选择模块(参见附图标记600)。
所述方法包括将图像馈送(操作610)到选择模块,所述选择模块被配置为输出大小为N的矢量[P1;……;PN],其中Pi是算法模块Mi适于提供代表这个图像的一个或多个缺陷的数据的概率。每个图像的标签矢量(独热表示)的大小为N:
[1;0;……;0](如果图像属于用于训练算法模块M1的训练集的话),
[0;1;……;0](如果图像属于用于训练算法模块M2的训练集的话),等等。
实际上,算法模块预计将为在其训练期间使用的图像提供最佳结果。计算在选择模块的输出与图像的标签矢量之间的损失函数(操作620),以便训练选择模块(操作630,使用例如反向传播)。可针对多个图像重复所述方法(参考640)。
注意图7,其描述了训练选择模块的另一种方法。在这个实施方式中,可使用包括最初未被用于训练算法模块M1至MN的图像的训练集(操作700)。所述方法包括获得(710)训练集的每个图像的标签。标签可由操作员提供。例如,他可提供对缺陷的位置的估计。所述方法包括将训练集的每个图像馈送(720)到每个算法模块。每个算法模块Mi将提供代表在图像中的缺陷的数据DMi。针对每个图像,可计算(操作730)在针对所述图像获得的DMi与为这个图像提供的标签之间的交并比(这个交并比代表算法模块的预测在多大程度上是正确的)。可针对训练集的多个图像重复进行这个操作。因此,针对每个图像,获得大小为N的矢量(操作740),对于每个算法模块,所述矢量包括在针对图像获得的DMi与为这个图像提供的标签之间的交并比。每个矢量的不同值的和可归一化。替代地,每个矢量可被表示为独热矢量(其中矢量的最大值被设置为一,而其他值被设置为零)。
选择模块的训练(操作760)可通过将训练集中的每个图像馈送(操作750)到选择模块(所述选择模块将提供输出来估计哪个算法模块最适于这个图像)并基于在其输出和与图像关联的矢量之间的差异而计算损失函数来执行。
现在注意图8,其描述了组合图4和图5的方法两者的方法。
所述方法包括获得(800)一个或多个半导体样本的图像集。这个操作类似于以上操作200。所述方法包括获得(810)多个算法模块M1至MN。这个操作类似于以上操作210。所述方法包括将图像集中的图像馈送(815)到选择模块。选择模块被配置为基于图像而针对多个算法模块中的每个算法模块提供第一概率。第一概率代表每个算法模块适于提供代表在图像中的缺陷的数据的概率。选择模块类似于图5中描述的选择模块,并且可被训练,例如,如图6和图7所描述。由于存在N个算法模块,因此选择模块的输出可表示为大小为N的矢量P’=[P’1;……;P’N],其中P’i是与每个算法模块Mi相关联的第一概率,它代表算法模块Mi与提供代表在图像中的缺陷的数据相关的概率。一般来讲,P’1至P’N的和等于一(因为它们代表概率分布)。
所述方法包括获得(操作820)每个算法模块的第二概率。类似于图4的方法,在第一迭代时,例如由操作员预限定第二概率(例如,将同一第二概率1/N分配给每个算法模块),并且根据监督反馈来随时间而演进。由于存在N个算法模块,因此第二概率可由大小为N的矢量P=[P1;……;PN]表示。第二概率代表算法模块应被选择来提供代表一个或多个缺陷的数据的概率。
通过合计第一概率和第二概率,可针对每个算法模块计算分数(操作830)。可通过乘以P和P’来获得分数。
基于与每个算法模块相关联的分数,所述方法包括选择(操作840)至少一个算法模块MS。例如,选择具有最高分数的算法模块。如果选择了多个算法模块,则可选择具有最高分数的算法模块。
所述方法进一步包括将图像馈送到所选择的算法模块MS(操作850),所选择的算法模块MS输出(操作860))代表一个或多个缺陷的数据DMS。
所述方法进一步包括获得(870)对DMS的监督反馈。此操作类似于操作450,并且不再进行描述。
使用监督反馈(操作880)来生成与算法模块MS相关联的第二概率。
如果监督反馈指示算法模块MS已经提供有效的数据DMS,则可相对于先前与算法模块MS相关联的第二概率来提高与算法模块MS相关联的第二概率。换句话说,由于算法模块MS已经提供有效的预测,因此通过提高其在所述方法的后续迭代中被选择的概率来“奖励”所述算法模块。
如果监督反馈指示算法模块MS已经提供无效的数据DMS,则可相对于先前与算法模块MS相关联的第二概率来降低与算法模块MS相关联的第二概率。换句话说,由于算法模块MS已经提供错误的预测,因此通过降低其在所述方法的后续迭代中被选择的概率来“指责”所述算法模块。
如果监督反馈指示算法模块MS已经提供仅部分地正确的数据DMS,则可相对于先前与算法模块MS相关联的第二概率,仅部分地提高与算法模块MS相关联的第二概率(例如,函数可根据算法模块的输出的有效性水平来限定提高程度)。
因此,监督反馈动态地改变在下一次迭代中将选择算法模块的概率。
如果不满足完成标准,则所述方法可返回到操作815,在所述操作815中,提供图像集(或缩减的图像集)中的下一图像,并且针对所述下一图像选择算法模块MS。针对所述下一图像类似地重复操作820至880。在上文已经提供完成标准的示例。
如果满足了完成标准,则所述方法可包括:识别(操作890)至少一个算法模块M最佳作为在多个算法模块中最适于提供代表在图像集中的缺陷的数据的算法模块。可提供指示算法模块M最佳的输出。对M最佳的选择可基于与算法模块相关联的分数而实行。例如,可将与最高分数相关联的算法模块(在若干迭代885之后)选择为M最佳。
在上述所有实施方式中,一旦已经识别出算法模块M最佳,就可使用例如针对图像集中的多个图像提供的监督反馈来重新训练所述算法模块。在一些实施方式中,可在识别算法模块M最佳之前的中间阶段实行重新训练。在一些实施方式中,可使用针对图像集中的多个图像提供的监督反馈来重新训练其他算法模块(即使它们不对应于M最佳)。
要注意,可根据所有可能的技术组合来组合在各种实施方式中描述的各种特征。将理解,本发明的应用不限于在本文中包含的描述中阐述或在附图中示出的细节。本发明能够具有其他实施方式并能够以各种方式实践或实行。因此,将理解,本文中使用的措辞和术语是出于描述目的并且不应被视为限制性的。因此,本领域的技术人员将了解,本公开内容所基于的概念可容易地用作设计用于实施当前公开的主题的若干目的的其他结构、方法和系统的基础。本领域的技术人员将容易地了解,在不脱离本发明的在所附权利要求书中并由所附权利要求书限定的范围的情况下,可对如上所述的本发明的实施方式应用各种修改和改变。
Claims (17)
1.一种检验半导体样本的系统,所述系统包括处理器和存储器电路(PMC),所述处理器和存储器电路(PMC)被配置为:
获得一个或多个半导体样本的图像集;
获得多个算法模块,每个算法模块被配置为基于半导体样本的图像而提供代表在所述图像中的一个或多个缺陷的数据;
(1)针对所述图像集中的图像,从所述多个算法模块中选择至少一个算法模块MS;
(2)将所述图像馈送到所述至少一个算法模块MS以获得代表在所述图像中的一个或多个缺陷的数据DMS;
(3)获得有关由所述算法模块MS提供的数据DMS的正确性的监督反馈;
(4)针对所述图像集中的下一图像重复(1)至(3),直到满足了完成标准为止,其中在(1)处选择的算法模块对于所述图像集中的至少两个不同图像来说是不同的,其中所述系统被配置为:
至少基于所述监督反馈来针对所述多个算法模块中的每一者生成分数;并且
使用与所述算法模块相关联的分数以识别一个或多个算法模块M最佳作为在所述多个算法模块中最适应的算法模块来提供代表在所述图像集中的一个或多个缺陷的数据。
2.根据权利要求1所述的系统,其中从所述多个算法模块中选择所述至少一个算法模块MS由选择模块执行,该选择模块被训练以选择所述至少一个算法模块MS。
3.根据权利要求2所述的系统,其中针对算法模块生成的所述分数代表已经针对所述算法模块获得正反馈的次数与已经在(1)处选择所述算法模块的次数之间的比率。
4.根据权利要求3所述的系统,其中在(3)处获得的所述监督反馈影响由所述选择模块在(1)处对所述至少一个算法模块MS的后续选择。
5.根据权利要求1所述的系统,其中所述PMC进一步被配置为在(3)处针对所述算法模块MS生成分数,所述分数代表所述算法模块MS适于提供代表在所述图像集中的一个或多个缺陷的数据的概率,其中所述分数至少取决于所述监督反馈。
6.根据权利要求5所述的系统,其中:
如果所述监督反馈在(3)处验证了DMS,则与MS相关联的所述分数相对于先前与MS相关联的分数而增大;
如果所述监督反馈在(3)处拒绝了DMS,则与MS相关联的所述分数相对于先前与MS相关联的分数而减小;并且
所述至少一个算法模块M最佳与在所述多个算法模块中为最高者的分数相关联。
7.根据权利要求1所述的系统,其中所述PMC进一步被配置为至少基于与所述算法模块MS相关联且至少基于先前在(3)处获得的监督反馈而生成的分数来在(1)处选择所述算法模块MS。
8.根据权利要求1所述的系统,其中所述PMC进一步被配置为基于以下项而针对每个算法模块生成分数:
由被训练以选择所述至少一个算法模块MS的选择模块提供的第一概率;和
至少基于所述监督反馈而生成的第二概率。
9.一种由处理器和存储器电路(PMC)检验半导体样本的方法,所述方法包括:
获得一个或多个半导体样本的图像集;
获得多个算法模块,每个算法模块被配置为基于半导体样本的图像而提供代表在所述图像中的一个或多个缺陷的数据;
(1)针对所述图像集中的图像,从所述多个算法模块中选择至少一个算法模块MS;
(2)将所述图像馈送到所述至少一个算法模块MS以获得代表在所述图像中的一个或多个缺陷的数据DMS;
(3)获得有关由所述算法模块MS提供的数据DMS的正确性的监督反馈;
(4)针对所述图像集中的下一图像重复(1)至(3),直到满足了完成标准为止,其中在(1)处选择的算法模块对于所述图像集中的至少两个不同图像来说是不同的;
至少基于所述监督反馈来针对所述多个算法模块中的每一者生成分数;和
使用与所述算法模块相关联的分数以识别一个或多个算法模块M最佳作为在所述多个算法模块中最适应的算法模块来提供代表在所述图像集中的一个或多个缺陷的数据。
10.根据权利要求9所述的方法,其中从所述多个算法模块中选择所述至少一个算法模块MS由选择模块执行,该选择模块被训练以选择所述至少一个算法模块MS。
11.根据权利要求9所述的方法,其中针对算法模块生成的所述分数代表已经针对所述算法模块获得正反馈的次数与已经在(1)处选择所述算法模块的次数之间的比率。
12.根据权利要求11所述的方法,其中在(3)处获得的所述监督反馈影响由所述选择模块在(1)处对所述至少一个算法模块MS的后续选择。
13.根据权利要求9所述的方法,进一步包括在(3)处针对所述算法模块MS生成分数,所述分数代表所述算法模块MS适于提供代表在所述图像集中的一个或多个缺陷的数据的概率,其中所述分数至少取决于所述监督反馈。
14.根据权利要求13所述的方法,其中:
如果所述监督反馈在(3)处验证了DMS,则与MS相关联的所述分数相对于先前与MS相关联的分数而增大;
如果所述监督反馈在(3)处拒绝了DMS,则与MS相关联的所述分数相对于先前与MS相关联的分数而减小;
所述至少一个算法模块M最佳与在所述多个算法模块中为最高者的分数相关联。
15.根据权利要求13所述的方法,进一步包括基于以下项而针对每个算法模块生成分数:
由被训练以选择所述至少一个算法模块MS的选择模块提供的第一概率;和
至少基于所述监督反馈而生成的第二概率。
16.根据权利要求9所述的方法,进一步包括至少基于与所述算法模块MS相关联且至少基于先前在(3)处获得的监督反馈而生成的分数来在(1)处选择所述算法模块MS。
17.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括指令,所述指令在由处理器和存储器电路(PMC)执行时使所述PMC执行以下操作:
获得一个或多个半导体样本的图像集;
在获得多个算法模块后,其中每个算法模块被配置为基于半导体样本的图像而提供代表在所述图像中的一个或多个缺陷的数据:
(1)针对所述图像集中的图像,从所述多个算法模块中选择至少一个算法模块MS;
(2)将所述图像馈送到所述至少一个算法模块MS以获得代表在所述图像中的一个或多个缺陷的数据DMS;
(3)获得有关由所述算法模块MS提供的数据DMS的正确性的监督反馈;
(4)针对所述图像集中的下一图像重复(1)至(3),直到满足了完成标准为止,其中在(1)处选择的算法模块对于所述图像集中的至少两个不同图像来说是不同的;
至少基于所述监督反馈来针对所述多个算法模块中的每一者生成分数;和
使用与所述算法模块相关联的分数以识别一个或多个算法模块M最佳作为在所述多个算法模块中最适应的算法模块来提供代表在所述图像集中的一个或多个缺陷的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210946386.XA CN115205279A (zh) | 2020-05-04 | 2021-02-25 | 检验半导体样本的系统和方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/866,463 | 2020-05-04 | ||
US16/866,463 US11151710B1 (en) | 2020-05-04 | 2020-05-04 | Automatic selection of algorithmic modules for examination of a specimen |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210946386.XA Division CN115205279A (zh) | 2020-05-04 | 2021-02-25 | 检验半导体样本的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113610747A CN113610747A (zh) | 2021-11-05 |
CN113610747B true CN113610747B (zh) | 2022-08-19 |
Family
ID=78083021
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210946386.XA Pending CN115205279A (zh) | 2020-05-04 | 2021-02-25 | 检验半导体样本的系统和方法 |
CN202110213883.4A Active CN113610747B (zh) | 2020-05-04 | 2021-02-25 | 检验半导体样本的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210946386.XA Pending CN115205279A (zh) | 2020-05-04 | 2021-02-25 | 检验半导体样本的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11151710B1 (zh) |
JP (1) | JP7150918B2 (zh) |
KR (1) | KR102360769B1 (zh) |
CN (2) | CN115205279A (zh) |
TW (1) | TWI763451B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11379972B2 (en) * | 2020-06-03 | 2022-07-05 | Applied Materials Israel Ltd. | Detecting defects in semiconductor specimens using weak labeling |
US20220398410A1 (en) * | 2021-06-10 | 2022-12-15 | United Microelectronics Corp. | Manufacturing data analyzing method and manufacturing data analyzing device |
CN116739975A (zh) * | 2023-04-13 | 2023-09-12 | 浙江水利水电学院 | 一种半导体基板的缺陷区域的评价方法及系统 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5414416B2 (ja) | 2008-09-24 | 2014-02-12 | キヤノン株式会社 | 情報処理装置及び方法 |
WO2010091307A2 (en) * | 2009-02-06 | 2010-08-12 | Kla-Tencor Corporation | Selecting one or more parameters for inspection of a wafer |
US8270701B2 (en) * | 2010-01-08 | 2012-09-18 | 3M Innovative Properties Company | Optical web-based defect detection using intrasensor uniformity correction |
JP5296739B2 (ja) * | 2010-04-28 | 2013-09-25 | 浜松ホトニクス株式会社 | 半導体故障解析装置及び故障解析方法 |
NL2006700A (en) * | 2010-06-04 | 2011-12-06 | Asml Netherlands Bv | Method and apparatus for measuring a structure on a substrate, computer program products for implementing such methods & apparatus. |
US8565503B2 (en) * | 2010-06-04 | 2013-10-22 | Leica Biosystems Imaging, Inc. | System and method to determine slide quality of a digitized microscope slide |
CA2842824C (en) * | 2011-07-26 | 2023-03-14 | General Electric Company | Wastewater treatment plant online monitoring and control |
US9761014B2 (en) * | 2012-11-15 | 2017-09-12 | Siemens Healthcare Gmbh | System and method for registering pre-operative and intra-operative images using biomechanical model simulations |
EP2806374B1 (en) | 2013-05-24 | 2022-07-06 | Tata Consultancy Services Limited | Method and system for automatic selection of one or more image processing algorithm |
JP2016173615A (ja) | 2013-06-24 | 2016-09-29 | 株式会社日立ハイテクノロジーズ | 計測装置 |
JP6177649B2 (ja) | 2013-10-07 | 2017-08-09 | 株式会社日立ハイテクノロジーズ | データ処理装置、測長システム、欠陥検査システム、画像トラッキングシステム、及びデータ処理方法 |
US20160358099A1 (en) * | 2015-06-04 | 2016-12-08 | The Boeing Company | Advanced analytical infrastructure for machine learning |
CN106127120B (zh) * | 2016-06-16 | 2018-03-13 | 北京市商汤科技开发有限公司 | 姿势估计方法和装置、计算机系统 |
US10115040B2 (en) * | 2016-09-14 | 2018-10-30 | Kla-Tencor Corporation | Convolutional neural network-based mode selection and defect classification for image fusion |
US10127659B2 (en) * | 2016-11-23 | 2018-11-13 | General Electric Company | Deep learning medical systems and methods for image acquisition |
GB201705189D0 (en) * | 2017-03-31 | 2017-05-17 | Microsoft Technology Licensing Llc | Sensor data processor with update ability |
JP6992475B2 (ja) | 2017-12-14 | 2022-01-13 | オムロン株式会社 | 情報処理装置、識別システム、設定方法及びプログラム |
CN110945528B (zh) * | 2018-02-07 | 2021-04-02 | 应用材料以色列公司 | 产生可用于检查半导体样品的训练集的方法及其系统 |
US11199506B2 (en) * | 2018-02-21 | 2021-12-14 | Applied Materials Israel Ltd. | Generating a training set usable for examination of a semiconductor specimen |
JP7071904B2 (ja) | 2018-10-15 | 2022-05-19 | 株式会社東芝 | 情報処理装置、情報処理方法及びプログラム |
US10957031B1 (en) * | 2019-09-06 | 2021-03-23 | Accenture Global Solutions Limited | Intelligent defect detection from image data |
-
2020
- 2020-05-04 US US16/866,463 patent/US11151710B1/en active Active
-
2021
- 2021-02-25 CN CN202210946386.XA patent/CN115205279A/zh active Pending
- 2021-02-25 CN CN202110213883.4A patent/CN113610747B/zh active Active
- 2021-03-05 JP JP2021034973A patent/JP7150918B2/ja active Active
- 2021-03-16 KR KR1020210033846A patent/KR102360769B1/ko active IP Right Grant
- 2021-04-21 TW TW110114340A patent/TWI763451B/zh active
Also Published As
Publication number | Publication date |
---|---|
KR20210135416A (ko) | 2021-11-15 |
TW202147249A (zh) | 2021-12-16 |
US11151710B1 (en) | 2021-10-19 |
CN113610747A (zh) | 2021-11-05 |
TWI763451B (zh) | 2022-05-01 |
JP7150918B2 (ja) | 2022-10-11 |
US20210343000A1 (en) | 2021-11-04 |
CN115205279A (zh) | 2022-10-18 |
JP2021177541A (ja) | 2021-11-11 |
KR102360769B1 (ko) | 2022-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112219270B (zh) | 用于缺陷分类器训练的主动学习 | |
CN113610747B (zh) | 检验半导体样本的系统和方法 | |
CN110945528B (zh) | 产生可用于检查半导体样品的训练集的方法及其系统 | |
US10043261B2 (en) | Generating simulated output for a specimen | |
US10360477B2 (en) | Accelerating semiconductor-related computations using learning based models | |
TWI834916B (zh) | 基於機器學習的取樣缺陷檢測 | |
CN111512324B (zh) | 半导体样品的基于深度学习的检查的方法及其系统 | |
TWI748122B (zh) | 用於對多個項進行分類的系統、方法和電腦程式產品 | |
JP2019537839A (ja) | 半導体用途向けに構成された深層学習モデルのための診断システムおよび方法 | |
CN110189288A (zh) | 生成可用于半导体样本的检查的训练集的方法和其系统 | |
US12007335B2 (en) | Automatic optimization of an examination recipe | |
US20230096362A1 (en) | Determination of a simulated image of a specimen | |
TW202347396A (zh) | 用於晶圓之成像資料集中異常之偵測與分類的電腦實施方法以及使用此方法的系統 | |
Hortua et al. | Reliable uncertainties for Bayesian neural networks using alpha-divergences | |
US11854184B2 (en) | Determination of defects and/or edge roughness in a specimen based on a reference image | |
KR102685359B1 (ko) | 시편들을 검사하는 방법 및 그의 시스템 | |
JP2023544502A (ja) | 可解釈な深層学習ベース欠陥検出及び分類 | |
CN114863178A (zh) | 面向神经网络视觉系统的图像数据输入检测方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |