CN113095473A - 神经网络架构搜索***和方法及计算机可读记录介质 - Google Patents
神经网络架构搜索***和方法及计算机可读记录介质 Download PDFInfo
- Publication number
- CN113095473A CN113095473A CN202010021676.4A CN202010021676A CN113095473A CN 113095473 A CN113095473 A CN 113095473A CN 202010021676 A CN202010021676 A CN 202010021676A CN 113095473 A CN113095473 A CN 113095473A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network architecture
- architecture
- control unit
- loss
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 214
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000005070 sampling Methods 0.000 claims abstract description 115
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000012549 training Methods 0.000 claims abstract description 39
- 238000001514 detection method Methods 0.000 claims description 29
- 238000011176 pooling Methods 0.000 claims description 29
- 230000009466 transformation Effects 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 7
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011221 initial treatment Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000010200 validation analysis 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
- 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
-
- 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
- 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- 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/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
公开了一种神经网络架构搜索***和方法及计算机可读记录介质。神经网络架构搜索***包括:搜索空间限定单元,限定作为描述神经网络架构的架构参数的集合的搜索空间,神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;控制单元,基于控制单元的参数,对搜索空间中的架构参数进行采样,以生成子神经网络架构;训练单元,使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及奖励反馈单元,根据所生成的子神经网络架构的损失来评估控制单元的奖励,并且朝向使得奖励更大的方向调整控制单元的参数,其中,迭代地进行上述单元中的处理,直到满足预定迭代终止条件为止。
Description
技术领域
本公开涉及信息处理领域,具体涉及一种神经网络架构搜索***和方法及计算机可读记录介质。
背景技术
现有技术中的神经网络是人工设计的,因此需要较多资源或者需要许多专业的工程师来完成神经网络的设计。作为示例,现有技术中的用于对象检测的卷积神经网络是人工设计的,因此需要较多资源或者需要许多专业的工程师来完成卷积神经网络的设计。
发明内容
在下文中给出了关于本公开的简要概述,以便提供关于本公开的某些方面的基本理解。但是,应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图用来确定本公开的关键性部分或重要部分,也不是意图用来限定本公开的范围。其目的仅仅是以简化的形式给出关于本公开的某些概念,以此作为稍后给出的更详细描述的前序。
鉴于以上问题,本公开的目的是提供能够解决现有技术中的一个或多个缺点的神经网络架构搜索***和方法。
根据本公开的一方面,提供了一种神经网络架构搜索***,该***包括:搜索空间限定单元,可以被配置成限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;控制单元,可以被配置成基于控制单元的参数,对搜索空间中的架构参数进行采样,以生成子神经网络架构;训练单元,可以被配置成使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及奖励反馈单元,可以被配置成根据所生成的子神经网络架构的损失来评估控制单元的奖励,并且朝向使得奖励更大的方向调整控制单元的参数,其中,迭代地进行控制单元、训练单元以及奖励反馈单元中的处理,直到满足预定迭代终止条件为止。
根据本公开的另一方面,提供了一种神经网络架构搜索方法,该方法包括:搜索空间限定步骤,限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;控制步骤,基于控制单元的参数,对搜索空间中的架构参数进行采样,以生成子神经网络架构;训练步骤,使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及奖励反馈步骤,根据所生成的子神经网络架构的损失来评估控制单元的奖励,并且朝向使得奖励更大的方向调整控制单元的参数,其中,迭代地进行控制步骤、训练步骤以及奖励反馈步骤中的处理,直到满足预定迭代终止条件为止。
根据本公开的又一方面,提供了一种记录有程序的计算机可读记录介质,所述程序用于使得计算机执行以下步骤:搜索空间限定步骤,限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;控制步骤,基于控制单元的参数,对搜索空间中的架构参数进行采样,以生成子神经网络架构;训练步骤,使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及奖励反馈步骤,根据所生成的子神经网络架构的损失来评估控制单元的奖励,并且朝向使得奖励更大的方向调整控制单元的参数,其中,迭代地进行控制步骤、训练步骤以及奖励反馈步骤中的处理,直到满足预定迭代终止条件为止。
根据本公开的其它方面,还提供了用于实现上述根据本公开的方法的计算机程序代码和计算机程序产品。
在下面的说明书部分中给出本公开实施例的其它方面,其中,详细说明用于充分地公开本公开实施例的优选实施例,而不对其施加限定。
附图说明
本公开可以通过参考下文中结合附图所给出的详细描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并形成说明书的一部分,用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。其中:
图1是示出根据本公开实施例的神经网络架构搜索***的功能配置示例的框图;
图2示出了根据本公开实施例的神经网络架构的示例的图;
图3是示出根据本公开实施例的神经网络架构中的下采样部分或上采样部分的层结构的示例的图;
图4a和4b是示出根据本公开实施例的基于循环神经网络的控制单元对搜索空间中的架构参数进行采样的示例的图;
图5是示出根据本公开实施例的计算对象分布损失、对象偏移损失和对象大小损失的示例的图;
图6是示出根据本公开实施例的神经网络架构搜索方法的流程示例的流程图;以及
图7是示出作为本公开实施例中可采用的个人计算机的示例结构的框图。
具体实施方式
在下文中将结合附图对本公开的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与***及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开的方案密切相关的设备结构和/或处理步骤,而省略了与本公开关系不大的其它细节。
下面结合附图详细说明根据本公开的实施例。
首先,将参照图1描述本公开实施例的神经网络架构搜索***100的功能框图。图1是示出根据本公开实施例的神经网络架构搜索***100的功能配置示例的框图。如图1所示,根据本公开实施例的神经网络架构搜索***100包括搜索空间限定单元102、控制单元104、训练单元106、以及奖励反馈单元108。
搜索空间限定单元102可以被配置成限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分。
神经网络架构可以用描述该神经网络的架构参数来表示。以最简单的只有卷积层的卷积神经网络为例,每个卷积层的参数有5个:卷积核数目、卷积核高度、卷积核宽度、卷积核stride高度、以及卷积核stride宽度。那么,每个卷积层就可以用上述五元组来表示。
受限于有限的计算资源,神经网络架构的搜索空间必须是有限的。根据本公开实施例的搜索空间限定单元102被配置成限定搜索空间,即限定描述神经网络架构的架构参数的全集。架构参数的全集确定下来才可以从全集中寻找最优的神经网络架构。作为示例,搜索空间包括神经网络架构中可变的结构参数(架构参数),结构参数可以包括具体的操作、操作的次序、连接的方式和次数等等。作为示例,可以根据经验限定神经网络架构的架构参数的全集。
图2是示出根据本公开实施例的神经网络架构的示例的图。
如图2所示,根据本公开实施例的神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分。
固定的初级处理部分意味着初级处理部分的结构被预先确定。作为示例,初级处理部分可以是用于提取像素级初级视觉信息的多个卷积层,其中,卷积层的上述5个参数被预先确定。即,初级处理部分的主要作用是提取样本图像中的初级像素信息(初级特征),用于减少后续处理的计算量和冗余信息。作为示例,如图2所示,将样本图像输入到初级处理部分,输出为样本图像的特征。作为示例,该特征可以为特征图。在下文中,为了便于描述,有时将特征称为特征图。
假设样本图像的宽度为W,高度为H,样本图像中的类别数为C(例如,在样本图像为灰度图像的情况下,C=1,而在样本图像为RGB图像的情况下,C=3)。作为示例,在图2中,假设样本图像为RGB图像(C=3),则样本图像包括分别针对R、G、B的三个图像。假设输出分辨率倍数为Ra(其中,Ra为整数并且Ra大于0),则初级处理部分的输出为宽度为W/Ra且高度为H/Ra的若干个初级特征图。在初级处理部分中的每个层为卷积层的情况下,初级处理部分的输出为CxCh个宽度为W/Ra且高度为H/Ra的初级特征图,其中,Ch为卷积层中设定的通道数。
能自由搜索的下采样部分包括M个层,其中M是大于或等于1的整数,并且可以预先确定M。作为示例,可以根据待处理的任务的复杂度而预先确定M。下采样部分的结构不是预先固定的,而是可以在神经网络架构的搜索空间中进行自动搜索而得到下采样部分中的每个层的结构,即,可以在搜索空间中自动搜索出若干个架构参数而构成下采样部分中的每一层。作为示例,下采样部分可以用于通过其包括的操作而对样本图像的特征图进行下采样等处理。即,下采样部分从初级处理部分所输出的初级特征中提炼出更能反映样本图像的特性的高级特征(抽象特征),从而使得经由下采样部分可以获得样本图像的更高级的特征信息,并且能进一步降低初级处理部分所输出的特征图的尺寸,从而节省神经网络架构搜索***的计算和处理量。作为示例,如图2所示,初级处理部分所输出的CxCh个W/Ra x H/Ra的初级特征图中的每个初级特征图经由下采样部分进行的下采样之后,被处理成为更小尺寸的高级特征图。
上采样部分的结构也不是预先固定的,而是可以在神经网络架构的搜索空间中进行自动搜索而得到上采样部分中的每个层的结构,即,可以在搜索空间中自动搜索出若干个架构参数而构成上采样部分中的每一层。上采样部分所包括的层数可以与下采样部分所包括的层数相同或不相同。作为示例,上采样部分可以用于通过其包括的操作而对下采样部分输出的高级特征进行上采样等处理。上采样部分大致与下采样部分对称设计,作为示例,下采样部分可以包括多个卷积层,以及上采样部分可以包括多个反卷积层。并且,在下采样部分对从初级处理部分输出的初级特征进行了i次(i是大于或等于1的整数)下采样从而输出高级特征的情况下,上采样部分对从下采样部分输出的高级特征进行i次上采样,从而使得上采样部分输出的特征与从初级处理部分输出的初级特征具有相同大小。即,上采样部分可以将下采样部分输出的高级特征的尺寸还原成等于初级处理部分输出的初级特征的尺寸。作为示例,如图2所示,下采样部分所输出的高级特征图经由上采样部分进行的上采样之后,被还原成为尺寸等于W/Ra x H/Ra的特征图(在图2中被示出为还原后的特征图)。
控制单元104可以被配置成基于控制单元104的参数,对搜索空间中的架构参数进行采样,以生成子神经网络架构。
对搜索空间中的架构参数进行采样是指从搜索空间中自动搜索架构参数。可以利用所采样到的架构参数来生成子神经网络架构,从而确定所生成的子神经网络架构中的具体操作和连接。如果用θ表示控制单元104的当前参数,则控制单元104以参数θ对搜索空间中的架构参数进行采样,以生成至少一个子神经网络架构,每一子神经网络架构都是搜索空间的一个子集。
如上所述,初级处理部分的结构是固定的(预先确定的)。作为示例,通过根据本公开实施例的神经网络架构搜索***100进行的搜索(具体地,控制单元104基于其参数θ对搜索空间中的架构参数进行的采样)确定下采样部分和上采样部分的具体结构,即能够确定下采样部分和上采样部分具体包括哪些操作等。在通过搜索确定了下采样部分和上采样部分的结构之后,就可以得到一个具体的神经网络架构(更具体地,经采样得到的子神经网络架构)。
其中,采样得到的子神经网络架构的数目可根据实际情况预先设定。
训练单元106可以被配置成使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失。
作为示例,训练单元106利用训练集中的所有样本图像,计算所生成的每个子神经网络架构的损失,通过使损失最小作为目标来对每个子神经网络架构进行训练,从而能够确定每个子神经网络的架构参数的值,即,得到经训练的每个子神经网络架构。
奖励反馈单元108可以被配置成根据所生成的子神经网络架构的损失来评估控制单元104的奖励,并且朝向使得奖励更大的方向调整控制单元的参数。作为示例,奖励反馈单元108可以被配置成利用验证集中的所有样本图像,计算经训练的每个子神经网络架构的损失,并基于该损失来评估控制单元104的奖励。
假设用ω表示经训练的一个子神经网络架构的参数(即,该一个子神经网络架构的架构参数的值),则将该一个子神经网络架构的损失表示为Ls(ω)。可以根据损失Ls(ω)来评估控制单元104的奖励Re(ω)。作为示例,可以定义控制单元104的奖励为Re(ω)=fun(Ls(ω)),即,控制单元104的奖励Re(ω)可以表示为子神经网络架构的损失Ls(ω)的函数。
对于在控制单元104的参数为θ时,采样得到至少一个子神经网络架构,可以基于所述至少一个子神经网络架构的损失而得到控制单元104的一组奖励,将该一组奖励表示为Re’(ω)。EP(θ)[Re’(ω)]表示Re’(ω)的期望,我们的目的是在某种优化策略P(θ)下,调整控制单元104的参数θ,使得Re’(ω)的期望值最大。作为示例,在采样仅得到单个子网络架构的情况下,我们的目的是在某种优化策略P(θ)下,调整控制单元104的参数θ,使得控制单元104的奖励最大。
作为示例,可以使用增强学习中常用的优化策略来进行优化。例如可以使用近端策略优化(Proximal Policy Optimization)或者梯度策略优化。
作为示例,使得朝向控制单元104的一组奖励的期望值更大的方向,调整控制单元104的参数θ。作为示例,可以基于所述一组奖励和控制单元104的当前参数θ,生成控制单元104的调整后的参数。
根据本公开实施例的奖励反馈单元108根据上述奖励来调整控制单元的参数、使得控制单元基于其调整后的参数能够采样出使得奖励更大的子神经网络架构。
在根据本公开实施例的神经网络架构搜索***100中,迭代地进行控制单元104、训练单元106、以及奖励反馈单元108中的处理,直到满足预定迭代终止条件为止。
作为示例,在后续的每轮迭代中,控制单元104根据其调整后的参数,重新对搜索空间中的架构参数进行采样,以重新生成子神经网络架构。训练单元106对重新生成的每个子神经网络架构进行训练,奖励反馈单元108根据经训练的子神经网络架构的损失来评估控制单元104的奖励,并使得朝向控制单元104的奖励更大的方向再次调整104控制单元的参数。
作为示例,预定迭代终止条件包括奖励的期望达到预定值或训练的次数达到预定次(即,达到最大迭代次数)。作为示例,可以从迭代终止时得到的子神经网络架构中挑选出表现性能最好的一个子神经网络架构用于后续的处理(例如,用于对象检测等)。作为示例,可以重新训练所挑选的子神经网络架构来用于后续的处理(例如,用于对象检测等)。
根据以上描述可知,根据本公开实施例的神经网络架构搜索***100是单分支端到端的骨架(backbone)***。
综上,根据本公开实施例的神经网络架构搜索***100经由能自由搜索的下采样部分可以得到反映样本图像的特性的高级特征(抽象特征),因此能够自动搜索出具有更强的通用性的神经网络架构,而不需要较多的资源也不需要专业的工程师。
作为示例,搜索空间限定单元102可以被配置成针对对象检测限定搜索空间。因此,针对某一个实际的对象检测问题,根据本公开实施例的神经网络架构搜索***100自动搜索出一个适合对象检测的神经网络架构。优选地,在上述迭代终止时所得到的子神经网络架构可以用于对象检测。
图3是示出根据本公开实施例的神经网络架构中的下采样部分或上采样部分的层结构的示例的图。下采样部分或上采样部分的层数可以是预先设定的。如图3所示,每一层都有一个编号即“层索引”。用Ft代表每一层的输出的特征图,例如,Ft[0]代表层索引是0的层输出的特征图,Ft[1]代表层索引是1的层输出的特征图,Ft[2]代表层索引是2的层输出的特征图。在图3中,用灰色长方形表示已经通过搜索确定其结构(即,其架构参数)的层(例如,层索引是0的层、层索引是1的层、以及层索引是2的层),用白色长方形表示待搜索其架构参数的待搜索层。
优选地,架构参数的集合可以包括3x3卷积、5x5卷积、3x3深度可分离卷积、5x5深度可分离卷积、3x3最大池化、3x3平均池化、恒等变换、3x3可变形卷积、3x3反卷积、5x5反卷积的任意组合。作为示例,上述3x3卷积、5x5卷积、3x3深度可分离卷积、5x5深度可分离卷积、3x3最大池化、3x3平均池化、恒等变换、3x3可变形卷积、3x3反卷积、5x5反卷积的组合可以作为下采样部分和上采样部分中的每层所包括的操作。作为示例而非限制,可变形卷积、反卷积和卷积中的至少两个可以作为上采样部分所包括的操作,其中,可变形卷积可以是3x3可变形卷积,反卷积可以是3x3反卷积或5x5反卷积,以及卷积可以是3x3卷积或5x5卷积。作为示例而非限制,卷积、池化和可分离卷积中的至少两个可以作为下采样部分所包括的操作,其中,卷积可以是3x3卷积或5x5卷积,池化可以是3x3最大池化或3x3平均池化,以及可分离卷积可以是3x3深度可分离卷积或5x5深度可分离卷积。上述架构参数的集合更适合于解决对象检测问题。
架构参数的集合不限于上述操作。作为示例,架构参数的集合还可以包括1x1卷积核、7x7卷积核、1x1深度可分离卷积、7x7深度可分离卷积、1x1最大池化、5x5最大池化、1x1平均池化、5x5平均池化、5x5可变形卷积等等。
优选地,控制单元104可以包括循环神经网络RNN。可以基于奖励和包括RNN的控制单元的当前参数,生成包括RNN的控制单元的调整后的参数。
在下文中,为了清楚,将包括RNN的控制单元104称为基于RNN的控制单元104。
图4a和4b是示出根据本公开实施例的基于RNN的控制单元104对搜索空间中的架构参数进行采样的示例的图。
如图4a所示,将输入序列输入到基于RNN的控制单元104中。该输入序列是随机生成的一串序列。基于RNN的控制单元104根据其参数对搜索空间中的架构参数进行采样,基于RNN的控制单元104的输出为表示子神经网络架构中的一个层的架构参数的序列,该输出序列中的每一位数值代表所采样出的搜索空间的架构参数,该数值具有确定的结构含义。
在以下描述中,为了方便表示,可以为架构参数分配操作索引。作为示例,3x3卷积的操作索引为操作0,5x5卷积的操作索引为操作1,3x3深度可分离卷积的操作索引为操作2,5x5深度可分离卷积的操作索引为操作3,3x3最大池化的操作索引为操作4,3x3平均池化的操作索引为操作5,恒等变换的操作索引为操作6,3x3可变形卷积的操作索引为操作7,3x3反卷积的操作索引为操作8,以及5x5反卷积的操作索引为操作9。
假设在图4a中,基于RNN的控制单元104的输出序列为0 2 0 0 0 1 0 4 0 2 1 31 2 2 3,该输出序列代表的结构如图4b所示。需要说明的是,在图4a中,为了清楚起见,仅具体示出了该输出序列的前8位数字“0 2 0 0 0 1 0 4”。
将输出序列中的每四个数字标记一组(cell)。例如,将“0200”标记为Cell 0,将“01 0 4”标记为Cell 1。作为示例,图4a中的Cell 0对应于图4b的Cell 0中的两个由椭圆形表示的分支(其中,图4b的Cell 0中的位于左侧的椭圆表示第一分支,而图4b的Cell 0中的位于右侧的椭圆表示第二分支)的操作,以及图4a中的Cell 1对应于图4b的Cell 1中的两个由椭圆形表示的分支的操作。
下面以图4a中的Cell 0为例,简单描述由Cell 0表示的结构。图4a中的Cell 0中的第一个数字0表示层索引为0,意味着层索引为0的层的输出Ft[0]作为图4b的Cell 0中的第一分支的输入,图4a中的Cell 0中的第二个数字2表示操作索引为操作2,如上所述,操作2为3x3深度可分离卷积(在图4b中,标记为“Depthwise 3x3”)。图4a中的Cell 0中的第三个数字0表示层索引为0,意味着层索引为0的层的输出Ft[0]作为图4b的Cell 0中的第二分支的输入,图4a中的Cell 0中的第四个数字0表示操作索引为操作0,如上所述,操作0为3x3卷积(在图4b中,标记为“Conv 3x3”)。
以类似的方式,可以确定输出序列中的“0 1 0 4 0 2 1 3 1 2 2 3”表示的结构,由此可以得到子神经网络架构中的一层的具体结构。需要说明的是,在图4b中,为了简洁,将5x5卷积标记为“Conv 5x5”,将最大池化标记为“Max pool”,将5x5深度可分离卷积标记为“Depthwise 5x5”。
上文中以输出序列为16位为例进行了描述,然而,本领域技术人员可以理解,输出序列不限于16位。
优选地,下采样部分和上采样部分分别包括多个层,并且控制单元104可以通过采样逐层得到下采样部分和上采样部分的每个层的架构参数。从而可以使得下采样部分的多个层的至少一部分层的结构互不不同,以及可以使得上采样部分的多个层的至少一部分层的结构互不不同。
优选地,下采样部分和上采样部分分别包括多个层,并且控制单元104可以通过采样得到下采样部分的第一层和上采样部分的第一层的架构参数,并且将下采样部分的其他层的架构参数设置为与下采样部分的第一层的架构参数相同以及将上采样部分的其他层的架构参数设置为与上采样部分的第一层的架构参数相同。作为示例,控制单元104可以使得下采样部分的其他层的架构参数设置为与下采样部分的第一层的结构相同,并且使得上采样部分的其他层的架构参数设置为与上采样部分的第一层的结构相同。这样可以节省神经网络架构搜索***100的计算和处理量。
在得到下采样部分和上采样部分中的各层的结构之后,就可以生成一个子神经网络架构,即得到根据本公开实施例的神经网络架构的一个具体结构(更具体地,经采样得到的子神经网络架构)。
在上文中,在用ω表示经训练的一个子神经网络架构的参数时,该一个子神经网络架构的损失表示为Ls(ω),控制单元104的奖励表示为Re(ω)。下文中,为了便于描述,将子神经网络架构的损失简写为Ls以及将控制单元104的奖励表示为Re。
优选地,子神经网络架构的损失Ls由和对象检测相关的多个损失组成,并且多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及奖励反馈单元108可以被配置成基于对象分布损失、对象偏移损失和对象大小损失中的至少一个损失来调整控制单元104的参数。下面简单描述对象分布损失、对象偏移损失和对象大小损失。
如在描述图2时所述的,样本图像的宽度为W以及高度为H,样本图像中包括的类别数为C,输出分辨率倍数为Ra。可以基于子神经网络架构的输出计算C个热力图的预测值,其中,热力图反映对象的分布强度,每个热力图的宽度为W/Ra以及高度为H/Ra。热力图上某点的真值可以表示为:
在公式(1)中,m和n分别是热力图上任意一点的横坐标和纵坐标,pm是预测的对象的横坐标,pn是预测的对象的纵坐标,σp为通过计算得到的自适应标准差。y1可以理解为预测概率,y1为从0到1的区间的值,例如,y1等于1表示在(pm,pn)处肯定存在对象,0表示在(pm,pn)肯定不存在对象。
假设热力图上某点的预测值为y1’。可以基于真值y1和预测值y1’,计算对象分布损失Loss 1。
假设用p表示对象在样本图像中的像素位置。由于子神经网络架构的上采样部分中的最后一层的输出的特征图的宽度和高度均是样本图像的宽度和高度的1/Ra,因此,对象在子神经网络架构的输出的特征图中的位置为p/Ra,由此可以计算对象位置的偏移量的真值为:
训练单元106可以计算对象位置的偏移量的预测值y2’。
可以基于对象位置的偏移量的真值y2和对象位置的偏移量的预测值y2’,计算对象偏移损失Loss 2。
对象的尺寸的真值可以表示为:
y3=(m2-m1,n2-n1) (3)
在公式(3)中,m1表示对象的边界框中横坐标的最小值,m2表示对象的边界框中横坐标的最大值,n1表示对象的边界框中纵坐标的最小值,n2表示对象的边界框中纵坐标的最大值。
训练单元106可以计对象的尺寸的预测值y3’。
可以基于对象的尺寸的真值y3和对象的尺寸的预测值y3’,计算对象大小损失Loss 3。
作为示例,奖励反馈单元108可以被配置成基于上述对象分布损失Loss 1、对象偏移损失Loss 2和对象大小损失Loss 3中的至少一个损失来评估控制单元104的奖励,并且朝向使得奖励更大的方向调整控制单元104的参数。
优选地,子神经网络架构的损失Ls由和对象检测相关的多个损失组成,并且多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及奖励反馈单元可以被配置成基于对象分布损失、对象偏移损失和对象大小损失三者来调整控制单元104的参数,其中,对象分布损失、对象偏移损失和对象大小损失均与子神经网络架构的输出特征相关。
上文描述了与计算对象分布损失、对象偏移损失和对象大小损失相关的要素。下文中将描述计算对象分布损失、对象偏移损失和对象大小损失的一种具体示例方式。
子神经网络架构的输出特征y’可以是其上采样部分中的最后一层的输出特征图。
图5是示出根据本公开实施例的计算对象分布损失、对象偏移损失和对象大小损失的示例的图。为了简化描述,在图5中,基于子神经网络架构的输出特征y’,分别经由卷积层1、卷积层2以及卷积层3来计算热力图上某点的预测值y1’、对象位置的偏移量的预测值y2’和对象的尺寸的预测值y3’。
由于本公开实施例的神经网络架构搜索***100是上述单分支端到端的骨架***,因此,热力图上某点的预测值y1’、对象位置的偏移量的预测值y2’和对象的尺寸的预测值y3’可以分别由公式(4)-(6)所示,由输出特征y’计算得到。
y1'=w1y'+b1=g1(y') (4)
在公式(4)中,w1和b1是卷积层1的参数,可以根据经验设定w1和b1,g1(y')意味着y1’可以表示为y’的函数。
y2'=w2y'+b2=g2(y') (5)
在公式(5)中,w2和b2是卷积层2的参数,可以根据经验设定w2和b2,g2(y')意味着y2’可以表示为y’的函数。
y3′=w3y′+b3=g3(y′) (6)
在公式(6)中,w3和b3是卷积层3的参数,可以根据经验设定w3和b3,g3(y′)意味着y3’可以表示为y’的函数。
根据公式(4)-(6)可知,对象分布损失Loss 1、对象偏移损失Loss2和对象大小损失Loss 3可以分别由公式(7)-(8)所示,由输出特征y’计算得到。
对象分布损失Loss 1可以表示为:
Loss1=||y1-y1′||=||y1-g1(y′)||=G1(y′) (7)
在公式(7)中,y1为热力图上某点的真值,G1(y′)意味着Loss 1可以表示为y’的函数。
对象偏移损失Loss 2可以表示为:
Loss2=||y2-y2′||=||y2-g2(y′)||=G2(y′) (8)
在公式(8)中,y2是对象位置的偏移量的真值,G2(y′)意味着Loss2可以表示为y’的函数。
对象大小损失Loss 3可以表示为:
Loss3=||y3-y3′||=||y3-g3(y′)||=G3(y′) (9)
在公式(9)中,y3是对象的尺寸的真值,G3(y′)意味着Loss 3可以表示为y’的函数。
由公式(7)-(9)可知,对象分布损失Loss 1、对象偏移损失Loss 2和对象大小损失Loss 3均与子神经网络架构的输出特征y’相关。
当奖励反馈单元108基于对象分布损失Loss 1、对象偏移损失Loss 2和对象大小损失Loss 3三者来调整控制单元104的参数时,子神经网络架构的损失Ls可以表示为G1(y′),G2(y′),G3(y′)的函数:
Ls=f(Loss1,Loss2,Loss3)=f(G1(y′),G2(y′),G3(y′)) (10)
则控制单元104的奖励Re可以表示为:
Re=β·f(G1(y′),G2(y′),G3(y′)) (11)
在公式(11)中,β是参数,可以根据经验确定β。
根据公式(4)-(11)可知,由于本公开实施例的神经网络架构搜索***100是单分支端到端的骨架***,因此子神经网络架构的输出特征与样本图像之间存在空间对应关系。作为示例,可以根据子神经网络架构的输出特征图追溯到样本图像中的对应像素,即,可以根据子神经网络架构的输出特征图中的任一部分追溯到样本图像中的与该部分在空间位置关系上对应的像素。而在现有技术的两段式(two-stage)对象检测***中,首先将可能出现对象的区域提取出来,然后再查找对象,这种两段式对象检测***破坏了样本图像的特征的空间结构性,从而使得输出特征与样本图像之间不存在空间对应关系。
与上述神经网络架构搜索***实施例相对应地,本公开还提供了以下神经网络架构搜索方法的实施例。
图6是示出根据本公开实施例的神经网络架构搜索方法600的流程示例的流程图。
如图6所示,根据本公开实施例的神经网络架构搜索方法600包括神经网络架构的搜索空间限定步骤S602、控制步骤S604、训练步骤S606、以及奖励反馈步骤S608。
在搜索空间限定步骤S602中,限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分。
作为示例,初级处理部分可以是用于提取像素级初级视觉信息的多个卷积层。
有关搜索空间、神经网络架构所包括的固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分的具体示例可以参见以上装置实施例中相应部分例如关于训练单元106和图2的描述,在此不再重复。
在控制步骤S604中,基于控制单元的参数,对搜索空间中的架构参数进行采样,以生成子神经网络架构。
有关对搜索空间中的架构参数进行采样的具体示例可以参见以上装置实施例中相应部分例如关于控制单元104的描述,在此不再重复。
在训练步骤S606中,使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失。
在奖励反馈步骤S608中,根据所生成的子神经网络架构的损失来评估控制单元的奖励,并且朝向使得奖励更大的方向调整控制单元的参数。
有关奖励和调整控制单元的参数的具体示例可以参见以上装置实施例中相应部分例如关于奖励反馈单元108的描述,在此不再重复。
在根据本公开实施例的神经网络架构搜索方法600中,迭代地进行控制步骤S604、训练步骤S606、以及奖励反馈步骤S608中的处理,直到满足预定迭代终止条件为止。
作为示例,预定迭代终止条件包括奖励的期望达到预定值或训练的次数达到预定次。
有关迭代处理的具体示例可以参见以上装置实施例中相应部分的描述,在此不再重复。
综上,根据本公开实施例的神经网络架构搜索方法600经由能自由搜索的下采样部分可以得到反映样本图像的特性的高级特征(抽象特征),因此能够自动搜索出具有更强的通用性的神经网络架构,而不需要较多的资源也不需要专业的工程师。
优选地,在神经网络架构的搜索空间限定步骤S602中,针对对象检测限定搜索空间。因此,针对某一个实际的对象检测问题,根据本公开实施例的神经网络架构搜索方法600自动搜索出一个适合对象检测的神经网络架构。优选地,在上述迭代终止时所得到的子神经网络架构可以用于对象检测。
优选地,架构参数的集合可以包括3x3卷积、5x5卷积、3x3深度可分离卷积、5x5深度可分离卷积、3x3最大池化、3x3平均池化、恒等变换、3x3可变形卷积、3x3反卷积、5x5反卷积的任意组合。作为示例,上述3x3卷积、5x5卷积、3x3深度可分离卷积、5x5深度可分离卷积、3x3最大池化、3x3平均池化、恒等变换、3x3可变形卷积、3x3反卷积、5x5反卷积的组合可以作为下采样部分和上采样部分中的每层所包括的操作。作为示例而非限制,可变形卷积、反卷积和卷积中的至少两个可以作为上采样部分所包括的操作,其中,可变形卷积可以是3x3可变形卷积,反卷积可以是3x3反卷积或5x5反卷积,以及卷积可以是3x3卷积或5x5卷积。作为示例而非限制,卷积、池化和可分离卷积中的至少两个可以作为下采样部分所包括的操作,其中,卷积可以是3x3卷积或5x5卷积,池化可以是3x3最大池化或3x3平均池化,以及可分离卷积可以是3x3深度可分离卷积或5x5深度可分离卷积。上述架构参数的集合更适合于解决对象检测问题。
优选地,控制单元104可以包括循环神经网络RNN。可以基于奖励和包括RNN的控制单元的当前参数,生成包括RNN的控制单元的调整后的参数。
优选地,下采样部分和上采样部分分别包括多个层,并且在控制步骤S604中可以通过采样逐层得到下采样部分和上采样部分的每个层的架构参数。从而可以使得下采样部分的多个层的至少一部分层的结构互不不同,以及可以使得上采样部分的多个层的至少一部分层的结构互不不同。
优选地,下采样部分和上采样部分分别包括多个层,并且在控制步骤S604中可以通过采样得到下采样部分的第一层和上采样部分的第一层的架构参数,并且将下采样部分的其他层的架构参数设置为与下采样部分的第一层的架构参数相同以及将上采样部分的其他层的架构参数设置为与上采样部分的第一层的架构参数相同。这样可以节省神经网络架构搜索方法600的计算和处理量。
优选地,子神经网络架构的损失由和对象检测相关的多个损失组成,并且多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及在奖励反馈步骤S608中,可以基于对象分布损失、对象偏移损失和对象大小损失中的至少一个损失来调整控制单元的参数。
有关对象分布损失、对象偏移损失和对象大小损失的具体描述可以参见以上装置实施例中相应部分(例如,有关公式(1)-(3))的描述,在此不再重复。
优选地,子神经网络架构的损失由和对象检测相关的多个损失组成,并且多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及在奖励反馈步骤S608中,可以基于对象分布损失、对象偏移损失和对象大小损失三者来调整控制单元的参数,其中,对象分布损失、对象偏移损失和对象大小损失均与子神经网络架构的输出特征相关。
有关计算对象分布损失、对象偏移损失和对象大小损失的一种具体示例方式的具体描述可以参见以上装置实施例中相应部分(例如,图5和有关公式(4)-(10))的描述,在此不再重复。
由于本公开实施例的神经网络架构搜索方法600采用单分支端到端的搜索方式,因此子神经网络架构的输出特征与样本图像之间存在空间对应关系。作为示例,可以根据子神经网络架构的输出特征图追溯到样本图像中的对应像素,即,可以根据子神经网络架构的输出特征图中的任一部分追溯到样本图像中的与该部分在空间位置关系上对应的像素。
应指出,尽管以上描述了根据本公开实施例的神经网络架构搜索***的功能配置,但是这仅是示例而非限制,并且本领域技术人员可根据本公开的原理对以上实施例进行修改,例如可对各个实施例中的功能模块进行添加、删除或者组合等,并且这样的修改均落入本公开的范围内。
此外,还应指出,这里的方法实施例是与上述***实施例相对应的,因此在方法实施例中未详细描述的内容可参见***实施例中相应部分的描述,在此不再重复描述。
此外,本公开还提供了存储介质和程序产品。根据本公开实施例的存储介质和程序产品中的机器可执行的指令可以被配置成执行上述神经网络架构搜索方法,因此在此未详细描述的内容可参考先前相应部分的描述,在此不再重复进行描述。
相应地,用于承载上述包括机器可执行的指令的程序产品的存储介质也包括在本发明的公开中。该存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
另外,还应该指出的是,上述系列处理和装置也可以通过软件和/或固件实现。在通过软件和/或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机,例如图7所示的通用个人计算机700安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等等。
在图7中,中央处理单元(CPU)701根据只读存储器(ROM)702中存储的程序或从存储部分708加载到随机存取存储器(RAM)703的程序执行各种处理。在RAM 703中,也根据需要存储当CPU 701执行各种处理等时所需的数据。
CPU 701、ROM 702和RAM 703经由总线704彼此连接。输入/输出接口705也连接到总线704。
下述部件连接到输入/输出接口705:输入部分706,包括键盘、鼠标等;输出部分707,包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等;存储部分708,包括硬盘等;和通信部分709,包括网络接口卡比如LAN卡、调制解调器等。通信部分709经由网络比如因特网执行通信处理。
根据需要,驱动器710也连接到输入/输出接口705。可拆卸介质711比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器710上,使得从中读出的计算机程序根据需要被安装到存储部分708中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质711安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图7所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质711。可拆卸介质711的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 702、存储部分708中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
以上参照附图描述了本公开的优选实施例,但是本公开当然不限于以上示例。本领域技术人员可在所附权利要求的范围内得到各种变更和修改,并且应理解这些变更和修改自然将落入本公开的技术范围内。
例如,在以上实施例中包括在一个单元中的多个功能可以由分开的装置来实现。替选地,在以上实施例中由多个单元实现的多个功能可分别由分开的装置来实现。另外,以上功能之一可由多个单元来实现。无需说,这样的配置包括在本公开的技术范围内。
在该说明书中,流程图中所描述的步骤不仅包括以所述顺序按时间序列执行的处理,而且包括并行地或单独地而不是必须按时间序列执行的处理。此外,甚至在按时间序列处理的步骤中,无需说,也可以适当地改变该顺序。
另外,根据本公开的技术还可以如下进行配置。
附记1.一种神经网络架构搜索***,包括:
搜索空间限定单元,被配置成限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,所述神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;
控制单元,被配置成基于所述控制单元的参数,对所述搜索空间中的架构参数进行采样,以生成子神经网络架构;
训练单元,被配置成使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及
奖励反馈单元,被配置成根据所生成的子神经网络架构的损失来评估所述控制单元的奖励,并且朝向使得所述奖励更大的方向调整所述控制单元的所述参数,
其中,迭代地进行所述控制单元、所述训练单元以及所述奖励反馈单元中的处理,直到满足预定迭代终止条件为止。
附记2.根据附记1所述的神经网络架构搜索***,其中,所述搜索空间限定单元被配置成针对对象检测来限定所述搜索空间。
附记3.根据附记2所述的神经网络架构搜索***,其中,
所述损失由和对象检测相关的多个损失组成,并且所述多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及
所述奖励反馈单元被配置成基于所述对象分布损失、所述对象偏移损失和所述对象大小损失中的至少一个损失来调整所述控制单元的所述参数。
附记4.根据附记2所述的神经网络架构搜索***,其中,
所述损失由和对象检测相关的多个损失组成,并且所述多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及
所述奖励反馈单元被配置成基于所述对象分布损失、所述对象偏移损失和所述对象大小损失三者来调整所述控制单元的所述参数,其中,所述对象分布损失、所述对象偏移损失和所述对象大小损失均与所述子神经网络架构的输出特征相关。
附记5.根据附记1所述的神经网络架构搜索***,其中,所述下采样部分和所述上采样部分分别包括多个层,并且所述控制单元通过采样逐层得到所述下采样部分和所述上采样部分的每个层的架构参数。
附记6.根据附记1所述的神经网络架构搜索***,其中,所述下采样部分和所述上采样部分分别包括多个层,并且所述控制单元通过采样得到所述下采样部分的第一层和所述上采样部分的第一层的架构参数,并且将所述下采样部分的其他层的架构参数设置为与所述下采样部分的第一层的架构参数相同以及将所述上采样部分的其他层的架构参数设置为与所述上采样部分的第一层的架构参数相同。
附记7.根据附记1所述的神经网络架构搜索***,其中,所述架构参数的集合包括3x3卷积、5x5卷积、3x3深度可分离卷积、5x5深度可分离卷积、3x3最大池化、3x3平均池化、恒等变换、3x3可变形卷积、3x3反卷积、5x5反卷积的任意组合。
附记8.根据附记1所述的神经网络架构搜索***,其中,所述预定迭代终止条件包括所述奖励的期望达到预定值或所述训练的次数达到预定次数。
附记9.根据附记1所述的神经网络架构搜索***,其中,在迭代终止时所得到的子神经网络架构用于对象检测。
附记10.根据附记1所述的神经网络架构搜索***,其中,所述初级处理部分是用于提取像素级初级视觉信息的多个卷积层。
附记11.根据附记1所述的神经网络架构搜索***,其中,所述控制单元包括循环神经网络。
附记12.一种神经网络架构搜索方法,包括:
搜索空间限定步骤,限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,所述神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;
控制步骤,基于控制单元的参数,对所述搜索空间中的架构参数进行采样,以生成子神经网络架构;
训练步骤,使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及
奖励反馈步骤,根据所生成的子神经网络架构的损失来评估所述控制单元的奖励,并且朝向使得所述奖励更大的方向调整所述控制单元的所述参数,
其中,迭代地进行所述控制步骤、所述训练步骤以及所述奖励反馈步骤中的处理,直到满足预定迭代终止条件为止。
附记13.根据附记12所述的神经网络架构搜索方法,其中,在所述搜索空间限定步骤中,针对对象检测来限定所述搜索空间。
附记14.根据附记13所述的神经网络架构搜索方法,其中,
所述损失由和对象检测相关的多个损失组成,并且所述多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及
在所述奖励反馈步骤中,基于所述对象分布损失、所述对象偏移损失和所述对象大小损失中的至少一个损失来调整所述控制单元的所述参数。
附记15.根据附记13所述的神经网络架构搜索方法,其中,
所述损失由和对象检测相关的多个损失组成,并且所述多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及
在所述奖励反馈步骤中,基于所述对象分布损失、所述对象偏移损失和所述对象大小损失三者来调整所述控制单元的所述参数,其中,所述对象分布损失、所述对象偏移损失和所述对象大小损失均与所述子神经网络架构的输出特征相关。
附记16.根据附记12所述的神经网络架构搜索方法,其中,所述下采样部分和所述上采样部分分别包括多个层,并且在所述控制步骤中,通过采样逐层得到所述下采样部分和所述上采样部分的每个层的架构参数。
附记17.根据附记12所述的神经网络架构搜索方法,其中,所述下采样部分和所述上采样部分分别包括多个层,在所述控制步骤中通过采样得到所述下采样部分的第一层和所述上采样部分的第一层的架构参数,并且将所述下采样部分的其他层的架构参数设置为与所述下采样部分的第一层的架构参数相同以及将所述上采样部分的其他层的架构参数设置为与所述上采样部分的第一层的架构参数相同。
附记18.根据附记12所述的神经网络架构搜索方法,其中,所述架构参数的集合包括3x3卷积、5x5卷积、3x3深度可分离卷积、5x5深度可分离卷积、3x3最大池化、3x3平均池化、恒等变换、3x3可变形卷积、3x3反卷积、5x5反卷积的任意组合。
附记19.根据附记12所述的神经网络架构搜索方法,其中,所述初级处理部分是用于提取像素级初级视觉信息的多个卷积层。
附记20.一种记录有程序的计算机可读记录介质,所述程序用于使得计算机执行以下步骤:
搜索空间限定步骤,限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,所述神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;
控制步骤,基于控制单元的参数,对所述搜索空间中的架构参数进行采样,以生成子神经网络架构;
训练步骤,使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及
奖励反馈步骤,根据所生成的子神经网络架构的损失来评估所述控制单元的奖励,并且朝向使得所述奖励更大的方向调整所述控制单元的所述参数,
其中,迭代地进行所述控制步骤、所述训练步骤以及所述奖励反馈步骤中的处理,直到满足预定迭代终止条件为止。
Claims (10)
1.一种神经网络架构搜索***,包括:
搜索空间限定单元,被配置成限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,所述神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;
控制单元,被配置成基于所述控制单元的参数,对所述搜索空间中的架构参数进行采样,以生成子神经网络架构;
训练单元,被配置成使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及
奖励反馈单元,被配置成根据所生成的子神经网络架构的损失来评估所述控制单元的奖励,并且朝向使得所述奖励更大的方向调整所述控制单元的所述参数,
其中,迭代地进行所述控制单元、所述训练单元以及所述奖励反馈单元中的处理,直到满足预定迭代终止条件为止。
2.根据权利要求1所述的神经网络架构搜索***,其中,所述搜索空间限定单元被配置成针对对象检测来限定所述搜索空间。
3.根据权利要求2所述的神经网络架构搜索***,其中,
所述损失由和对象检测相关的多个损失组成,并且所述多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及
所述奖励反馈单元被配置成基于所述对象分布损失、所述对象偏移损失和所述对象大小损失中的至少一个损失来调整所述控制单元的所述参数。
4.根据权利要求2所述的神经网络架构搜索***,其中,
所述损失由和对象检测相关的多个损失组成,并且所述多个损失包括对象分布损失、对象偏移损失和对象大小损失,以及
所述奖励反馈单元被配置成基于所述对象分布损失、所述对象偏移损失和所述对象大小损失三者来调整所述控制单元的所述参数,其中,所述对象分布损失、所述对象偏移损失和所述对象大小损失均与所述子神经网络架构的输出特征相关。
5.根据权利要求1所述的神经网络架构搜索***,其中,所述下采样部分和所述上采样部分分别包括多个层,并且所述控制单元通过采样逐层得到所述下采样部分和所述上采样部分的每个层的架构参数。
6.根据权利要求1所述的神经网络架构搜索***,其中,所述下采样部分和所述上采样部分分别包括多个层,所述控制单元通过采样得到所述下采样部分的第一层和所述上采样部分的第一层的架构参数,并且将所述下采样部分的其他层的架构参数设置为与所述下采样部分的第一层的架构参数相同以及将所述上采样部分的其他层的架构参数设置为与所述上采样部分的第一层的架构参数相同。
7.根据权利要求1所述的神经网络架构搜索***,其中,所述架构参数的集合包括3x3卷积、5x5卷积、3x3深度可分离卷积、5x5深度可分离卷积、3x3最大池化、3x3平均池化、恒等变换、3x3可变形卷积、3x3反卷积、5x5反卷积的任意组合。
8.根据权利要求1所述的神经网络架构搜索***,其中,所述初级处理部分是用于提取像素级初级视觉信息的多个卷积层。
9.一种神经网络架构搜索方法,包括:
搜索空间限定步骤,限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,所述神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;
控制步骤,基于控制单元的参数,对所述搜索空间中的架构参数进行采样,以生成子神经网络架构;
训练步骤,使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及
奖励反馈步骤,根据所生成的子神经网络架构的损失来评估所述控制单元的奖励,并且朝向使得所述奖励更大的方向调整所述控制单元的所述参数,
其中,迭代地进行所述控制步骤、所述训练步骤以及所述奖励反馈步骤中的处理,直到满足预定迭代终止条件为止。
10.一种记录有程序的计算机可读记录介质,所述程序用于使得计算机执行以下步骤:
搜索空间限定步骤,限定作为描述神经网络架构的架构参数的集合的搜索空间,其中,所述神经网络架构包括固定的初级处理部分、能自由搜索的下采样部分和能自由搜索的上采样部分;
控制步骤,基于控制单元的参数,对所述搜索空间中的架构参数进行采样,以生成子神经网络架构;
训练步骤,使用样本图像对所生成的子神经网络架构进行训练,以计算所生成的子神经网络架构的损失;以及
奖励反馈步骤,根据所生成的子神经网络架构的损失来评估所述控制单元的奖励,并且朝向使得所述奖励更大的方向调整所述控制单元的所述参数,
其中,迭代地进行所述控制步骤、所述训练步骤以及所述奖励反馈步骤中的处理,直到满足预定迭代终止条件为止。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010021676.4A CN113095473A (zh) | 2020-01-09 | 2020-01-09 | 神经网络架构搜索***和方法及计算机可读记录介质 |
EP20216889.4A EP3848857A1 (en) | 2020-01-09 | 2020-12-23 | Neural network architecture search system and method, and computer readable recording medium |
JP2020216982A JP2021111388A (ja) | 2020-01-09 | 2020-12-25 | ニューラル・ネットワーク・アーキテクチャ・サーチ・システム及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010021676.4A CN113095473A (zh) | 2020-01-09 | 2020-01-09 | 神经网络架构搜索***和方法及计算机可读记录介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113095473A true CN113095473A (zh) | 2021-07-09 |
Family
ID=73857036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010021676.4A Pending CN113095473A (zh) | 2020-01-09 | 2020-01-09 | 神经网络架构搜索***和方法及计算机可读记录介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3848857A1 (zh) |
JP (1) | JP2021111388A (zh) |
CN (1) | CN113095473A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117437463A (zh) * | 2023-10-19 | 2024-01-23 | 上海策溯科技有限公司 | 基于图像处理的医学影像数据处理方法及处理平台 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114049609B (zh) * | 2021-11-24 | 2024-05-31 | 大连理工大学 | 基于神经架构搜索的多级聚合行人重识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694443A (zh) * | 2017-04-05 | 2018-10-23 | 富士通株式会社 | 基于神经网络的语言模型训练方法和装置 |
EP3493120A1 (en) * | 2017-12-01 | 2019-06-05 | Koninklijke Philips N.V. | Training a neural network model |
US20190188537A1 (en) * | 2017-12-14 | 2019-06-20 | Robert Bosch Gmbh | Effective building block design for deep convolutional neural networks using search |
WO2019120019A1 (zh) * | 2017-12-20 | 2019-06-27 | Oppo广东移动通信有限公司 | 用户性别预测方法、装置、存储介质及电子设备 |
-
2020
- 2020-01-09 CN CN202010021676.4A patent/CN113095473A/zh active Pending
- 2020-12-23 EP EP20216889.4A patent/EP3848857A1/en not_active Withdrawn
- 2020-12-25 JP JP2020216982A patent/JP2021111388A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694443A (zh) * | 2017-04-05 | 2018-10-23 | 富士通株式会社 | 基于神经网络的语言模型训练方法和装置 |
EP3493120A1 (en) * | 2017-12-01 | 2019-06-05 | Koninklijke Philips N.V. | Training a neural network model |
US20190188537A1 (en) * | 2017-12-14 | 2019-06-20 | Robert Bosch Gmbh | Effective building block design for deep convolutional neural networks using search |
WO2019120019A1 (zh) * | 2017-12-20 | 2019-06-27 | Oppo广东移动通信有限公司 | 用户性别预测方法、装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
CHEN GAO ET.: "Adversarial NAS: Adversarial Neural Architecture Search for GANs", CORNELL UNIVERSITY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, pages 1 - 4 * |
KEMAL OKSUZ ET.: "Imbalabce Problems in Object Detection: A Review", CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, pages 6 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117437463A (zh) * | 2023-10-19 | 2024-01-23 | 上海策溯科技有限公司 | 基于图像处理的医学影像数据处理方法及处理平台 |
CN117437463B (zh) * | 2023-10-19 | 2024-05-24 | 上海策溯科技有限公司 | 基于图像处理的医学影像数据处理方法及处理平台 |
Also Published As
Publication number | Publication date |
---|---|
JP2021111388A (ja) | 2021-08-02 |
EP3848857A1 (en) | 2021-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3803791B1 (en) | Generating a displacement map of an input dataset pair of image or audio data | |
CN106991646B (zh) | 一种基于密集连接网络的图像超分辨率方法 | |
CN110189334B (zh) | 基于注意力机制的残差型全卷积神经网络的医学图像分割方法 | |
Fan et al. | Balanced two-stage residual networks for image super-resolution | |
Liu et al. | Learning recursive filters for low-level vision via a hybrid neural network | |
Chen et al. | Multi-attention augmented network for single image super-resolution | |
CN116324811A (zh) | 卷积神经网络的多带宽分离特征提取卷积层 | |
CN112365514A (zh) | 基于改进PSPNet的语义分割方法 | |
CN110210524A (zh) | 一种图像增强模型的训练方法、图像增强方法及装置 | |
US11526723B2 (en) | Apparatus and methods of obtaining multi-scale feature vector using CNN based integrated circuits | |
CN115147598B (zh) | 目标检测分割方法、装置、智能终端及存储介质 | |
KR20200143193A (ko) | 객체인식장치 및 객체인식방법 | |
CN108932715B (zh) | 一种基于深度学习的冠状动脉造影图分割的优化方法 | |
CN113095473A (zh) | 神经网络架构搜索***和方法及计算机可读记录介质 | |
CN116071300A (zh) | 一种基于上下文特征融合的细胞核分割方法及相关设备 | |
CN103839247B (zh) | 边缘像素确定方法、边缘像素确定装置和图像处理设备 | |
CN109993701B (zh) | 一种基于金字塔结构的深度图超分辨率重建的方法 | |
WO2024060839A1 (zh) | 对象操作方法、装置、计算机设备以及计算机存储介质 | |
CN117726602A (zh) | 基于带状池化的息肉分割方法及*** | |
US20230073175A1 (en) | Method and system for processing image based on weighted multiple kernels | |
Wang et al. | Feature enhancement: predict more detailed and crisper edges | |
CN113807354B (zh) | 图像语义分割方法、装置、设备和存储介质 | |
US20230114556A1 (en) | Neural network models using peer-attention | |
CN113095328A (zh) | 一种基尼指数引导的基于自训练的语义分割方法 | |
CN115658307B (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 |