生成可用于检查半导体样本的训练集的制作方法

文档序号:28262659发布日期:2021-12-31 16:44阅读:65来源:国知局
生成可用于检查半导体样本的训练集的制作方法

1.当前公开的主题总体上涉及样本检查领域,并且更具体地涉及使样本检查自动化。


背景技术:

2.当前对与所制造装置的超大规模集成相关联的高密度和性能的需求需要亚微米特征、增加的晶体管和电路速度、以及提高的可靠性。这类需求需要形成具有高精确度和均匀性的装置特征,这进而需要仔细监控制造过程,包括在装置仍处于半导体晶片的形式时自动检查所述装置。
3.在本说明书中使用的术语“样本”应当被广泛地解释为涵盖用于制造半导体集成电路、磁头、平板显示器、以及其它半导体制造的物品的任何种类的晶片、掩模和其它结构、及其组合和/或部分。
4.在本说明书中使用的术语“检查”应当被广泛地解释为涵盖任何种类的计量相关操作以及关于在样本制造期间检测和/或分类样本中的缺陷的操作。检查通过在制造待检查的样本期间或之后使用非破坏性检查工具来提供。作为非限制性示例,检查过程可以包括使用相同或不同的检验工具来进行运行时(runtime)扫描(以单次或多次扫描)、取样、审查、测量、分类和/或关于样本或样本的部分提供的其它操作。同样,检查可以在制造待检查的样本之前提供,并且可以包括例如产生(多个)检查配方和/或其它设置操作。应注意,除非另作具体声明,否则本说明书中使用的术语“检查”或其衍生词不关于检验区域的分辨率或大小而受限。作为非限制性示例,各种非破坏性检查工具包括扫描电子显微镜、原子力显微镜、光学检验工具等。
5.作为非限制性示例,运行时检查可以采用两阶段程序,例如,检验样本,随后审查潜在缺陷的取样位置。在第一阶段期间,以高速和相对低的分辨率检验样本的表面。在第一阶段中,生成缺陷图来示出样本上具有高缺陷可能性的疑似位置。在第二阶段期间,以相对高的分辨率更透彻地分析疑似位置中的至少一些疑似位置。在一些情况下,两个阶段皆可以由相同检验工具来实现,并且在一些其它情况下,这两个阶段由不同的检验工具来实现。
6.检查过程在半导体制造期间的各个步骤处用于检测和分类样本上的缺陷,以及执行计量相关的操作。检查的有效性可以通过(多个)过程的自动化来提高,所述(多个)过程的自动化例如,自动缺陷分类(adc)、自动缺陷审查(adr)等。


技术实现要素:

7.根据当前公开的主题的某些方面,提供了一种生成用于训练可用于样本检查的深度神经网络(dnn)的训练集的方法,所述方法由处理器和存储器电路系统(pmc)执行,所述方法包含:获得一组训练图像,每个训练图像表示样本的至少一部分;针对所述组中的每个给定训练图像:i)生成第一批训练面片(patch),包括:根据给定训练图像上的多个第一位置,将给定训练图像裁剪成第一多个原始面片;以及扩充第一多个原始面片中的至少一部
分,以便模拟由样本的物理过程导致的变化,从而产生构成第一批训练面片的第一多个扩充面片;以及ii)生成第二批训练面片,包括:在所述给定训练图像上将所述多个第一位置移位到多个第二位置,从而获得对应于所述多个第二位置的第二多个原始面片,以及重复对所述第二多个原始面片进行扩充以生成第二多个扩充面片,从而产生第二批训练面片;以及将对应于每个给定训练图像的至少第一批训练面片和第二批训练面片包括到训练集。
8.除了以上特征之外,根据当前公开的主题的这个方面的方法可以包含以技术上可能的任何期望组合或排列的下文列出的特征(i)至(viii)中的一个或多个:
9.(i).训练集可以用于训练dnn,所述dnn可用于从包含以下各项的组中选择的至少一个检查过程:基于运行时图像的自动缺陷检测、自动缺陷审查、自动缺陷分类、自动分段、以及自动计量。
10.(ii).方法可以进一步包含重复生成第二批训练面片一次或多次,直到满足完成标准为止,产生一批或多批训练面片,并且将所述一批或多批包括在训练集中。
11.(iii).方法可以进一步包含将第一多个原始面片和/或第二多个原始面片包括在训练集中。
12.(iv).预定位置可以是根据网格的。
13.(v).移位可以根据随机方向以随机偏移来执行。
14.(vi).所模拟的变化可以包括过程变化和/或灰度级(gray level)变化。
15.(vii).方法可以进一步包含将对应于每个训练图像的第一批训练面片包括在用于训练dnn的第一时期中,并且将对应于每个训练图像的第二批训练面片包括在用于训练dnn的第二时期中。
16.(viii).训练图像可以是从审查工具获得的高分辨率图像。
17.根据当前公开的主题的其它方面,提供了一种生成用于训练可用于样本检查的深度神经网络(dnn)的训练集的系统,所述系统包含处理器和存储器电路系统(pmc),所述处理器和存储器电路系统(pmc)被配置成用于:获得一组训练图像,每个训练图像表示样本的至少一部分;针对所述组中的每个给定训练图像:i)生成第一批训练面片,包括:根据给定训练图像上的多个第一位置,将给定训练图像裁剪成第一多个原始面片;以及扩充第一多个原始面片中的至少一部分,以便模拟由样本的物理过程导致的变化,从而产生构成第一批训练面片的第一多个扩充面片;以及ii)生成第二批训练面片,包括:在所述给定训练图像上将所述多个第一位置随机移位到多个第二位置,从而获得对应于所述多个第二位置的第二多个原始面片,以及重复对所述第二多个原始面片进行扩充以生成第二多个扩充面片,从而产生第二批训练面片;以及将对应于每个给定训练图像的至少第一批训练面片和第二批训练面片包括到训练集。
18.所公开的主题的这方面可以包含以技术上可能的任何期望组合或排列的上文关于所述方法列出的特征(i)至(viii)中的一个或多个,加上必要的修正。
19.根据当前公开的主题的其它方面,提供了一种包含指令的非暂时性计算机可读介质,所述指令在由计算机执行时使计算机执行生成用于训练可用于样本检查的深度神经网络(dnn)的训练集的方法,所述方法包括:获得一组训练图像,每个训练图像表示样本的至少一部分;针对所述组中的每个给定训练图像:i)生成第一批训练面片,包括:根据给定训练图像上的多个第一位置,将给定训练图像裁剪成第一多个原始面片;以及扩充第一多个
原始面片中的至少一部分,以便模拟由样本的物理过程导致的变化,从而产生构成第一批训练面片的第一多个扩充面片;以及ii)生成第二批训练面片,包括:在所述给定训练图像上将所述多个第一位置移位到多个第二位置,从而获得对应于所述多个第二位置的第二多个原始面片,以及重复对所述第二多个原始面片进行扩充以生成第二多个扩充面片,从而产生第二批训练面片;以及将对应于每个给定训练图像的至少第一批训练面片和第二批训练面片包括到训练集。
20.所公开的主题的这方面可以包含以技术上可能的任何期望组合或排列的上文关于所述方法列出的特征(i)至(viii)中的一个或多个,加上必要的修正。
附图说明
21.为了理解本公开内容并且知晓可以如何在实践中执行本公开内容,现将参考附图仅作为非限制性示例来描述实施例,在附图中:
22.图1示出根据当前公开的主题的某些实施例的检查系统的一般化框图。
23.图2示出根据当前公开的主题的某些实施例的生成训练集的一般化流程图,所述训练集用于训练可用于检查半导体样本的dnn。
24.图3示出根据当前公开的主题的某些实施例的使用所生成的训练集来训练dnn的一般化流程图。
25.图4示出根据当前公开的主题的某些实施例的实现上文参考图3详述的用于fp图像分段的技术的示例。
26.图5示出根据当前公开的主题的某些实施例的在初始位置移位之后获得的第二多个原始面片的示例。
27.图6示出根据当前公开的主题的某些实施例的一对原始面片和扩充面片的示例。
28.图7示出根据当前公开的主题的某些实施例生成的fp图像和对应的分段图的示例。
具体实施方式
29.在以下详细描述中,阐述众多具体细节以便提供对本公开内容的透彻理解。然而,本领域的技术人员将理解,当前公开的主题可在没有这些具体细节的情况下实践。在其它实例中,未详细描述公知的方法、程序、部件和电路,以免混淆当前公开的主题。
30.除非另有具体声明,如从以下讨论中显而易见的,应理解,在本说明书全文中利用诸如“产生”、“训练”、“获得”、“裁剪”、“扩充”、“移位”、“重复”、“包括”等等的术语的讨论是指计算机的(多个)动作和/或(多个)过程,所述(多个)动作和/或(多个)过程将数据操纵和/或变换为其它数据,所述数据表示为物理(诸如电子)量和/或所述数据表示物理对象。术语“计算机”应当被广泛地解释为涵盖具有数据处理能力的任何种类的基于硬件的电子装置,作为非限制性示例,所述电子装置包括在本技术中公开的fpei(制造过程检查信息)系统及其相应部分。
31.本文使用的术语“非暂时性存储器”和“非暂时性存储介质”应当被广泛地解释为涵盖适用于当前公开的主题的任何易失性计算机存储器或非易失性计算机存储器。
32.本说明书中使用的术语“缺陷”应当被广泛地解释为涵盖在样本上或样本内形成
的任何种类的异常或不期望的特征。
33.本说明书中使用的术语“设计数据”应当被广泛地解释为涵盖指示样本的分层物理设计(布局)的任何数据。设计数据可以由相应设计者提供和/或可以(例如,通过复杂模拟、简单的几何运算和布尔运算等)从物理设计导出。作为非限制性示例,可以以不同格式来提供设计数据,例如gdsii格式、oasis格式等。设计数据可以以向量格式、灰度强度图像格式、或其它方式存在。
34.应理解,除非另有具体声明,在分开的实施例的上下文中描述的当前公开的主题的某些特征也可以在单个实施例中组合提供。相反地,在单个实施例的上下文中描述的当前公开的主题的各种特征也可以分开地提供或以任何合适的子组合提供。在以下详细描述中,阐述了众多具体细节以便提供对方法和设备的透彻理解。
35.鉴于此,注意到图1,图1示出根据当前公开的主题的某些实施例的检查系统的功能框图。
36.图1中示出的检查系统100可以用于检查(例如,晶片的和/或晶片的部分的)半导体样本,作为样本制造过程的一部分。所示出的检查系统100包含基于计算机的系统101,系统101能够使用在样本制造期间获得的图像(后文称为制造过程(fp)图像)来自动地确定计量相关和/或缺陷相关的信息。系统101在后文中被称为fpei(制造过程检查信息)系统。根据当前公开的主题的某些实施例,fpei系统101可以被配置成执行图像的分段,所述图像表示样本的至少一部分,如下文将参考图3更详细地描述的。系统101可以操作地连接到一个或多个检查工具120。检查工具被配置成捕获fp图像和/或审查(多个)所捕获的fp图像和/或启用或提供关于(多个)所捕获图像的测量。fpei系统可以进一步操作地连接到设计数据服务器110和存储单元122。
37.例如,fp图像可以选自在制造过程期间捕获的样本(例如,晶片或晶片的部分)的图像、通过各种预处理阶段获得的所捕获图像的衍生物(例如,通过sem或光学检验系统捕获的晶片或光掩模的一部分的图像;大致以待由adc分类的缺陷为中心的sem图像;较大区域的sem图像,在所述较大区域中缺陷待由adr定位;对应于相同掩模位置的不同检查模态的配准图像;分段图像;高度图图像等)和基于计算机生成的设计数据的图像。
38.本文使用的术语“(多个)检查工具”应当被广泛地解释为涵盖可以在检查相关过程中使用的任何工具,作为非限制性示例,所述检查相关过程包括成像、扫描(以单次或多次扫描)、取样、审查、测量、分类和/或关于样本或样本的部分提供的其它过程。一个或多个检查工具120可以包括一个或多个检验工具和/或一个或多个审查工具。在一些情况下,检查工具120中的至少一个可以是检验工具,所述检验工具被配置成(通常,以相对高速和/或低分辨率)扫描样本(例如,整个晶片、整个管芯或管芯的部分)以捕获检验图像,以用于检测潜在缺陷。在一些情况下,检查工具120中的至少一个可以是审查工具,所述审查工具被配置成捕获由检验工具检测到的缺陷中的至少一些缺陷的审查图像,以用于确认潜在缺陷是否确实为缺陷。这样的审查工具通常被配置成(通常,以相对低速和/或高分辨率)一次一个地检验管芯的片段。检验工具和审查工具可以是位于相同或不同位置的不同工具、或是在两种不同模式下操作的单个工具。在一些情况下,至少一个检查工具可以具有计量能力。
39.在不以任何方式限制本公开内容的范围的情况下,还应当注意的是,检查工具120可以被实现为各种类型的检验机器,诸如光学成像机器、电子束检验机器等等。在一些情况
下,相同的检查工具可以提供低分辨率图像数据和高分辨率图像数据。
40.fpei系统101包括处理器和存储器电路系统(pmc)102,处理器和存储器电路系统(pmc)102操作地连接到基于硬件的i/o接口126。如参考图2进一步详述,pmc 102被配置成提供操作fpei系统所必需的所有处理,并且包含处理器(未单独示出)和存储器(未单独示出)。pmc 102的处理器可以被配置成根据计算机可读指令执行数个功能模块,所述计算机可读指令被实现在pmc中包含的非暂时性计算机可读存储器上。此类功能模块在后文被称为包含在pmc中。pmc102中包含的功能模块包括训练集生成器104。
41.根据某些实施例,训练集生成器104可以被配置成:获得一组训练图像,每个训练图像表示样本的至少一部分,并且针对所述组中的每个给定训练图像,生成第一批训练面片和第二批训练面片,并且至少包括对应于训练集中的每个给定训练图像的第一批训练面片和第二批训练面片。第一批可以通过以下操作生成:根据给定训练图像上的多个第一位置将给定训练图像裁剪成第一多个原始面片,并且扩充第一多个原始面片中的至少一些/部分以便模拟由样本的物理工艺导致的变化,从而产生构成第一批训练面片的第一多个扩充面片。第二批可以通过以下操作生成:在给定训练图像上将多个第一位置移位到多个第二位置,从而获得对应于多个第二位置的第二多个原始面片,并且重复对第二多个原始面片进行扩充以生成第二多个扩充面片,从而产生第二批训练面片。下文参考图2描述生成过程的细节。
42.在某些实施例中,功能模块可以进一步包含深度神经网络(dnn)106。dnn106可以被配置成启用使用(多个)深度神经网络进行数据处理,以用于基于制造(fp)输入数据来输出应用相关数据。可选地,pmc 102可以进一步包含前dnn模块(未单独示出)和/或后dnn模块(未单独示出),所述前dnn模块被配置成在将输入数据转发到dnn之前提供预处理,所述后dnn模块被配置成提供由dnn生成的后处理数据。将参考图2进一步详述fpei系统101、pmc 102及其中的功能模块的操作。
43.dnn 106可以包含监督式dnn模型或无监督式dnn模型,所述dnn模型包括根据相应dnn架构来组织的层。作为非限制性示例,dnn的层可以根据卷积神经网络(cnn)架构、循环神经网络(recurrent neural network)架构、递归神经网络(recursive neural network)架构、生成对抗网络(gan)架构或以其他方式来组织。可选地,所述层中的至少一些层可以被组织成多个dnn子网络。dnn的每一层可以包括多个基本计算元件(ce),在本领域中通常称为维度、神经元、或节点。
44.通常,给定层的计算元件可以与先前层和/或后续层的ce连接。先前层的ce与后续层的ce之间的每个连接与加权值相关联。给定ce可以经由相应连接从先前层的ce接收输入,每个给定连接与加权值相关联,所述加权值可以应用于所述给定连接的输入。加权值可以确定连接的相对强度并且因此确定相应输入对给定ce的输出的相对影响。给定ce可以被配置成计算激活值(例如,输入的加权和)并且通过将激活函数应用于所计算的激活来进一步导出输出。例如,激活函数可以是恒等函数、确定性函数(例如,线性、s形、阈值等等)、随机函数或其它合适的函数。来自给定ce的输出可以经由相应连接被发送到后续层的ce。同样,如上所述,ce的输出处的每个连接可以与加权值相关联,所述加权值可以在ce的输出作为后续层的ce的输入被接收之前应用于ce的输出。进一步对于加权值,可以存在与连接和ce相关联的阈值(包括限制函数)。
45.深度神经网络的加权值和/或阈值可以最初在训练之前被选择,并且可以在训练期间被进一步迭代地调整或修改,以在经训练的dnn中实现最优的加权值和/或阈值的集合。在每次迭代后,可以确定在由dnn模块生成的实际输出与和相应的数据训练集相关联的目标输出之间的差值。所述差值可以被称为误差值。当指示误差值的损失/代价函数小于预定值时,或者当实现迭代之间性能的有限改变时,可以确定训练完成。可选地,可以在训练整个dnn之前单独训练dnn子网(如果有的话)的至少一部分。
46.用于调整深度神经网络的权重/阈值的dnn输入数据集在下文中被称为训练集。
47.应注意,当前公开的主题的教示不受dnn 106的特定架构的限制。
48.替代dnn 106或除dnn 106之外,pmc 102可以包含一个或多个检查模块,诸如例如,分段模块和/或缺陷检测模块和/或自动缺陷审查模块(adr)和/或自动缺陷分类模块(adc)和/或计量相关模块和/或可用于检查半导体样本的其它检查模块。可选地,一个或多个检查模块可以包含dnn 106。可选地,dnn 106可以在检查模块之间共享,或者替代地,一个或多个检查模块中的每一个可以包含其自己的dnn 106。
49.根据某些实施例,系统101可以包含存储单元122。存储单元122可以被配置成存储操作系统101所必需的任何数据(例如,关于系统101的输入和输出的数据),以及由系统101生成的中间处理结果。举例来说,存储单元122可以被配置成存储由检查工具120生成的图像和/或图像的衍生物。因此,一个或多个图像可以从存储单元122被检取并且被提供给pmc 102以用于进一步处理。
50.在一些实施例中,系统101可以可选地包含基于计算机的图形用户界面(gui)124,所述图像用户界面(gui)124被配置成实现与系统101有关的用户指定的输入。例如,可以为用户提供样本的视觉表示(例如,通过形成gui 124的一部分的显示器),所述视觉表示包括样本的图像数据。可以通过gui为用户提供定义某些操作参数的选项。用户还可以在gui上察看操作结果。
51.如将参考图2进一步详述的,系统101被配置成经由i/o接口126接收fp输入数据。fp输入数据可以包括由检查工具120产生的数据(和/或其衍生物和/或与其相关联的元数据)和/或存储在一个或多个数据仓库中的数据。应注意,fp输入数据可以包括图像数据(例如,捕获的图像、从所捕获图像导出的图像、模拟图像、合成图像等)和相关联的数字数据(例如,元数据、手工制作(hand

crafted)的属性等)。应进一步注意,图像数据可以包括与感兴趣的层相关的数据和/或与样本的一个或多个其它层相关的数据。在本公开内容的一些实施例中,出于训练目的,fp输入数据可以包括一组训练图像,以用于准备可用于训练dnn的训练集的目的。应注意,可将图像数据和与图像数据相关联的元数据(例如,像素大小、缺陷类型的文本描述、图像捕获过程的参数等)一起接收和处理。
52.fpei系统进一步被配置成处理所接收的fp输入数据的至少一部分,并且经由i/o接口126将结果(或结果的一部分)发送到存储单元122、和/或(多个)检查工具120、和/或gui 124(用于呈现结果)和/或外部系统(例如,fab的产量管理系统(yms))。
53.本领域技术人员将容易理解,当前公开的主题的教示不限于图1所示的系统;等效功能和/或修改的功能可以以另一方式合并或分开,并且可以以软件与固件和/或硬件的任何适当组合来实现。
54.应注意,图1所示的检查系统可以实现在分布式计算环境中,在所述分布式计算环
境中,先前提及的图1所示的功能模块可以分布在数个本地装置和/或远端装置上,并且可以通过通信网络被链接。应进一步注意,在另一实施例中,检查工具120、存储单元122和/或gui 124中的至少一些可以在检查系统100的外部并且经由i/o接口126与系统101数据通信地操作。系统101可以实现为与检查工具结合使用的(多个)独立式计算机。替代地,系统101的相应功能可以至少部分地与一个或多个检查工具120集成,从而在与检查相关的过程中促进并增强检查工具120的功能。
55.仅出于说明的目的,提供以下描述以生成用于训练可用于检查半导体样本的dnn的训练集。本领域的技术人员将容易理解,当前公开的主题的教示可应用于各种类型的机器学习模型(诸如例如,支持向量机(svm)等)并且可应用于各种检查(诸如例如,分段、缺陷检测、adr、adc、自动导航模块、自动分段模块、计量相关模块等等)。
56.参见图2,图2示出根据当前公开的主题的某些实施例的生成训练集的一般化流程图,所述训练集用于训练可用于检查半导体样本的dnn。
57.可以(例如,经由i/o接口126通过训练集生成器104)获得(210)一组训练图像,每个训练图像表示样本的至少一部分。
58.取决于应用,训练图像可以是在样本的制造过程中获得的样本的“真实世界”图像。作为非限制性示例,可以通过使用一个或多个低分辨率检查机器(例如,光学检验系统、低分辨率sem等)检查样本来获得图像。替代地或附加地,可以通过使用高分辨率机器检查样本来获得图像(例如,可以通过扫描电子显微镜(sem)或原子力显微镜(afm)等来审查所选择用于审查的潜在缺陷位置的子集)。
59.在一些实施例中,还可以获得与训练图像相关联的地面实况(ground truth)数据。举例来说,地面实况数据可以包括指示应用特定信息的图像和/或标签,所述应用特定信息诸如例如,缺陷大小、定向、背景区段等。地面实况数据可以合成地产生(例如,基于cad的图像)、实际地产生(例如,所捕获图像)、通过机器学习注释产生(例如,基于特征提取和分析的标签)、通过人工注释产生、或上述的组合等。在一个实施例中,如根据当前公开的主题生成的训练集可以用于训练可用于分段fp图像的dnn,并且与训练集相关联的地面实况数据是指示训练图像上的区段的标签。例如,区段可以表示如在fp图像中呈现的结构元素。
60.认识到为了训练深度神经网络,一般需要大的训练数据库来用于充分训练dnn。然而,在训练可用于检查半导体样本的dnn的情况下,获得足够的训练数据是已知的挑战,这是因为可用的训练图像非常有限并且有时难以获得。特别地,在监督学习中,根据需要获取足够量的完全注释的图像数据是非常困难的。因此,根据当前公开的主题的某些实施例,提出了一种基于有限量的图像数据来生成训练集的方法。
61.具体地,对于组中的每个给定训练图像,可以生成多个批次的图像面片。举例来说,可以生成(220)第一批训练面片(例如,通过训练集生成器104),包括:根据训练图像上的多个第一位置将给定训练图像裁剪(222)成第一多个原始面片;以及扩充(224)第一多个原始面片以便模拟由样本的物理过程导致的一个或多个变化,从而产生第一多个扩充面片。第一多个扩充面片构成第一批训练面片。根据某些实施例,物理过程可以指样本的制造过程和/或检查过程。
62.在一些实施例中,为了生成第一批训练面片,多个第一位置可以是根据网格定义的多个预定位置,并且给定训练图像可以根据预定的第一位置被裁剪成第一多个原始面
片。举例来说,网格中的锚点(例如,网格内的交点)可以用作预定的第一位置,并且面片可被生成为以这些锚点为中心、具有预定义的大小/尺寸和步长(即,相邻面片之间的重叠量)。例如,训练图像可以是1000
×
1000像素的尺寸,并且训练面片可以被裁剪成100
×
100像素、150
×
150像素或200
×
200像素等的大小,其中在相邻面片之间具有半面片重叠的步长。
63.在一些实施例中,通过移位诸如锚点的位置之类的多个预定位置,可以获得多个第一位置。举例来说,可以根据概率函数来针对每个预定位置随机地执行移位。例如,对于网格中的第一锚点,可以根据概率函数来确定将其移位(例如,以随机偏移移位到随机方向),而对于第二锚点,可以根据概率函数来确定根本不移位。可以将确定要移位的锚点在网格中的交点周围随机移位(例如,每个锚点以随机偏移移位到随机方向),并且将经移位的位置用作裁剪图像面片的第一位置。作为另一示例,可以根据定义如何分别移位每个预定位置的预定义列表来执行移位。通过移位面片的位置,可以增加所生成面片的覆盖的多样性。本文使用的术语概率函数可以指给出事件的不同可能结果的出现概率的概率分布函数。举例来说,概率函数可以是均匀概率分布函数。
64.然后,为了模拟由样本的物理过程导致的可能变化,可以扩充原始面片。这是因为训练图像的量是有限的,因此在训练期间不会遇到制造过程和/或检查过程的所有常见物理现象。通过对面片执行扩充并将扩充面片包括在训练集中,可以极大地增加训练集的多样性并且可以增强训练对这些变化的稳健性。
65.一般而言,可以通过各种图像处理技术来提供图像的扩充,所述图像处理技术包括:添加噪声、模糊、几何变换(例如,旋转、拉伸、模拟不同角度、裁剪、缩放等)色调映射、改变图像的一个或多个像素的向量信息(例如,添加和/或修改获取的视角或信道等)等。
66.在一些实施例中,扩充技术可以以独立于应用的方式应用于训练图像。举例来说,对于分段相关的应用、和/或缺陷检测相关的应用、和/或分类相关的应用,所模拟的变化可以包括灰度级变化和/或过程变化(pv)等,并且可以应用以下扩充过程中的一个或多个来模拟这些变化的效应。
67.根据某些实施例,可以由样本的检查过程的物理效应导致灰度级变化。举例来说,即使当以相同分辨率在相同晶片的相同位置处捕获图像时,由不同检查工具拍摄的图像的灰度级也可以相差一个因数。这可以由例如检查工具/检测器的不同物理配置和校准等导致。另外,从晶片的不同位置拍摄的图像的灰度级也可以变化。因此,基于由除了捕获fp图像的工具之外的工具所捕获的图像和/或基于针对晶片的不同位置所捕获的图像来训练dnn可以劣化dnn的泛化能力。
68.因此,可以调整图像面片中的灰度级强度以模拟这种效应。举例来说,对于每个图像面片,可以生成图像面片的像素值直方图,并且灰度级偏置数可以在偏置范围内随机选择并且可被应用于直方图。例如,可以将偏置范围确定为图像中的像素值范围(或像素值范围的一部分)的预定义百分比,并且可以根据所述范围内的均匀分布来选择要应用于每个图像面片的偏置数。包含此类扩充图像的训练集将使得能够增加对工具变化的稳健性,并且减少从多个工具收集训练数据的必要性。
69.作为另一示例,也可以通过改变图像面片的对比度来调整图像面片的灰度级强度。例如,可以拉伸图像面片的像素值直方图以获得更好的对比度。
70.根据进一步的实施例,灰度级变化可以包括颜色变化(cv)。颜色变化可以发生在单个图像内(例如,由于层厚度变化)或者发生在缺陷与参考图像之间。cv可以源于不同的工具校准,并且可以通过图像中gl的局部改变来表征。为了解决这样的效应,可以将原始图像面片扩充成具有不同的期望水平的附加变化。因此,包含这样的扩充图像的训练集将使得能够增加对fp图像中的颜色变化的稳健性。
71.根据某些实施例,图案变化可能出现在不同的图像中,这可能是由过程变化(pv)的效应导致的。过程变化可以指由样本的制造过程的改变导致的变化。举例来说,制造过程可能导致不同检验图像之间的某些结构/图案的轻微移位/缩放/失真,这导致图像中的图案变化。作为另一示例,制造过程可能导致样本的厚度变化,这影响反射率,因此进而影响所得到的检验图像的灰度级。例如,管芯到管芯的材料厚度变化可以导致两个管芯之间的不同反射率,这导致两个管芯的图像的不同背景灰度级值。
72.为了解决这样的效应,在一些情况下,可以在图像面片或其至少一部分上应用扩充技术以用于调整图案变化,所述扩充技术诸如例如,缩放、翻转等。
73.在一些情况下,物理过程的其它可能效应可以包括,但不限于:噪声(例如,每个灰度级强度含有不同标度的噪声强度)、聚焦误差(例如,一些图案对聚焦误差比其它图案更为敏感)、充电效应(可以在fp与参考图像之间产生人为差异并且可以实质上影响检查过程)、四检测器的校准(可以是次优的,产生在不同视角内具有重叠的图像)等。
74.现在转向图6,示出根据当前公开的主题的某些实施例的一对原始面片和扩充面片的示例。如图所示,原始面片602经过如上所述的用于解决由例如pv、灰度级变化和/或cv等导致的变化的一个或多个扩充过程,并且生成对应的扩充面片604。举例来说,合成当前示例中的扩充面片604以模拟由pv、缩放和灰度级变化导致的效应。例如,可以看出,与原始面片602相比,调整了扩充面片604中的多边形的轮廓、多边形的大小和总体灰度级强度。
75.根据当前公开的主题的某些实施例,可以扩充第一多个原始面片中的至少一些/一部分。举例来说,可以针对第一多个原始面片中的每个原始面片,例如根据概率函数来随机地确定是否对所述原始面片进行扩充。因此,通过使用概率函数,将确定扩充面片中的至少一部分。对于第一多个原始面片中的至少一部分的每个图像面片,可以通过使用对应的图像扩充技术来模拟上述干扰变化/效应中的一个或多个。在一些情况下,用根据概率函数确定的相应扩充强度来扩充第一多个原始面片中的至少一部分。作为另一示例,可以根据相应的预定列表来确定关于是否扩充每个面片的决定、和/或确定要应用的具体扩充技术和/或确定要应用的具体扩充强度。例如,预定的决定列表可以包括要扩充哪些原始面片,并且扩充列表可以包括要将哪些扩充技术和/或具体强度应用于每个面片。
76.扩充过程的某些实施例(包括上文示出的)的优点之一是减少干扰效应对经训练的dnn的影响,并且因此改善了针对不同应用(诸如例如,分段、adc、adr、匹配、计量和其它检查任务)实现经训练的dnn的稳健性和有效性。
77.如先前提及,扩充技术可以以独立于应用的方式应用于训练图像。举例来说,对于缺陷检测相关的应用,可以替代上述技术或除了上述技术之外应用扩充技术,诸如例如,添加噪声、模糊、色调映射、植入合成缺陷、修改缺陷色调等。对于分类相关的应用,可以替代上述技术或除了上述技术之外应用扩充技术,诸如例如,几何变换、色调映射、植入合成缺陷、修改缺陷色调等。
78.替代地或附加地,可以使用合成数据(例如,缺陷相关数据、模拟的连接器或其它对象、来自其它图像的植入等)来扩充图像。作为非限制性示例,已知缺陷类型的可用图像(和/或参数)可以用于在图像中植入新的缺陷、放大图像中预先存在的缺陷的缺陷性(defectiveness)、从图像中去除缺陷、伪装图像中的缺陷(使其更难以检测)等。
79.又替代地或附加地,可以使用分段、缺陷轮廓提取和/或高度图计算来扩充图像,和/或可以通过与对应的基于cad的图像一起处理来获得图像。
80.在生成第一批训练面片之后,如上文参考框220所述,可以为组中的每个给定训练图像生成(230)(例如,通过训练集生成器104)第二批训练面片,包括在给定训练图像上将多个第一位置移位(232)到多个第二位置,从而获得对应于多个第二位置的第二多个原始面片,以及对第二多个原始面片重复(234)所述扩充以生成第二多个扩充面片,从而产生第二批训练面片。一旦为组中的每个训练图像生成了第一批训练面片和第二批训练面片,就可以将所有训练图像的两批次都包括在要用于训练dnn的训练集中。
81.根据某些实施例,上述移位和扩充可以重复一次或多次,以生成一个或多个附加批次的训练面片。附加批次也可以被包括在训练集中。在一些情况下,第一多个原始面片和第二多个原始面片也可以被包括在训练集中。
82.在一些实施例中,可以以与上文参考生成第一批面片所描述的方式类似的方式分别针对每个第一位置执行移位。可以根据概率函数随机确定是否要移位每个第一位置。举例来说,每个初始位置(或初始位置中的至少一些)可以以随机偏移在随机方向上移位,以便在图像上获得第二多个位置。可以根据第二多个位置来裁剪图像,以获得第二多个原始面片。现在转向图5,示出根据当前公开的主题的某些实施例的在移位初始位置之后获得的第二多个原始面片的示例。如图所示,可以根据图中虚线方块标记的不同位置502来裁剪面片。这些位置是从对应的初始位置随机移位后获得的。假定根据预定义的网格来确定初始位置,如可以看到的,每个当前位置502具有从对应初始位置的相应随机化(例如,在不同方向上以不同偏移移位)。在一些情况下,例如,当偏移被确定为零时,可能一些位置根本没有移位是。
83.在一些实施例中,生成训练集可以进一步包括获得关于扩充的训练面片的扩充的地面实况数据,并且将扩充的训练面片与扩充的地面实况数据相关联。所生成的训练集(包括与扩充的地面实况数据相关联的多批扩充的训练面片)可以被存储在pmc 102的存储器中。可以将所生成的扩充图像与地面实况数据相关联地添加到训练集。在一些情况下,原始图像和扩充图像可以与相同的地面实况数据相关联。替代地,扩充图像可以与扩充的地面实况数据(例如,训练集中的扩充的类别分布)相关联。
84.同样,对于与原始训练图像和训练面片相关联的地面实况数据,扩充的地面实况数据可以由分析扩充的图像面片的人在有或没有计算机系统的帮助下提供。替代地或附加地,可以由fpei系统通过在导出扩充的训练面片时处理与在相应原始面片中提供的扩充相对应的原始地面实况数据来生成扩充的地面实况数据。
85.根据当前公开的主题的某些实施例,所生成的训练集中的训练图像面片的数量可以基本上大于“真实世界”训练取样的数量。例如,训练图像组可以包括在数十个之间的训练取样,而根据当前公开的主题的某些实施例生成的训练集可以包括至少数千个训练取样。应注意,捕获的图像及其注释是缓慢的并且也可能是昂贵的过程。通过裁剪图像和扩充
图像面片来在训练集中生成足够量的训练取样实现dnn训练的效率。
86.此外,扩充和合成图像生成的技术实现以具体应用的要求来定制所生成的训练集。作为非限制性示例,可以通过呈现相应缺陷的合成和/或扩充图像来补偿与具体类别的缺陷(例如,少数派(minority)类别)相关的fab数据的缺乏。作为进一步的非限制性示例,与具体层相关的适当fab数据的缺乏可以通过与所述层相关的合成图像来补偿。同样,可以通过与特定工具相关的合成图像来补偿来自工具变化训练所需的所述工具的数据的缺乏。
87.现在转向图3,示出根据当前公开的主题的某些实施例的使用所生成的训练集来训练dnn的一般化流程图。
88.在训练阶段310中,在获得(312)如根据图2中描述的过程所生成的训练集之后,fpei系统101可以使用dnn 106来迭代地处理训练集,并且提供基于训练的参数(例如,dnn中的权重等)的应用特定集合,从而获得应用特定的经训练dnn(314)。基于训练的参数对应于应用特定的代价函数。举例来说,对于分段相关的应用,代价函数可以涉及分段准确度(例如,正确的分段标签图对比预测的标签图)。作为另一示例,对于缺陷检测相关的应用,代价函数可以涉及检测准确度和对误检和过检的惩罚。作为进一步示例,对于分类相关的应用,代价函数可以涉及分类误差。可选地,使用dnn来处理训练集可以包括由前dnn模块进行的预处理操作(例如,选择输入信道、调整大小/裁剪等)和由后dnn模块进行的后处理操作(例如,执行空间金字塔池化、多尺度池化、费舍尔(fisher)向量等)。除了应用特定的优化权重之外,基于训练的参数可以进一步包括优化的应用特定的阈值、应用特定的预处理参数和应用特定的后处理参数。
89.应注意,在一些实施例中,所示出的训练过程可以是循环的,并且可以重复数次直到dnn被充分训练。举例来说,训练过程可以从使用第一批训练面片开始。例如,如根据在框220中描述的过程生成的针对每个训练图像的第一批训练面片可以用于执行训练的第一时期(例如,完全通过训练集)。用户可以基于初始训练集(例如,第一批训练面片)为由dnn达到的结果提供反馈。例如,所提供的反馈可以包括:灵敏度的改变、对地面实况分段的更新和/或为分段应用手动定义感兴趣区域(roi)、为分类应用手动重新分类一个或多个像素、区域和/或缺陷、为缺陷检测应用重新定义掩模/边界框等。
90.pmc可以基于接收到的反馈来调整下一个训练周期。调整可以包括以下中的至少一个:更新训练集(例如,更新地面实况数据和/或扩充算法、获得附加的扩充训练取样等)、更新代价函数、更新前dnn和/或后dnn算法等。下一个训练周期(即,第二时期)可以通过使用如根据框230中描述的过程所生成的对应于每个训练图像的第二批训练面片开始。
91.一旦完成训练阶段,经训练的dnn可以在运行时320中用于特定应用。pmc102可以使用经训练的dnn来一起处理(322)一个或多个运行时fp图像,并由此获得(324)应用特定的检查相关数据。一个或多个fp图像可以通过相同或不同的检查模态获得。应注意,训练数据应对应于要用于相应应用的fp图像。
92.作为非限制性示例,应用特定的检查相关数据可以表示其意义取决于应用的值的每像素图(例如,用于缺陷检测的二进制图;用于分段的标签图;用于指示族类型或一般类别的妨害族预测的离散图;用于缺陷类型分类的离散图;用于交叉模态或管芯到模型(d2m)回归的连续值等)。每像素图可以进一步与指示针对像素获得的值的概率的每像素概率图一起获得。
93.替代地或附加地,应用特定的检查相关数据可以表示总结较大区域(不是每像素)的整个图像内容的一个或多个值,诸如例如,缺陷属性、用于某些结构元素和/或层的分段标签、用于自动缺陷审查应用的缺陷边界框候选和相关联的缺陷性概率、用于自动缺陷分类应用的缺陷类别和分类概率等。替代地或附加地,检查相关数据可以用于计量目的。例如,分段图可以用于对样本的图像执行测量。
94.参考图4,示出根据当前公开的主题的某些实施例的实施上文参考图3详述的用于分段fp图像的技术的示例。除非另外具体声明,否则本说明书中使用的术语“分段”应被广泛地解释为涵盖将图像划分成有意义的部分/区段(例如,背景和前景、有噪声区域和无噪声区域、结构元素、缺陷和无缺陷等)同时提供指示这些区段的每像素值或每区域值的任何过程。举例来说,此类分段可以由计量工具用于对样本执行测量。作为另一示例,所述分段还可以在构造属性(例如,用于定义缺陷是在主图案上、还是在背景上、还是两者都有)时可用于adc,可用于adr以用于在每个区段上应用区段特定的检测阈值等。
95.过程包含dnn的分段特定训练的设置阶段410和使用经训练的dnn进行图像分段的运行时阶段420。
96.在设置410期间,在获得一组训练图像和地面实况数据之后,pmc 102可以使用上文参考图2描述的技术来生成(412)分段训练集,并且使用所生成的分段训练集来获得(414)以分段相关训练参数为特征的经训练的分段dnn。
97.训练图像组可以包括先前捕获的低分辨率图像和/或高分辨率图像,并且可选地包括基于cad的图像。举例来说,训练图像可以是从审查工具(例如,sem)获得的高分辨率审查图像。所获得的地面实况数据提供与相应训练图像相关联的区段相关数据的信息。作为非限制性示例,与给定训练图像相关联的区段相关数据可以提供每像素或每区域的分段标签、cad多边形、roi等的信息。一旦生成训练集,将可以将训练集中的扩充的训练面片与扩充的地面实况数据相关联,所述扩充的地面实况数据提供关于相应的扩充的训练面片的区段相关信息的信息。
98.在生成(412)分段训练集之后,pmc使用训练集来训练(414)dnn。训练过程产生具有区段相关的训练参数的经训练dnn。
99.在运行时420期间,pmc使用经训练的分段dnn来处理(422)包含要分段的一个或多个捕获的fp图像的一个或多个运行时图像,以便为每个图像提供(424)分段图。所获得的分段图可以提供指示图像上的不同区段的每像素或每区域分段标签的信息。举例来说,一个层上的多边形可以具有一个分段标签,而另一层上的多边形可以具有不同的分段标签,而背景可以具有单独的分段标签。
100.现在转向图7,示出根据当前公开的主题的某些实施例生成的fp图像和对应分段图的示例。如图所示,fp图像702由经训练的分段dnn 701处理,并且dnn的输出是分段图704,在分段图704中不同的颜色表示不同的区段。举例来说,示出三个区段:水平元素706、垂直元素708和背景710。
101.根据当前公开的主题的某些实施例,为了改善分段的性能,分段dnn被设计为具有特定架构。举例来说,dnn可以应用u

net网络架构,所述u

net网络架构是用于图像的快速和精确分段的卷积网络。将u

net的架构修改和扩展为使用更少的训练图像运作并且产生更精确的分段。
102.在一些实施例中,为了在训练期间在保持高分辨率信息的同时克服消失梯度的问题,分段dnn可以应用基于u

net的架构来解决这样的问题。消失梯度问题是在用基于梯度的学习方法和反向传播来训练神经网络中发现的已知挑战。在此类方法中,在训练的每次迭代中,每个神经网络的权重接收与误差函数相对于当前权重的偏导数成比例的更新。问题是在一些情况下,梯度将变小(即,消失),有效地防止了权重改变它的值。在最坏的情况下,这可以完全阻止进一步训练神经网络。基于u

net的网络被设计为具有更好的梯度流,并且因此可以有效地解决所述问题。
103.在一些实施例中,在分段dnn的训练期间,除了计算为由dnn产生的实际输出与和相应训练数据相关联的地面实况数据之间的差值的主损失函数(例如,交叉熵损失)之外,分段dnn可以包括专用于改善分段的灵敏度的一个或多个附加损失函数。一个或多个附加损失函数可以指示样本及其图像的物理知识。根据某些实施例,可以添加一个或多个附加损失函数以改善分段的平滑性和一致性。
104.将理解,本公开内容不限于应用到在本文含有的描述中阐述或在附图中示出的细节。
105.还将理解,根据本公开内容的系统可以至少部分地在适当编程的计算机上实施。同样,本公开内容构想了可由计算机读取的计算机程序以用于执行本公开内容的方法。本公开内容进一步构想了一种有形地体现指令的程序的非暂时性计算机可读存储器,所述指令可由计算机执行以用于执行本公开内容的方法。
106.本公开内容能够具有其它实施例并且以各种方式实践和执行。因此,将理解,本文采用的措辞和术语是出于描述的目的并且不应当被认为是限制。因此,本领域的技术人员将理解,本公开内容所基于的概念可容易用作用于设计其它结构、方法、和系统的基础,以用于实现当前公开的主题的若干目的。
107.本领域技术人员将容易理解,在不脱离在所附权利要求书中并由所附权利要求书定义的本公开的范围的情况下,各种修改和改变可以应用到如上文描述的本公开内容的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1