CN113490955A - 用于产生金字塔层的架构的系统和方法 - Google Patents
用于产生金字塔层的架构的系统和方法 Download PDFInfo
- Publication number
- CN113490955A CN113490955A CN202080015418.3A CN202080015418A CN113490955A CN 113490955 A CN113490955 A CN 113490955A CN 202080015418 A CN202080015418 A CN 202080015418A CN 113490955 A CN113490955 A CN 113490955A
- Authority
- CN
- China
- Prior art keywords
- pyramid
- model
- output
- computing system
- feature
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 28
- 238000010801 machine learning Methods 0.000 claims abstract description 44
- 230000004044 response Effects 0.000 claims abstract description 7
- 238000001514 detection method Methods 0.000 claims description 23
- 230000002787 reinforcement Effects 0.000 claims description 12
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 5
- 230000035772 mutation Effects 0.000 claims description 3
- 238000012549 training Methods 0.000 description 19
- 238000013528 artificial neural network Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
公开了一种用于产生金字塔层架构的计算系统。该计算系统可以包括控制器模型,该控制器模型被配置为生成金字塔层的新架构,该金字塔层接收由主干模型输出的多个输入特征表示,并且作为响应,输出多个输出特征表示。多个输入特征表示可以具有多个不同的输入分辨率,并且多个输出特征表示可以具有多个不同的输出分辨率。计算系统可以被配置为执行多次迭代。对于每次迭代,计算系统可以将新金字塔层架构接收为控制器模型的输出,并且评估机器学习金字塔特征模型的一个或多个性能特性,该机器学习金字塔特征模型包括主干模型和具有新金字塔层架构的一个或多个金字塔层。
Description
相关申请的交叉引用
本申请要求申请日为2019年2月25日的美国临时专利申请序列No.62/810,143的优先权,其全部内容通过引用并入本文。
技术领域
本公开一般涉及神经网络架构。更具体地,本公开涉及用于产生金字塔层的架构的系统和方法。
背景技术
当前最先进的卷积神经网络架构(例如,用于执行对象检测的架构)是手动设计的。尽管这种方法已经成功并且在许多基准测试中提供了强大的性能,但是这些架构通常未被优化。例如,虽然RetinaNet、掩模RCNN、快速RCNN和更快RCNN的主干模型从现有技术分类网络的多年研究中继承了高度优化的架构,但是它们的特征金字塔网络(其结合了多个尺度的特征)通常被忽略,因此未被优化。然而,特征金字塔网络的架构表示大的相关联搜索空间。组合来自不同尺度的特征表示的可能连接和操作随着架构中的层数而指数级的增长。
发明内容
本公开的实施例的各方面和优点将在下面的描述中部分地阐述,或者可以从描述中获知,或者可以通过实施例的实践而获知。
本公开的一个示例性方面涉及一种计算系统,该计算系统可以包括一个或多个处理器以及控制器模型,该控制器模型被配置为生成金字塔层的新架构,该金字塔层接收由主干模型输出的多个输入特征表示,并且作为响应,输出多个输出特征表示。多个输入特征表示可以具有多个不同的输入分辨率。多个输出特征表示可以具有多个不同的输出分辨率。计算系统可以包括共同存储指令的一种或多种非暂时性计算机可读介质,该指令当由一个或多个处理器执行时,使计算系统执行操作。该操作可以包括:对于多次迭代中的每一次,将新的金字塔层架构接收为控制器模型的输出,以及评估机器学习金字塔特征模型的一个或多个性能特性,该机器学习金字塔特征模型包括主干模型和具有新金字塔层架构的一个或多个金字塔层。
本公开的另一示例性方面涉及一种计算系统,该计算系统可以包括一个或多个处理器和机器学习模型,该机器学习模型被配置为接收输入,并且响应于接收到输入,输出一个输出,机器学习模型包括主干模型和按顺序一个接一个堆叠的多个金字塔层。主干模型可以被配置为接收输入并且生成初始的多个输出特征表示。多个金字塔层中的每个金字塔层可以被配置为从主干模型或前一个连续金字塔层接收具有多个不同分辨率的相应多个输入特征表示,并且生成具有相同的多个不同分辨率的相应多个输出特征表示。该计算系统可以包括共同存储指令的一种或多种非暂时性计算机可读介质,指令当由一个或多个处理器执行时,使计算系统执行操作。该操作可以包括将输入输入到机器学习模型中以及将输出接收为机器学习模型的输出。
本公开的另一示例性方面涉及一种用于产生处理由主干模型输出的金字塔特征表示集的金字塔层架构的计算机实现的方法。该方法可以包括对于多次迭代中的每一次迭代,由一个或多个计算设备将新金字塔层架构接收为控制器模型的输出。该控制器模型可以被配置为生成金字塔层的新架构,该金字塔层被配置为接收由主干模型输出的多个输入特征表示,并且作为响应,输出多个输出特征表示。多个输入特征表示可以具有多个不同的输入分辨率,并且多个输出特征表示可以具有多个不同的输出分辨率。该方法可以包括由一个或多个计算设备评估机器学习金字塔特征模型的一个或多个性能特性,该机器学习金字塔特征模型包括主干模型和具有新金字塔层架构的一个或多个金字塔层。
本公开的其它方面涉及各种系统、装置、非暂态计算机可读介质、用户界面和电子设备。
将参考以下描述和所附权利要求,更好地理解本公开的各种实施例的这些和其它特征、方面和优点。并入本说明书中并构成本说明书的一部分的附图图示了本公开的示例性实施例,并且与本描述一起用于解释相关原理。
附图说明
在说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,该说明书参考了附图,其中:
图1A描绘了根据本公开的示例性实施例的用于产生金字塔层的架构的示例性计算系统的框图。
图1B描绘了根据本公开的示例性实施例的用于产生金字塔层的架构的示例性计算系统的框图。
图1C描绘了根据本公开的示例性实施例的用于产生金字塔层的架构的示例性计算系统的框图。
图2描绘了根据本公开的示例性实施例的被配置为基于奖励生成新金字塔架构的控制器模型。
图3描绘了根据本公开的示例性实施例的包括被配置为基于奖励生成新金字塔架构的强化学习代理的控制器模型。
图4描绘了根据本公开的示例性实施例的主干模型和金字塔层。
图5描绘了根据本公开的示例性实施例的多个特征表示和合并单元。
图6A至6F描绘了根据本公开的示例性实施例的由控制器模型生成的连续金字塔层的架构图。
图7描绘了根据本公开的示例性实施例的由控制器模型生成的金字塔层的架构的一个示例。
图8A至8F描绘了根据本公开的示例性实施例的由控制器模型生成的连续金字塔层的附加架构图。
图9描绘了根据本公开的示例性实施例的由控制器模型生成的金字塔层的架构的另一示例。
图10描绘了根据本公开的示例性实施例的用于产生组合多个尺度的特征表示的金字塔层的架构的示例性方法的流程图。
在多个附图上重复的附图标记旨在识别各种实现方式中的相同特征。
具体实现方式
通常,本公开涉及执行迭代搜索以优化特征金字塔网络的金字塔层的架构的系统和方法,该特征金字塔网络对多个尺度的特征表示进行组合。例如,可以使用强化学习和/或进化技术来执行迭代搜索。本公开提出的搜索空间被设计为覆盖可能的跨尺度连接以组合不同尺度的特征表示。还可以约束搜索以找到可以重复应用的架构。因此,所得到的架构可以是可堆叠的和/或可以被用于随时对象检测(“提前退出”)。
更具体地,在一些实现方式中,金字塔层的不同架构可以通过进化方法迭代地生成,或者例如在强化学习环境中学习。例如,可以训练控制器模型以使用强化学习在给定搜索空间中选择或以其他方式生成新的模型架构。可以基于奖励来训练控制器模型,该奖励基于包括具有最近提出的架构的一个或多个金字塔层的机器学习模型的一个或多个性能特性。因此,通过试错法,可以针对特定的性能特性设计或优化金字塔层架构。
所得到的结构可以是轻质和柔性的。首先,所得到的架构可以是可扩展的,因为它可以被重复地应用以改善性能。其次,得到的架构可以与各种主干模型(诸如ResNet-10、ResNet-50、ResNet-101和AmoebaNet)一起良好地工作。第三,当与各种主干模型组合时,所得到的架构可以实现与速度、精度或其他特性相关的优异性能特性。另外,经过学习的架构可以被配置用于各种任务,包括对象检测、对象识别、图像分类、其他视觉处理任务或其他非视觉机器学习任务。
因此,根据本公开的一个方面,计算系统可以包括被配置为迭代地生成金字塔层的新架构的控制器模型。金字塔层可以被配置为接收由主干模型(或者在存在多个堆叠的金字塔层的情况下,前一顺序金字塔层)输出的多个输入特征表示(例如,特征图)。多个输入特征表示可以具有多个不同的输入分辨率。金字塔层可以被配置为相对于输入特征表示执行卷积和/或其他操作。特别地,输入特征表示可以与其他特征表示(例如,输入特征表示、内部特征表示和/或输出特征表示)组合(例如,求和、全局池化等),包括具有相同或不同分辨率的两个特征表示的组合。由金字塔层对特征表示执行的操作会导致金字塔层产生并输出多个输出特征表示。多个输出特征表示可以具有多个不同的输出分辨率。
在一些实现方式中,由金字塔层生成的新特征表示可以包括金字塔层架构内部的一个或多个内部特征表示。(多个)内部特征表示可以与输入特征表示和输出特征表示不同。(多个)内部特征表示可以与(多个)其他内部特征表示、输入特征表示和/或输出特征表示连接。可以基于一个或多个内部特征表示来生成多个输出特征表示中的至少一个。
在一些实现方式中,对于多次搜索迭代中的每一次,控制器模型可以被配置为通过构造和附加多个合并单元来生成新的金字塔层架构,以产生新的金字塔架构。每个合并单元可以具有两个输入特征表示和一个输出特征表示。这可以生成金字塔层的各种特征表示之间的跨尺度连接,这会导致语义上强的特征表示。
更具体地,为了构造合并单元之一,控制器模型可以被配置为从包括多个输入特征表示的可用特征表示集中选择第一输入特征表示。控制器模型可以选择该可用特征表示集的第二不同的输入特征表示。控制器模型可以选择多个不同输出分辨率中的第一分辨率,并且选择将第一输入特征表示与第二不同的输入特征表示组合以产生具有第一分辨率的新特征表示的操作。例如,操作可以包括各种合适的二进制运算,诸如求和运算和全局池化运算。可以以这种方式独立地和/或顺序地构造多个合并单元。然后,可以附加多个合并单元以生成金字塔层架构。因此,控制器模型可以使用合并单元来生成新的金字塔层架构。
在一些实现方式中,对于至少一些合并单元,控制器模型可以将新的特征表示添加到该可用特征表示集,用于下一合并单元处的潜在选择。因此,在一些情况下,可以将新创建的特征表示与下一合并单元中的另一个特征表示进行合并。这样的操作可以促进发现或学习各种跨尺度连接。
在一些实现方式中,第一输入特征表示和第二不同的输入特征表示可以被约束为具有不同的相应分辨率。例如,第一输入特征表示和第二不同的输入特征表示可以具有在多个输入分辨率的金字塔结构内不相邻的不同的相应分辨率。因此,金字塔层的新架构可以被约束为具有组合不同尺度的特征表示的跨尺度连接。
在一些实现方式中,对于多个合并单元中的至少一些,控制器模型可以被约束为选择输出分辨率中的一个,使得由该合并单元生成的新特征表示可以形成多个输出表示中的一个。因此,金字塔层的架构可以被约束为具有预定的输出分辨率。此外,在一些实现方式中,输入分辨率中的两个或更多个可以被约束为与输出分辨率中的至少两个相同。这样的特征可以促进金字塔层的堆叠。
合并单元的数量会影响所得到的金字塔架构的复杂性和大小。合并单元的数量可以是用户定义的超参数,其可以为用户提供对所得到的金字塔架构的增加的控制。然而,在其他实施例中,合并单元的数量可以是可学习的参数,使得所得到的金字塔架构的大小和/或复杂性可以优化所得到的金字塔架构的期望性能特性(例如,快速求解时间、高精度等)。
根据另一方面,在没有干预的情况下,如本文所述的合并单元会导致缺少与其他特征表示的输出连接的特征表示。这样的配置通常不是期望的,因为这样的特征表示消耗资源而对金字塔层的输出没有贡献。为了防止这种配置,在一些实现方式中,控制器模型可以被配置为将不连接到多个输出特征表示中的任何输出特征表示的每个特征表示与具有相应分辨率的输出特征表示进行求和。因此,控制器模型可以被配置为约束或以其他方式修改金字塔层架构,以防止形成缺乏与后续特征表示的输出连接的特征表示。
计算系统可以被配置为执行一系列迭代,其中,迭代地修改和评估金字塔层架构以改进金字塔层架构。例如,计算系统可以将新的金字塔层架构接收为控制器模型的输出,并且评估包括主干模型和具有新的金字塔层架构的一个或多个金字塔层的机器学习金字塔特征模型的一个或多个性能特性。示例性性能特性可以包括准确度、精度、求解时间、迭代或浮点运算的次数和/或其组合。
计算系统可以基于机器学习金字塔特征模型的评估性能来确定架构的结果。作为一个示例,在一些实现方式中,控制器模型可以包括强化学习代理。对于多次迭代中的每次迭代,计算系统可以被配置为至少部分地基于与机器学习金字塔特征模型相关联的一个或多个评估性能特性来确定奖励,该机器学习金字塔特征模型包括主干模型和具有新的金字塔层架构的一个或多个金字塔层。计算系统可以基于奖励来修改由控制器模型实现的策略的一个或多个参数。控制器模型可以包括神经网络(例如,循环神经网络)。因此,控制器模型可以被训练为以最大化、优化或以其他方式调整与所得到的机器学习金字塔特征模型相关联的性能特性的方式来设计金字塔架构。
作为另一示例,在进化方案中,可以将最近提出的架构的性能与最佳的先前观察到的性能进行比较,以确定例如是保留最近提出的架构还是丢弃最近提出的架构,或是返回到最佳的先前观察到的架构。为了生成下一迭代架构,控制器模型可以对基于上述比较选择的模型执行进化突变。
在一些实现方式中,评估机器学习金字塔特征模型的一个或多个性能特性可以包括评估包括主干模型和多个堆叠的金字塔层的机器学习金字塔特征模型的一个或多个性能特性,每个堆叠的金字塔层具有新的金字塔层架构。例如,在机器学习模型的评估期间,主干模型可以将图像用作输入。机器学习模型可以基于由所述一个或多个金字塔层中的最后一个金字塔层输出的多个输出特征表示来执行图像的对象检测、对象分类和/或语义分割。因此,可以评估并迭代地改进金字塔层的架构的(多个)性能特性。
在一些实施例中,可以使用优化或设计金字塔架构所针对的实际任务(例如,“真实任务”)来评估性能特性。例如,可以使用将用于训练包括金字塔层的所得到的模型的图像集来评估性能特性。然而,在其他实施例中,可以使用具有相对较短的训练时间并且还与真实任务相关联的代理任务来评估性能特性。例如,使用代理任务评估性能特性可以包括使用比真实任务更低分辨率的图像(例如,图像的下采样版本)、使用主干模型的较小版本,和/或在比通常用于使用真实任务训练模型更少的时期内来评估真实任务。
在一些实现方式中,在评估机器学习模型期间,机器学习模型可以基于由一个或多个金字塔层中的任何一个输出的相应多个输出特征表示来生成预测,以执行提前退出,例如,用于“随时”对象检测。换句话说,在推断期间,模型可以从主干模型内部的金字塔层生成解(例如,对象检测信息)。例如,来自模型内的多个金字塔层的输出可以包含解(例如,对象检测信息)。当推理期间的计算资源或延迟是关注点时,该属性可能是期望的。另外,“随时”对象检测可以被用来动态地调整在推断时使用的资源量。
本公开的系统和方法提供了许多技术效果和益处。例如,本文描述的实现方式可以生成与其他手动生成的模型架构相比具有改进的准确性/延迟权衡的模型架构。此外,根据本文描述的实现方式生成的可堆叠模型架构可以被用来动态地调整在推断时使用的计算资源,从而允许“随时”对象检测。本文描述的各种示例性实现方式生成特别适于对象检测或其他视觉处理任务(诸如图像分类或语义分割)的模型架构。
作为一个示例,本公开的系统和方法可以被包括在或以其他方式用在应用场境、浏览器插件,或者在其它场境中。因此,在一些实现方式中,本公开的模型可以被包括在用户计算设备(诸如膝上型计算机、平板电脑或智能电话)中或以其他方式由用户计算设备存储和实现。作为又一示例,模型可以被包括在根据客户端-服务器关系与用户计算设备通信的服务器计算设备中或以其他方式由服务器计算设备存储和实现。例如,模型可以由服务器计算设备实现为web服务(例如,web电子邮件服务)的一部分。
现在参考附图,将进一步详细地讨论本公开的示例性实施例。
示例性设备和系统
图1A描绘了根据本公开的示例性实施例产生金字塔层的架构的示例性计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如例如个人计算设备(例如,膝上型计算机或台式计算机)、移动计算设备(例如,智能电话或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备,或任何其它类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器114可以存储由处理器112执行以使用户计算设备102执行操作的数据116和指令118。
用户计算设备102可以存储或包括一个或多个控制器模型120。例如,控制器模型120可以是或可以以其它方式包括机器学习模型,诸如神经网络(例如循环神经网络)或其它多层非线性模型。神经网络可以包括循环神经网络(例如,长短期记忆循环神经网络)、前馈神经网络或其它形式的神经网络。参考图3A和3B讨论示例性控制器模型120。
在一些实现方式中,可以通过网络180从服务器计算系统130接收一个或多个控制器模型120,将其存储在用户计算设备存储器114中,并由一个或多个处理器112使用或以其它方式实现。在一些实现方式中,用户计算设备102可以实现单个强化学习代理模型的多个并行实例。
附加地或可替代地,一个或多个控制器模型140可以被包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130中或者以其它方式由其存储和实现。例如,控制器模型140可以由服务器计算系统130实现为web服务(例如,强化学习模拟服务)的一部分。因此,可以在用户计算设备102处存储和实现一个或多个控制器模型120,和/或可以在服务器计算系统130处存储和实现一个或多个控制器模型140。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或手写笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其它示例性用户输入组件包括麦克风、传统键盘或用户可以通过其输入讯息的其它装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器134可以存储由处理器132执行以使服务器计算系统130执行操作的数据136和指令138。
在一些实现方式中,服务器计算系统130包括一个或多个服务器计算设备或以其它方式由其实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
如上所述,服务器计算系统130可以存储或以其它方式包括一个或多个控制器模型140。例如,控制器模型140可以是或可以以其它方式包括各种机器学习模型,诸如神经网络(例如,深度循环神经网络)或其它多层非线性模型。参考图3A和3B讨论示例性控制器模型140。
在一些实现方式中,所述系统和方法可以(例如,由服务器计算系统130)被提供为基于云的服务。用户可以提供预先训练或预先配置的强化学习代理模型。用户可以设置或调整输入和/或设置以定制模拟环境,例如模拟用户意图部署强化学习代理模型的现实世界环境。然后,用户可以在模拟环境中模拟强化学习代理模型随时间的性能,以预测和/或优化代理模型或其多个不同变体在现实世界环境中的性能。
服务器计算系统130可以经由与通过网络180可通信地耦合的训练计算系统150的交互来训练模型140。训练计算系统150可以与服务器计算系统130分离或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器154可以存储由处理器152执行以使训练计算系统150执行操作的数据156和指令158。在一些实现方式中,训练计算系统150包括一个或多个服务器计算设备或以其它方式由其实现。
训练计算系统150可以包括模型训练器160,该模型训练器160使用各种训练或学习技术(诸如,例如,误差反向传播)来训练存储在服务器计算系统130上的控制器模型140。在一些实现方式中,执行误差反向传播可以包括随着时间的推移执行截断的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、信号丢失等)以提高正被训练的模型的泛化能力。
具体地,模型训练器160可以基于训练数据142训练或预训练控制器模型140。训练数据142可以包括标记的和/或未标记的数据。例如,训练数据142可以包括训练金字塔层架构结构。
在一些实现方式中,如果用户已经提供了同意,那么(例如,基于先前由用户计算设备102的用户提供的讯息)训练示例可以由用户计算设备102提供。因此,在此类实现方式中,提供给用户计算设备102的控制器模型120可以由训练计算系统150在从用户计算设备102接收的特定用户的通信数据上进行训练。在一些情况下,该过程可以被称为个性化模型。
模型训练器160包括用于提供期望功能的计算机逻辑。模型训练器160可以以控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实现方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其它实现方式中,模型训练器160包括一个或多个计算机可执行指令集,这些指令被存储在诸如RAM硬盘或光学或磁性介质的有形的计算机可读存储介质中。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或其某种组合,并且可以包括任何数量的有线或无线链路。一般而言,可以使用各种各样的通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL),经由任何类型的有线和/或无线连接来传送通过网络180的通信。
图1A图示了可以被用于实现本公开的一个示例性计算系统。也可以使用其它计算系统。例如,在一些实现方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现方式中,模型120可以在用户计算设备102处被本地训练和使用。在一些这样的实现方式中,用户计算设备102可以实现模型训练器160以基于特定用户的数据来个性化模型120。
图1B描绘了根据本公开的示例性实施例执行的示例性计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括许多应用(例如,应用1至N)。每个应用都包含其自己的机器学习库和(多个)机器学习模型。例如,每个应用可以包括机器学习模型。示例性应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B中所示,每个应用可以与计算设备的许多其它组件(诸如,例如,一个或多个传感器、场境管理器、设备状态组件和/或附加组件)通信。在一些实现方式中,每个应用可以使用API(例如,公共API)与每个设备组件通信。在一些实现方式中,每个应用使用的API特定于该应用。
图1C描绘了根据本公开的示例性实施例执行的示例性计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1至N)。每个应用都与中央智能层通信。示例性应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实现方式中,每个应用可以使用API(例如,跨所有应用的共用API)与中央智能层(和存储在其中的(多个)模型)通信。
中央智能层包括许多机器学习模型。例如,如图1C中所示,可以为每个应用提供相应的机器学习模型(例如,模型),并由中央智能层管理。在其它实现方式中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现方式中,中央智能层被包括在计算设备50的操作系统内或以其它方式由其实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是用于计算设备50的数据的中央储存库。如图1C中所示,中央设备数据层可以与计算设备的多个其它组件(诸如,例如,一个或多个传感器、场境管理器、设备状态组件和/或附加组件)通信。在一些实现方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
示例模型布置
图2描绘了根据本公开的示例性实施例的示例性系统200,其被配置为执行一系列迭代,其中,迭代地修改和评估金字塔层架构以改进金字塔层架构。系统200可以包括根据本公开的示例性实施例的控制器模型202。控制器模型202可以被配置为基于奖励206生成新的金字塔架构204。奖励206可以至少部分地基于与机器学习金字塔特征模型相关联的一个或多个性能特性,该机器学习金字塔特征模型包括主干模型和具有新的金字塔层架构的一个或多个金字塔层。计算系统可以例如通过评估包括主干模型和具有新的金字塔层架构204的一个或多个金字塔层的机器学习金字塔特征模型的一个或多个性能特性,来执行新的金字塔架构204的性能评估208。计算系统可以基于奖励206来修改控制器模型202的一个或多个参数。因此,计算系统可以基于机器学习金字塔特征模型的性能评估208来确定新的金字塔架构204的结果。因此,控制器模型可以被训练为以最大化、优化或以其他方式调整与所得到的机器学习金字塔特征模型相关联的性能特性的方式来设计金字塔架构。
作为另一示例,在进化方案中,可以将最近提出的架构的性能与最佳的先前观察到的性能进行比较,以确定例如是保留最近提出的架构还是丢弃最近提出的架构,或是返回到最佳的先前观察到的架构。为了生成下一个迭代架构,控制器模型可以对基于上述比较选择的模型执行进化突变。
在一些实现方式中,评估机器学习金字塔特征模型的一个或多个性能特性(由框208表示)可以包括评估包括主干模型和多个堆叠的金字塔层的机器学习金字塔特征模型的一个或多个性能特性,每个堆叠的金字塔层具有新的金字塔层架构。例如,在评估机器学习模型期间,主干模型可以将图像作为输入。机器学习模型可以基于由一个或多个金字塔层中的最后一个金字塔层输出的多个输出特征表示来对图像执行对象检测、对象分类和/或语义分割。因此可以评估并迭代地改进金字塔层的架构的性能特性。
在一些实施例中,可以使用对其优化或设计金字塔架构的实际任务(例如,“真实任务”)来评估性能特性。例如,可以使用一组图像来评估性能特性,该组图像将用于训练到包括金字塔层的所得到的模型。然而,在其他实施例中,可以使用具有相对较短的训练时间并且还与真实任务相关联的代理任务来评估性能特性。例如,使用代理任务来评估性能特性可以包括使用比真实任务更低分辨率的图像(例如,图像的下采样版本),使用主干模型的较小版本,和/或在比通常用于使用真实任务训练模型更少的时期内来评估真实任务。
在一些实现方式中,在评估机器学习模型期间,机器学习模型可以基于由一个或多个金字塔层中的任何一个输出的相应多个输出特征表示来生成预测,以执行例如用于“随时”对象检测的早期退出。换句话说,在推断期间,模型可以从主干模型内部的金字塔层生成解(例如,对象检测信息)。例如,来自模型内的多个金字塔层的输出可以包含解(例如,对象检测信息)。当推理期间的计算资源或延迟是关注点时,该属性可能是期望的。另外,“随时”对象检测可以被用来动态地调整在推断时使用的资源量。
图3描绘了根据本公开的示例性实施例的示例性系统300,其被配置为执行一系列迭代,其中,迭代地修改和评估金字塔层架构以改进金字塔层架构。控制器模型302可以包括被配置为基于奖励306生成新的金字塔架构304的强化学习代理310。参考图2和3,控制器模型202、302可以被配置为执行附加操作,例如,如下文参考图4至8所述。
图4描绘了根据本公开的示例性实施例的主干模型400和金字塔层402。金字塔层402可以被配置为接收由主干模型400(或者在存在多个堆叠的金字塔层的情况下,前一顺序的金字塔层)输出的多个输入特征表示404(例如,特征图)。多个输入特征表示可以具有多个不同的输入分辨率。金字塔层可以被配置为相对于输入特征表示执行卷积和/或其他操作。特别地,输入特征表示可以与其他特征表示(例如,输入特征表示、内部特征表示和/或输出特征表示)组合(例如,求和、全局池化等),包括具有相同或不同分辨率的两个特征表示的组合。由金字塔层对特征表示执行的操作会导致金字塔层产生并输出多个输出特征表示。多个输出特征表示可以具有多个不同的输出分辨率。
如本文别处所述并由图4中的"×N"指示,一系列金字塔层402可以一个接一个地被堆叠(例如,对于特定金字塔层的输入表示可以是来自前一顺序金字塔层的输出表示,并且由特定金字塔层提供的输出表示可以是对于下一顺序金字塔层的输入表示)。第一金字塔层的输入可以是直接从主干模型400中的特征层级获取的特征。
在一些实现方式中,最后一个金字塔层(和/或如果启用随时退出,则是中间金字塔层)的输出特征表示可以作为输入提供到另外的网络406中,所述另外的网络406可以例如基于所接收的输出表示来执行分类和/或回归。因此,在一些实现方式中,可以在模型的训练期间,在所有金字塔层之后附接附加的分类器和/或框回归头部406。在推断期间,头部406可以基于由最后一个金字塔层(和/或如果启用随时退出,则是中间金字塔层)生成的特征表示来生成检测。
具体地,关于随时退出,利用重复的金字塔层进行缩放的一个优点是可以在任何给定的层处获得特征金字塔表示。这实现了可以在任何给定的金字塔层处生成检测结果的随时检测。因此,在一些实现方式中,可以在训练期间,在所有金字塔层之后附接分类器和框回归头部406。在推断期间,模型可以从任何金字塔层生成检测。当在推断期间,计算资源或延迟是关注点时,该属性可能是期望的,并且提供了可以动态地决定多少资源用于生成检测的解决方案。
在一个示例中,输入特征404是5个尺度{C3,C4,C5,C6,C7},相应的步幅为{8,16,32,64,128}个像素。通过将步幅2和步幅4最大池化应用于C5来创建C6和C7。然后,将输入特征传递到金字塔层中的一系列合并单元,以将特征与跨尺度连接组合并生成增强的特征表示{P3,P4,P5,P6,P7}。由于金字塔层402的输入和输出两者可以具有相同的尺度,金字塔层402的架构可以被复制和重复地级联以生成可扩展的模型架构。可以控制金字塔层的数量以权衡速度和准确度。更多的金字塔层通常会产生更大的准确度但会降低性能。较少的金字塔层通常会产生更快的性能但准确度较低。
图5描绘了根据本公开的示例性实施例的多个特征表示500和合并单元502。对于多次搜索迭代中的每一次,控制器模型可以被配置为通过构造和附加多个合并单元502来生成新的金字塔层架构,以产生新的金字塔架构。每个合并单元502可以具有两个输入特征表示和一个输出特征表示。这可以生成金字塔层的各种特征表示之间的跨尺度连接,这会导致语义上强的特征表示。
更具体地,为了构造合并单元502之一,控制器模型可以被配置为从包括多个输入特征表示500的可用特征表示集中选择第一输入特征表示504。控制器模型可以选择该可用特征表示集的第二不同的输入特征表示506。控制器模型可以选择多个不同输出分辨率中的第一分辨率,并且选择将第一输入特征表示504与第二不同的输入特征表示506组合以产生具有第一分辨率的新特征表示510的操作508。例如,操作508可以包括各种合适的二进制运算,诸如求和运算和全局池化运算。合并单元设备502可以被配置为执行卷积512(例如,3×3卷积)。可以以这种方式独立地和/或顺序地构造多个合并单元502。然后,可以附加多个合并单元502以生成金字塔层架构。因此,控制器模型可以使用合并单元502来生成新的金字塔层架构,例如,如下文参考图6A至6F所述。
在一些实现方式中,对于至少一些合并单元502,控制器模型可以将新的特征表示添加到该可用特征表示集,用于在下一合并单元处(如由箭头514所示的)的潜在选择。因此,在一些情况下,可以将新创建的特征表示与下一个合并单元中的另一个特征表示进行合并。这样的操作可以促进发现或学习各种跨尺度连接。
在一些实现方式中,第一输入特征表示504和第二不同的输入特征表示506可以被约束为具有不同的相应分辨率。例如,第一输入特征表示504和第二不同的输入特征表示506可以具有在多个输入分辨率的金字塔结构内不相邻的不同的相应分辨率,例如,如下文参考图6A至7所述。因此,金字塔层的新架构可以被约束为具有组合不同尺度的特征表示的跨尺度连接。
图6A至6F描绘了根据本公开的示例性实施例的由控制器模型生成的连续金字塔层的架构图。点表示特征表示,并且箭头表示特征表示之间的连接。输入特征层被圈出并位于每个图的左侧。同一行中的特征表示可以具有相同的分辨率。分辨率在向上方向上降低。例如,参考图6A,最下一行的点602表示具有相同分辨率的特征表示和潜在特征表示。下一行的点604表示具有比最后一行的点602的分辨率低的、同一分辨率的特征表示和潜在特征表示。在该示例中,可以仅允许输出特征表示与具有更大分辨率的其他输出特征表示形成连接。
图6A图示了根据本公开的各方面的基准或初始金字塔结构架构。图6B至6F图示了根据本公开的各方面的使用各种搜索迭代发现的架构。在该示例中,代理任务被用于评估金字塔架构。所发现的架构随着代理任务的奖励逐渐提高而收敛。图6F图示了在使用其他主干模型的后续实验中使用的最终架构。图6F中所示的最终架构也在图7中示出。
在一些实现方式中,由金字塔层生成的新特征表示可以包括金字塔层架构内部的一个或多个内部特征表示。例如,参考图6B,金字塔层架构可以包括第一内部特征表示606和第二内部特征表示608。(多个)内部特征表示606、608可以与输入特征表示610、612、614和输出特征表示616、618、620、622不同。
(多个)内部特征表示可以与(多个)其它内部特征表示、输入特征表示和/或输出特征表示相连接。例如,参考图6B,第一内部特征表示606可以与作为输入的两个输入特征表示610、614连接,并且与作为输出的第二内部特征表示608连接。第二特征表示608可以与第一内部特征表示606和作为输入的输入特征表示614中的一个中的每一个连接,并且与作为输出的输出特征表示618中的一个连接。可以基于内部特征表示606、608中的一个或多个来生成多个输出特征表示616、618、620、622中的至少一个。
如上所述,可以附加多个合并单元以生成金字塔层架构。参考图6B,连接的特征表示可以表示相应的附加合并单元。例如,在一个合并单元中,可以选择两个输入特征表示610、614,例如如上参考图5所述。可以组合输入特征表示610、614以产生新的特征表示(例如,第一内部特征表示608)。如所示,第一内部特征表示608可以具有与输入特征表示610、614中的一个或两个不同的分辨率,使得创建了跨尺度连接。
在一些实现方式中,新的特征表示可以用于下一合并单元处的潜在选择。例如,参考图6B,第一内部特征表示606和输入特征表示610之一被组合以产生第二内部特征表示608。因此,在一些情况下,新创建的特征表示(例如,第一内部特征表示606)可以在下一合并单元中与另一特征表示(例如,输入特征表示610)合并。这样的操作可以促进各种跨尺度连接的发现或学习。
在一些实现方式中,第一输入特征表示和第二不同的输入特征表示可以被约束为具有不同的相应分辨率。例如,第一输入特征表示和第二不同的输入特征表示可以具有在多个输入分辨率的金字塔结构内不相邻的不同的相应分辨率。例如,如图6B所示,第一内部特征表示606和输入特征表示610具有不同的分辨率。另外,第二内部特征表示608具有与第一内部特征表示606和输入特征表示610中的每一个不同的分辨率。因此,金字塔层的新架构可以被约束为具有组合在不同尺度的特征表示的跨尺度连接。
在一些实现方式中,对于多个合并单元中的至少一些,控制器模型可以被约束为选择输出分辨率中的一个,使得由该合并单元生成的新特征表示可以形成多个输出表示中的一个。例如,参考图6B,控制器模型可以将输出特征表示616中的一个选择为第一内部特征表示606和输入特征表示614中的一个的输出。因此,金字塔层的架构可以被约束为具有预定的输出分辨率。此外,在一些实现方式中,输入分辨率中的两个或更多个(例如,分别包含输入特征表示610、612、614的下三行)可以被约束为与输出分辨率中的至少两个(例如,包括输出特征表示620、622、624的行)相同。这样的约束可以促进金字塔层的堆叠。
合并单元的数量会影响所得到的金字塔架构的复杂性和大小。合并单元的数量可以是用户定义的超参数,其可以为用户提供对所得到的金字塔架构的增加的控制。然而,在其他实施例中,合并单元的数量可以是可学习的参数,使得所得到的金字塔架构的大小和/或复杂度可以优化所得到的金字塔架构的期望性能特性(例如,快速求解时间、高准确度等)。
根据另一方面,在没有干预的情况下,如本文所述的合并单元会导致缺少与其他特征表示的输出连接的特征表示。这样的配置通常不是期望的,因为这样的特征表示消耗资源而对金字塔层的输出没有贡献。为了防止这种配置,在一些实现方式中,控制器模型可以被配置为将不连接到多个输出特征表示中的任何输出特征表示的每个特征表示与具有相应分辨率的输出特征表示进行求和。因此,控制器模型可以被配置为约束或以其他方式修改金字塔层架构,以防止形成缺乏与后续特征表示的输出连接的特征表示。
例如,参考图6F,如果内部特征表示626缺少到多个输出特征表示628、630、632、634、636中的任何一个的连接,则控制器模型可以被配置为将内部特征表示626与具有相同输出分辨率的输出特征表示634连接。
图7图示了图6F的金字塔层架构700。如上参考图6A至6F所述,迭代地生成金字塔层架构700。输入特征表示702、704、706可以被输入到金字塔层架构700中。可以如所示组合输入特征表示702、704、706以生成内部特征表示708、710。例如,如果需要或有帮助,可以通过最近邻上采样或最大池化将输入特征表示702、704、706调整为输出分辨率。合并的特征图之后可以是修正线性单元(ReLU)、3×3卷积和/或批归一化层,例如如图所示。金字塔层架构700可以包括输出特征表示712、714、716、718、720。
图8A至8F描绘了根据本公开的示例性实施例的由控制器模型生成的连续金字塔层的架构图。在该示例中,与如上参考图6A至6F描述的示例相反,每个输出特征表示可以自由地形成与具有更大或更小分辨率的其他输出特征表示的连接。图9以与图7图示图6F的金字塔层架构相同的方式,图示了图8F的金字塔层架构。
本公开的系统和方法提供了许多技术效果和益处。例如,本文描述的实现方式可以生成与其他手动生成的模型架构相比具有改进的准确性/延迟权衡的模型架构。此外,根据本文描述的实现方式生成的可堆叠模型架构可以被用来动态地调整在推断时使用的计算资源,从而允许“随时”对象检测。本文描述的各种示例性实现方式生成特别适于对象检测或其他视觉处理任务(诸如图像分类或语义分割)的模型架构。
作为一个示例,本公开的系统和方法可以被包括在或以其他方式用在应用场境、浏览器插件,或者在其它场境中。因此,在一些实现方式中,本公开的模型可以被包括在用户计算设备(诸如膝上型计算机、平板电脑或智能电话)中或以其他方式由用户计算设备存储和实现。作为又一示例,模型可以被包括在根据客户端-服务器关系与用户计算设备通信的服务器计算设备中或以其他方式由服务器计算设备存储和实现。例如,模型可以由服务器计算设备实现为web服务(例如,web电子邮件服务)的一部分。
示例性方法
图10描绘了根据本公开的示例性实施例所执行的示例性方法的流程图。虽然为了说明和讨论的目的,图10描绘了以特定次序执行的步骤,但是本公开的方法不限于特定示出的次序或布置。在不脱离本公开的范围的情况下,可以以各种方式省略、重新布置、组合和/或调整方法800的各个步骤。
根据本公开的示例性实施例,计算系统可以执行一系列迭代,其中,迭代地修改和评估金字塔层架构以改进金字塔层架构。例如,在802处,计算系统可以将新的金字塔层架构接收为控制器模型的输出,该控制器模型被配置为生成金字塔层的新架构,例如如上参考图2至图9所述。
在804处,计算系统可以评估机器学习金字塔特征模型的一个或多个性能特性,该机器学习金字塔特征模型包括主干模型和具有新的金字塔层架构的一个或多个金字塔层,例如如上参考图2至图9所述。
在806处,计算系统可以基于所评估的性能特性来确定新的金字塔层架构的结果,例如,如上参考图2至图9所述。然后,计算系统可以返回到步骤802。
附加公开
本文讨论的技术参考服务器、数据库、软件应用和其它基于计算机的系统,以及对此类系统采取的动作以及发送到此类系统和来自此类系统的信息。基于计算机的系统的固有灵活性允许在组件之间进行任务和功能的多种可能的配置、组合以及划分。例如,本文讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,或者分布在多个系统上。分布式组件可以顺序或并行地操作。
虽然已经参考关于本主题的各种具体的示例性实施例详细描述了本主题,但是每个示例都是通过解释的方式提供的,而不是限制本公开。本领域技术人员在理解了前述内容后,可以容易地产生此类实施例的变更、变型和等同物。因而,本主题公开不排除包括如本领域的普通技术人员显而易见的、对本主题的此类修改、变型和/或添加。例如,作为一个实施例的一部分图示或描述的特征可以与另一个实施例一起使用来产生又一个实施例。因此,旨在本公开覆盖此类变更、变型和等同物。
Claims (22)
1.一种计算系统,包括:
一个或多个处理器;
控制器模型,所述控制器模型被配置为生成金字塔层的新架构,所述金字塔层接收由主干模型输出的多个输入特征表示,并且作为响应,输出多个输出特征表示,其中,所述多个输入特征表示具有多个不同的输入分辨率,并且其中,所述多个输出特征表示具有多个不同的输出分辨率;以及
共同存储指令的一种或多种非暂时性计算机可读介质,所述指令当由所述一个或多个处理器执行时,使所述计算系统执行操作,所述操作包括:
对于多次迭代中的每一次:
将新金字塔层架构接收为所述控制器模型的输出;以及
评估机器学习金字塔特征模型的一个或多个性能特性,所述机器学习金字塔特征模型包括所述主干模型和具有所述新金字塔层架构的一个或多个金字塔层。
2.如任一前述权利要求中所述的计算系统,其中,对于所述多次迭代中的每一次:
所述新金字塔层架构执行所述多个输入特征表示中的至少两个输入特征表示的至少一种组合,以产生所述金字塔层架构内部的至少一个内部特征表示;以及
基于所述至少一个内部特征表示生成所述多个输出特征表示中的至少一个输出特征表示。
3.如任一前述权利要求中所述的计算系统,其中,对于所述多次迭代中的每一次,所述控制器模型被配置为通过执行控制器操作来生成所述新金字塔层架构,所述控制器操作构造多个合并单元,其中,所述操作包括对于所述多个合并单元中的每一个:
从包括所述多个输入特征表示的可用特征表示集中选择第一输入特征表示;
选择所述可用特征表示集中的第二不同的输入特征表示;
选择所述多个不同的输出分辨率中的第一分辨率;以及
选择将所述第一输入特征表示与所述第二不同的输入特征表示相结合以产生具有所述第一分辨率的新特征表示的操作。
4.如权利要求3所述的计算系统,其中,选择所述操作包括选择求和运算和全局池化运算中的一个。
5.如任一前述权利要求中所述的计算系统,其中,所述控制器操作进一步包括附加所述多个合并单元以产生所述新金字塔层架构。
6.如任一前述权利要求中所述的计算系统,其中,所述控制器操作进一步包括对于所述多个合并单元中的至少一些合并单元,将所述新特征表示添加到所述可用特征表示集以供在下一合并单元处进行潜在选择。
7.如任一前述权利要求中所述的计算系统,其中,所述新特征表示包括在所述金字塔层架构内部的内部特征表示。
8.如任一前述权利要求中所述的计算系统,其中,所述第一输入特征表示和所述第二不同输入特征表示被约束为具有相应不同的分辨率。
9.如任一前述权利要求中所述的计算系统,其中,所述第一输入特征表示和所述第二不同输入特征表示具有在所述多个输入分辨率的金字塔结构内不相邻的相应不同的分辨率。
10.如任一前述权利要求中所述的计算系统,其中,对于所述多个合并单元中的至少特定数量的合并单元,所述控制器模型被约束为将所述多个不同输出分辨率中的一个输出分辨率选择为所述新特征表示的第一分辨率,使得所述新特征表示形成所述多个输出表示中的一个输出表示。
11.如任一前述权利要求中所述的计算系统,其中,所述至少两个不同的输入分辨率被约束为与所述至少两个不同的输出分辨率相同,使得所述金字塔层架构是可堆叠的。
12.如任一前述权利要求中所述的计算系统,其中,所述多个合并单元的数量是用户定义的超参数或可学习参数。
13.如任一前述权利要求中所述的计算系统,其中,所述控制器操作进一步包括在构造所述多个合并单元之后,将不连接到所述多个输出特征表示中的任何一个的每个特征表示与具有对应分辨率的所述输出特征表示进行求和。
14.如任一前述权利要求中所述的计算系统,其中,所述控制器模型包括强化学习代理,并且其中,所述操作进一步包括对于所述多次迭代中的每一次:
至少部分地基于所述一个或多个性能特性来确定奖励;以及
基于所述奖励,修改所述控制器模型的一个或多个参数。
15.如任一前述权利要求中所述的计算系统,其中,所述控制器模型被配置为通过执行进化突变来生成用于所述金字塔层的所述新架构,并且其中,所述操作进一步包括对于所述多次迭代中的每一次,至少部分地基于所述一个或多个性能特性来确定保留还是丢弃所述新金字塔层架构。
16.如任一前述权利要求中所述的计算系统,其中,评估所述机器学习金字塔特征模型的所述一个或多个性能特性包括评估包括所述主干模型和多个堆叠的金字塔层的所述机器学习金字塔特征模型的所述一个或多个性能特性,所述多个堆叠的金字塔层中的每个金字塔层都具有所述新金字塔层架构。
17.如任一前述权利要求中所述的计算系统,其中,在评估所述机器学习模型期间,所述主干模型将图像作为输入,并且其中,所述机器学习模型基于由所述一个或多个金字塔层中的最后一个金字塔层输出的多个输出特征表示,对所述图像执行对象检测、对象分类或语义分割中的一个。
18.如任一前述权利要求中所述的计算系统,其中,在评估所述机器学习模型期间,所述机器学习模型能够基于由所述一个或多个金字塔层中的任何一个输出的相应多个输出特征表示来生成预测以执行提前退出。
19.一种计算系统,包括:
一个或多个处理器;
机器学习模型,所述机器学习模型被配置为接收输入,并且响应于接收到所述输入,输出一个输出,所述机器学习模型包括主干模型和按顺序一个接一个堆叠的多个金字塔层,其中,所述主干模型被配置为接收所述输入并且生成初始的多个输出特征表示,其中,所述多个金字塔层中的每个金字塔层被配置为从所述主干模型或前一连续金字塔层接收具有多个不同分辨率的相应多个输入特征表示,并且生成具有相同的多个不同分辨率的相应多个输出特征表示;
共同存储指令的一种或多种非暂时性计算机可读介质,所述指令当由所述一个或多个处理器执行时,使所述计算系统执行操作,所述操作包括:
将所述输入输入到所述机器学习模型中;以及
将所述输出接收为所述机器学习模型的输出。
20.如权利要求19所述的计算系统,其中,所述多个金字塔层中的每一个金字塔层都具有相同的金字塔层架构。
21.如权利要求19所述的计算系统,其中,所述相同的金字塔层架构由执行迭代搜索过程的控制器模型产生。
22.一种用于产生处理由主干模型输出的金字塔特征表示集的金字塔层架构的计算机实现的方法,所述方法包括,对于多次迭代中的每一次:
由一个或多个计算设备将新金字塔层架构接收为控制器模型的输出,所述控制器模型被配置为生成金字塔层的新架构,所述金字塔层被配置为接收由主干模型输出的多个输入特征表示,并且作为响应,输出多个输出特征表示,所述多个输入特征表示具有多个不同的输入分辨率,并且所述多个输出特征表示具有多个不同的输出分辨率;以及
由所述一个或多个计算设备评估机器学习金字塔特征模型的一个或多个性能特性,所述机器学习金字塔特征模型包括所述主干模型和具有所述新金字塔层架构的一个或多个金字塔层。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962810143P | 2019-02-25 | 2019-02-25 | |
US62/810,143 | 2019-02-25 | ||
PCT/US2020/019581 WO2020176435A1 (en) | 2019-02-25 | 2020-02-25 | Systems and methods for producing an architecture of a pyramid layer |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113490955A true CN113490955A (zh) | 2021-10-08 |
Family
ID=69846602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080015418.3A Pending CN113490955A (zh) | 2019-02-25 | 2020-02-25 | 用于产生金字塔层的架构的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220092387A1 (zh) |
EP (1) | EP3931762A1 (zh) |
JP (1) | JP7317979B2 (zh) |
KR (1) | KR20210116640A (zh) |
CN (1) | CN113490955A (zh) |
WO (1) | WO2020176435A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113052812B (zh) * | 2021-03-22 | 2022-06-24 | 山西三友和智慧信息技术股份有限公司 | 一种基于AmoebaNet的MRI前列腺癌检测方法 |
KR20230111099A (ko) | 2022-01-17 | 2023-07-25 | 네이버 주식회사 | 딥러닝 모델의 튜닝 방법 및 시스템 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160104056A1 (en) * | 2014-10-09 | 2016-04-14 | Microsoft Technology Licensing, Llc | Spatial pyramid pooling networks for image processing |
WO2018224471A1 (en) * | 2017-06-05 | 2018-12-13 | Deepmind Technologies Limited | Selecting actions using multi-modal inputs |
US20180365557A1 (en) * | 2016-03-09 | 2018-12-20 | Sony Corporation | Information processing method and information processing apparatus |
US20190026639A1 (en) * | 2017-07-21 | 2019-01-24 | Google Llc | Neural architecture search for convolutional neural networks |
US20190057507A1 (en) * | 2017-08-18 | 2019-02-21 | Samsung Electronics Co., Ltd. | System and method for semantic segmentation of images |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997029437A1 (en) | 1996-02-09 | 1997-08-14 | Sarnoff Corporation | Method and apparatus for training a neural network to detect and classify objects with uncertain training data |
US20130107061A1 (en) | 2011-10-31 | 2013-05-02 | Ankit Kumar | Multi-resolution ip camera |
KR101834279B1 (ko) | 2016-10-04 | 2018-03-06 | 네이버 주식회사 | 지연 특징 추출을 이용하여 얼굴을 검출하기 위한 이미지 처리 방법 및 시스템 |
JP7146372B2 (ja) | 2017-06-21 | 2022-10-04 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、プログラム、および、記憶媒体 |
CN109376667B (zh) | 2018-10-29 | 2021-10-01 | 北京旷视科技有限公司 | 目标检测方法、装置及电子设备 |
-
2020
- 2020-02-25 CN CN202080015418.3A patent/CN113490955A/zh active Pending
- 2020-02-25 US US17/433,677 patent/US20220092387A1/en active Pending
- 2020-02-25 JP JP2021549673A patent/JP7317979B2/ja active Active
- 2020-02-25 EP EP20712782.0A patent/EP3931762A1/en active Pending
- 2020-02-25 KR KR1020217026940A patent/KR20210116640A/ko unknown
- 2020-02-25 WO PCT/US2020/019581 patent/WO2020176435A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160104056A1 (en) * | 2014-10-09 | 2016-04-14 | Microsoft Technology Licensing, Llc | Spatial pyramid pooling networks for image processing |
US20180365557A1 (en) * | 2016-03-09 | 2018-12-20 | Sony Corporation | Information processing method and information processing apparatus |
WO2018224471A1 (en) * | 2017-06-05 | 2018-12-13 | Deepmind Technologies Limited | Selecting actions using multi-modal inputs |
US20190026639A1 (en) * | 2017-07-21 | 2019-01-24 | Google Llc | Neural architecture search for convolutional neural networks |
US20190057507A1 (en) * | 2017-08-18 | 2019-02-21 | Samsung Electronics Co., Ltd. | System and method for semantic segmentation of images |
Non-Patent Citations (3)
Title |
---|
KONG, T: "Deep Feature Pyramid Reconfiguration for Object Detection", COMPUTER VISION-ECCV2018, PTV, vol. 11209, 1 January 2018 (2018-01-01), pages 3 - 13 * |
KONG, T: "Deep Feature Pyramid Reconfiguration for Object Detection", COMPUTER VISION-ECCV2018, PTV, vol. 11209, 24 August 2018 (2018-08-24), pages 3 - 6 * |
ZOPH, B: "Learning Transferable Architectures for Scalable Image Recognition", 2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 1 January 2018 (2018-01-01), pages 1 - 4 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020176435A1 (en) | 2020-09-03 |
EP3931762A1 (en) | 2022-01-05 |
JP7317979B2 (ja) | 2023-07-31 |
US20220092387A1 (en) | 2022-03-24 |
KR20210116640A (ko) | 2021-09-27 |
JP2022523207A (ja) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475277B2 (en) | Accurate and interpretable classification with hard attention | |
EP3446260B1 (en) | Memory-efficient backpropagation through time | |
US11907853B2 (en) | Using hierarchical representations for neural network architecture searching | |
US11676008B2 (en) | Parameter-efficient multi-task and transfer learning | |
AU2019451948B2 (en) | Real-time video ultra resolution | |
US10380479B2 (en) | Acceleration of convolutional neural network training using stochastic perforation | |
US10949734B2 (en) | Progressive neural networks | |
CN110766142A (zh) | 模型生成方法和装置 | |
CN111727441A (zh) | 实现用于高效学习的条件神经过程的神经网络系统 | |
CN110428042B (zh) | 往复地缩放神经元的连接权重和输入值来挫败硬件限制 | |
US10860895B2 (en) | Imagination-based agent neural networks | |
US11842264B2 (en) | Gated linear networks | |
US20220366257A1 (en) | Small and Fast Video Processing Networks via Neural Architecture Search | |
US20230267307A1 (en) | Systems and Methods for Generation of Machine-Learned Multitask Models | |
CN115699041A (zh) | 利用专家模型的可扩展迁移学习 | |
CN113490955A (zh) | 用于产生金字塔层的架构的系统和方法 | |
US20230059708A1 (en) | Generation of Optimized Hyperparameter Values for Application to Machine Learning Tasks | |
US11488007B2 (en) | Building of custom convolution filter for a neural network using an automated evolutionary process | |
US20240029088A1 (en) | System for customer churn prediction and prevention | |
CN113168555A (zh) | 减少卷积神经网络的资源消耗的系统及相关方法 | |
KR20210141150A (ko) | 이미지 분류 모델을 이용한 이미지 분석 방법 및 장치 | |
US20210248472A1 (en) | Neural Network Layers with a Controlled Degree of Spatial Invariance | |
CN111465946B (zh) | 使用分层表示进行神经网络体系结构搜索 | |
JP6994572B2 (ja) | データ処理システムおよびデータ処理方法 | |
GB2604640A (en) | Performing a processing task instructed by an application |
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 |