CN110782010A - 一种神经网络的构建方法及装置、存储介质 - Google Patents
一种神经网络的构建方法及装置、存储介质 Download PDFInfo
- Publication number
- CN110782010A CN110782010A CN201910995551.9A CN201910995551A CN110782010A CN 110782010 A CN110782010 A CN 110782010A CN 201910995551 A CN201910995551 A CN 201910995551A CN 110782010 A CN110782010 A CN 110782010A
- Authority
- CN
- China
- Prior art keywords
- substructure
- network
- target
- network layer
- nth
- 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
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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
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
本公开是关于一种神经网络的构建方法及装置、存储介质。该方法包括:确定第n网络层所包含的备选子结构的网络参数,其中,n为小于或等于N的正整数,N为超网络所包含的网络层的层数;根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数;m小于或等于M,其中,M为所述第n网络层所包含的所述备选子结构的个数,M为正整数;根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构;基于选择的所述至少一个目标子结构,构建目标神经网络的第n网络层。通过本公开实施例提供的技术方案,能够在超网络的各网络层中分别选择多个目标子结构,从而构建多样化的目标神经网络。
Description
技术领域
本公开涉及信息处理技术,尤其涉及一种神经网络的构建方法及装置、存储介质。
背景技术
神经网络是一种模仿动物神经网络行为的特征,进行分布式并行信息处理的算法数学模型,主要依靠系统的负载程度,通过调整内部大量节点之间相互连接的关系,达到处理信息的目的。其在数据处理领域,例如,数据分类、语音分析和图像识别等领域有着广泛的应用。相关技术中,NAS(Neural Architecture Search,神经网络架构搜索)逐渐取代人工设计成为神经网络设计的主要趋势。但现有的NAS方式通常只能实现较为单一的网络结构,难以满足人们对神经网络结构的多样性和灵活性的需求。
发明内容
本公开提供一种神经网络的构建方法及装置、存储介质。
根据本公开实施例的第一方面,提供一种神经网络的构建方法,包括:确定第n网络层所包含的备选子结构的网络参数,其中,n为小于或等于N的正整数,N为超网络所包含的网络层的层数,且N为大于1的正整数;
根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数;m小于或等于M,其中,M为所述第n网络层所包含的所述备选子结构的个数,M为正整数;
根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构;
基于对所述第n网络层所选择的所述至少一个目标子结构,确定目标神经网络的第n网络层,以构建包含N层结构的目标神经网络。
在一些实施例中,所述根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数,包括:
将第m个备选子结构的网络参数作为预设函数的输入参数,确定对应的所述预设函数的输出参数为所述第m个所述备选子结构的权重系数。
在一些实施例中,所述预设函数为sigmoid函数;所述将第m个备选子结构的网络参数作为预设函数的输入参数,确定对应的所述预设函数的输出参数为所述第m个所述备选子结构的权重系数,包括:
将所述第m个备选子结构的网络参数作为所述sigmoid函数的输入参数确定所述sigmoid函数的输出为所述第m个所述备选子结构的权重系数。
在一些实施例中,所述根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构,包括:
如果第m个所述备选子结构的权重系数tm大于或等于系数阈值,则选择所述第m个所述备选子结构作为所述目标子结构。
在一些实施例中,所述方法还包括:
确定第n网络层所包含的备选子结构的所述系数阈值,其中,所述超网络的不同网络层的所述系数阈值不同。
在一些实施例中,所述确定第n网络层所包含的备选子结构的网络参数的步骤前,所述方法还包括:
通过梯度下降法对所述超网络进行训练,得到所述超网络中各网络层所包含的备选子结构的权重系数。
在一些实施例中,所述方法还包括:
在所述目标神经网络的所述第n网络层与第n+1网络层之间设定传递节点;
根据所述第n网络层的第s个所述目标子结构的权重系数,确定所述传递节点对第s个所述目标子结构的输出结果进行加权的S个加权系数;s小于或等于S为正整数,S为所述第n网络层包含的目标子结构的总个数,且S为正整数;
其中,所述传递节点,用于基于所述S个加权系数对第n网络层所包含的S个目标子结构的输出进行加权求和之后输入到所述第n+1网络层。
根据本公开实施例的第二方面,提供一种神经网络的构建装置,包括:
第一确定模块,用于确定第n网络层所包含的备选子结构的网络参数,其中,n为小于或等于N的正整数,N为超网络所包含的网络层的层数,且N为大于1的正整数;
第二确定模块,用于根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数;m小于或等于M,其中,M为所述第n网络层所包含的所述备选子结构的个数,M为正整数;
选择模块,用于根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构;
第三确定模块,用于基于对所述第n网络层所选择的所述至少一个目标子结构,确定目标神经网络的第n网络层,以构建包含N层结构的目标神经网络。
在一些实施例中,所述第二确定模块,具体用于:
将第m个备选子结构的网络参数作为预设函数的输入参数,确定对应的所述预设函数的输出参数为所述第m个所述备选子结构的权重系数。
在一些实施例中,所述预设函数为sigmoid函数;所述将第二确定单元,具体用于:
将所述第m个备选子结构的网络参数作为所述sigmoid函数的输入参数确定所述sigmoid函数的输出为所述第m个所述备选子结构的权重系数。
在一些实施例中,所述选择模块,具体用于:
如果第m个所述备选子结构的权重系数tm大于或等于系数阈值,则选择所述第m个所述备选子结构作为所述目标子结构。
在一些实施例中,所述装置还包括:
第四确定模块,用于确定第n网络层所包含的备选子结构的所述系数阈值,其中,所述超网络的不同网络层的所述系数阈值不同。
在一些实施例中,所述装置还包括:
训练模块,用于通过梯度下降法对所述超网络进行训练,得到所述超网络中各网络层所包含的备选子结构的权重系数。
在一些实施例中,所述装置还包括:
设定模块,用于在所述目标神经网络的所述第n网络层与第n+1网络层之间设定传递节点;
第五确定模块,用于根据所述第n网络层的第s个所述目标子结构的权重系数,确定所述传递节点对第s个所述目标子结构的输出结果进行加权的S个加权系数;s小于或等于S为正整数,S为所述第n网络层包含的目标子结构的总个数,且S为正整数;
其中,所述传递节点,用于基于所述S个加权系数对第n网络层所包含的S个目标子结构的输出进行加权求和之后输入到所述第n+1网络层。
根据本公开实施例的第三方面,提供一种神经网络的构建装置,所述装置至少包括:处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述任一项神经网络的构建方法中的步骤。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一项神经网络的构建方法中的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:通过单独计算各备选子结构的权重系数,使权重系数之间没有相互的制约关系,然后再根据权重系数来进行判断,选择出符合条件的备选子结构作为该网络层的目标子结构,进而构成目标神经网络的一个网络层。这样,能够实现更加多样化的目标神经网络的构建,目标神经网络的每一网络层都可以包含一个或多个子结构,从而提升了目标神经网络的多样性和灵活性,能够应用于多种不同需求的场景。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种神经网络的构建方法的流程图。
图2是根据一示例性实施例示出的一种神经网络的结构示意图。
图3是根据一示例性实施例示出的神经网络的第N网络层的结构示意图。
图4是根据一示例性实施例示出的另一种神经网络的构建方法的流程图。
图5是根据一示例性实施例示出的另一种神经网络的结构示意图。
图6是根据一示例性实施例示出的又一种神经网络的结构示意图。
图7是根据一示例性实施例示出的一种神经网络的构建装置的框图。
图8是根据一示例性实施例示出的一种神经网络的构建装置的实体结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种神经网络的构建方法的流程图,如图1所示,包括以下步骤:
步骤S101、确定第n网络层所包含的备选子结构的网络参数,其中,n为小于或等于N的正整数,N为超网络所包含的网络层的层数,且N为大于1的正整数;
步骤S102、根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数;m小于或等于M,其中,M为所述第n网络层所包含的所述备选子结构的个数,M为正整数;
步骤S103、根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构;
步骤S104、基于对所述第n网络层所选择的所述至少一个目标子结构,确定目标神经网络的第n网络层,以构建包含N层结构的目标神经网络。
上述超网络可以是一种可微分超网络,包括至少一个网络层,且至少一个网络层包含有多个网络结构作为备选子结构,其中,备选子结构为构成超网络的一部分。不同的备选子结构可以具有不同的拓扑结构,或包含不同的运算参数或运算条件。备选子结构可以是但不限于:实现不同卷集核大小及不同步长(Stride)的卷积处理模块。卷积模块可以包括:转置卷积模块,空洞卷积模块,可分离卷积模块,池化模块,恒等变换模块,残差模块,反向残差模块以及线性瓶颈模块(inverted bottleneck)等神经网络中用到的基本操作模块或其组合模块。响应于相同的输入数据,不同的备选子结构可能得到不同的输出结果,当然,对于相同的输入数据,不同结构的备选子结构得到的输出结果也可能是相同的。在同一网络层中,可以包含多个不同的备选子结构,当然也可以包含若干个能够得到相同输出结果的备选子结构。
如图2所示,超网络10包括N个网络层,每个网络层都包含有不同的子结构,输入数据11输入至超网络10,依次通过各网络层后得到输出结果12。这里,能够根据各个备选子结构的结构标识对各个备选网络结构进行区分,其中,结构标识可以为备选子结构的编号或者备选子结构的名称。不同的备选子结构可为实现相同功能或相似功能的不同网络子模型构成,或者,不同的备选子结构可为实现不同功能的不同网络子模型构成。上述超网络的不同网络层中可以包含相同个数和类型的备选子结构,也可以包含不同个数和类型的备选子结构。对于不同的网络层,对应的备选子结构的数量M可以是相同的也可以是不同的。
上述目标神经网络是基于超网络的各层备选子结构构建形成的神经网络,可以理解为超网络的子网络。目标神经网络可以为实现预定功能的神经网络,包括但不限于以下至少之一:对输入图像中目标和背景进行分割的目标分割;对输入图像中目标的分类;基于输入图像的目标跟踪;基于医疗图像的诊断辅助;基于输入语音的语音识别、语义矫正等功能。
以上仅是对所述目标神经网络所实现预定功能的举例说明,具体实现不局限于上述举例。
在一些实施例中,构建目标神经网络的过程通常由超网络的至少一个网络层的多个备选子结构中,选择一个备选子结构作为目标子结构,用以构成目标神经网络当前的网络层。这样,在目标神经网络构建的过程中,选择备选子结构后就只能通过选择的分支进行构建,最终实现单一路径的网络构建。
在本实施例中,分别单独确定超网络的各网络层中各备选子结构的权重系数,使每个备选子结构的权重系数都与其他备选子结构的权重系数没有相互制约的关系,也就是每个备选子结构的权重系数都是独立的。这样,基于各个备选子结构的权重系数来确定是否选择当前的备选子结构,则在一个网络层中可以选择一个或多个备选子结构,而不限于仅能选择单一的分支。也就是说,对于每个备选子结构,都是通过一个判断条件分别进行判断的,相互之间没有制约关系(例如,排斥关系),因此,可以实现在一个网络层中的多样化的选择方式。
上述权重系数是根据备选子结构的作用或重要程度等得到的能够体现备选子结构重要程度的参数,这里可以用于作为选择判断的条件的系数,基于备选子结构的网络参数得到。因此,权重系数也反应了备选子结构的网络参数,是选择备选子结构作为构建目标神经网络的目标子结构的判断依据。备选子结构的网络参数可以是备选子结构网络中的运算参数、属性参数等备选子结构中包含的参数。在超网络训练过程中,可以对备选子结构的网络参数进行调整和优化。每个备选子结构可以具有一个网络参数,也可以具有多个网络参数,因此,这里的备选子结构的网络参数可以是一组参数,包含至少一个可以调整的参数。例如,一个备选子结构的权重系数为通过对该备选子结构的网络参数(取值范围可以包括大于1或小于0的数值)进行函数运算处理所得到的取值范围处于0至1之间的数值,例如,使用函数F(x)=1/[1+exp(x)]对网络参数x进行运算,得到的F(x)即为权重系数,其体现了对应备选子结构的重要程度或贡献度。
上述网络参数是超网络中,各网络层中的备选子结构的重要参数。对于超网络的训练过程,包括确定并不断调整优化各备选子结构的网络参数的过程。同样体现了各备选子结构在当前网络层中的重要程度或贡献度。
通过上述方法,通过单独确定各备选子结构的权重系数,使权重系数之间没有相互的制约关系,然后再根据权重系数来进行判断,选择出符合条件的备选子结构作为该网络层的目标子结构,进而构成目标神经网络的一个网络层。这样,能够实现更加多样化的目标神经网络的构建,目标神经网络的每一网络层都可以包含多个子结构,从而提升了目标神经网络的多样性和灵活性,能够应用于多种不同需求的场景。
在一些实施例中,所述根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数,包括:
将第m个备选子结构的网络参数作为预设函数的输入参数,确定对应的所述预设函数的输出参数为所述第m个所述备选子结构的权重系数。
在神经网络备选子结构权重系数的确定过程中,可以采用如softmax等函数对备选子结构的网络参数进行计算,得到对应的权重系数。但是,这种方式在运算过程中需要将多个备选子结构的网络参数同时作为函数的输入,计算得到相应的输出。因此,这种方式得到的各备选子结构的权重系数之间也具有相互的制约关系。
例如,如图3所示,超网络10的第n网络层具有子结构A、子结构B和子结构C,第n-1层输出O(n-1)作为第N层的输入,分别提供至各子结构,通过子结构A,子结构B,以及子结构C的运算分别得到结果O(A)、O(B)和O(C),与权重系数a1、a2和a3进行加权求和后得到第n层输出O(n),即O(n)=O(A)*a1+O(B)*a2+O(C)*a3。
上述第N网络层的各子结构的权重系数a1、a2和a3是基于神经网络参数p1、p2和p3计算得到的。在一些实施例中,采用函数softmax(p1,p2,p3)计算系数,得到的系数之间满足关系a1+a2+a3=1,这样,经过梯度下降等方法进行优化后,某个分支的权重系数会占主导,在构建目标神经网络进行子结构的选择时,采用函数argmax(a1,a2,a3)取得最大的权重系数对应的子结构直接作为目标神经网络对应该网络层的网络结构。这样,每层网络只能取一个分支,限制了生成神经网络结构的多样性和灵活性。
因此,在本公开实施例中,采用单独确定的方式来确定各备选子结构的权重系数。也就是说,这里仅通过当前子结构的网络参数进行单独运算,计算出仅与当前子结构的网络参数相关的权重系数。示例性的,可利用如函数sifmoid(p)来进行运算,确定当前计算备选子结构的范围属于(0,1)的权重系数。这样,各备选子结构之间的权重系数相互独立,每个网络层经过梯度下降方法优化后可以取任意个分支,即每个网络层都可以选择一个或多个备选子结构作为目标子结构来构建目标神经网络。
这样,通过选择适当的预设函数,实现独立计算每个备选子结构的权重系数,从而解除了各备选子结构的权重系数之间的制约关系,客观体现各子结构在网络层中的重要程度。并依据设定的不同的选择条件,可以实现多种不同的选择,进而提升构建神经网络的多样性和灵活性。
在一些实施例中,所所述预设函数为sigmoid函数;所述将第m个备选子结构的网络参数作为预设函数的输入参数,确定对应的所述预设函数的输出参数为所述第m个所述备选子结构的权重系数,包括:
将所述第m个备选子结构的网络参数作为所述sigmoid函数的输入参数确定所述sigmoid函数的输出为所述第m个所述备选子结构的权重系数。
Sigmoid函数是一种S型函数,也称为S型生长曲线。用于将变量映射到(0,1)的范围内。该函数可以由下述公式(1)来表示:
其中,x为Sigmoid函数的输入参数,e为指数运算符。
在一些实施例中,所述根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构,包括:
如果第m个所述备选子结构的权重系数tm大于或等于系数阈值,则选择所述第m个所述备选子结构作为所述目标子结构。
上述选择备选子结构的过程可以通过对各备选子结构的权重系数设定系数阈值作为选择条件来实现。当权重系数大于设定的系数阈值时,认为该备选子结构的重要程度足够高,则选择该备选子结构作为目标子结构。这样,分别判断各备选子结构的权重系数,就可以选择出相应的目标子结构。
由于各备选子结构的权重系数之间不具有相互的制约关系,因此,对于一个网络层选择哪些备选子结构作为目标子结构取决于系数阈值的设定与各备选子结构的权重系数本身。从而实现对每一网络层进行多分支的选择,进而丰富构建神经网络的多样性。
在一些实施例中,所述方法还包括:
步骤S201、确定第n网络层所包含的备选子结构的所述系数阈值,其中,所述超网络的不同网络层的所述系数阈值不同。
在构建目标神经网络的过程中,可以根据实际的需求来设定各网络层相应的系数阈值,各网络层的系数阈值可以单独设定。在选择第n网络层的备选子结构时,以第n网络层的系数阈值tn作为选择的依据;而在选择第k网络层的备选子结构时,则以第k网络层的系数阈值tk作为选择的依据。这里,系数阈值tn与tk之间相互独立。也就是说,上述超网络的不同网络层的系数阈值不同,是指各网络层之间的系数阈值可以独立设定,其数值可能是不同的,也可能是相同的。在实际应用过程中,可以根据需求进行设定。
需要说明的是,上述步骤S201可以在步骤S103之前的任意位置来执行,可以在训练超网络的过程中确定,也可以在构建目标神经网络的过程中确定,在这里不做限制。
通过设定不同的系数阈值,可以选择控制各网络层选择的目标子结构的数量,从而灵活控制目标神经网络的子网络大小,使目标神经网络能够应用于更加丰富、多样性的场景。例如,第n网络层包括权重系数分别为0.2、0.6和0.8的三个备选子结构,当第n网络层的系数阈值tn设定为0.5时,选择大于0.5的系数阈值所对应的备选子结构,则可以确定两个目标子结构;而当系数阈值tn设定为0.7时,则选择一个目标子结构。
在一些实施例中,所述确定第n网络层所包含的备选子结构的网络参数的步骤前,所述方法还包括:
步骤S301、通过梯度下降法对所述超网络进行训练,得到所述超网络中各网络层所包含的备选子结构的权重系数。
上述步骤S301提供了对超网络进行训练的方法,采用梯度下降法对超网络的各网络层中的权重系数进行不断的调整优化,最终得到合适的权重系数。梯度下降法是一种迭代算法,可用于各种机器学习的训练过程。这里,通过梯度下降法对超网络进行训练,完成训练后就可以确定各网络层所包含的备选子结构的权重系数,体现各备选子结构在网络层中的重要程度。
在一些实施例中,如图4所示,所述方法还包括:
步骤S401、在所述目标神经网络的所述第n网络层与第n+1网络层之间设定传递节点;
步骤S402、根据所述第n网络层的第s个所述目标子结构的权重系数,确定所述传递节点对第s个所述目标子结构的输出结果进行加权的S个加权系数;s小于或等于S为正整数,S为所述第n网络层包含的目标子结构的总个数;
其中,所述传递节点,用于基于所述S个加权系数对第n网络层所包含的S个目标子结构的输出进行加权求和之后输入到所述第n+1网络层,且S为正整数。
在构建目标神经网络的过程中,确定各网络层所包含的目标子结构后,还可以通过设定不同层之间的输入输出关系,来实现目标神经网络的多样化构建。
上述步骤提供了一种实现的方式,在相邻网络层之间设定传递节点,在实际应用中,也可以设定多个传递节点,并将不同的子结构直接的输出结果分别传递至下一网络层的不同子结构。这里,以设定一个传递节点为例,对于目标神经网络的第n网络层,共有S个目标子结构,分别基于各目标子结构在目标神经网络的对应网络层中的权重,对各目标子结构的输出结果进行加权求和,作为第n网络层的输出,通过上述传递节点传递至第n+1网络层。
对于上述目标神经网络中各网络层所包含的各目标子结构的权重,即上述步骤中的加权系数。在一些实施例中,上述加权系数可以与各目标子结构的权重系数相同,也可以根据权重系数进行进一步运算得到。
对各目标子结构的输出结果分别与各自的加权系数相乘,即进行加权运算,得到S个加权后的输出结果,然后再进行求和得到第n网络层的输出结果。
如图5所示,第n网络层具有子结构A、子结构B和子结构C三个子结构,其中,子结构A具有网络参数p1,通过上述任一实施例中的方法进行计算后得到权重系数a1;相应的,子结构B和子结构C分别具有网络参数p2,p3以及对应的权重系数a2和a3。这里,示例性的,取上述权重系数等于权重系数。因此,当第n-1网络层的输出传递至第n网络层,并分别输入至子结构A、子结构B和子结构C。子结构A的输出结果O(A)与对应的权重系数a1相乘,子结构B的输出结果O(B)与对应的权重系数a2相乘,子结构C的输出结果O(C)与对应的权重系数a3相乘,得出的结果求和后作为第N网络层的输出O(N),并经由上述传递节点传递至第n+1网络层,即,O(N)=O(A)*a1+O(B)*a2+O(C)*a3。
通过上述步骤,实现了目标神经网络不同层之间输入输出关系的设定,能够实现具有多层且每层具有多个子结构的复杂神经网络的构建,极大丰富了构建神经网络的多样性和复杂性。
本公开实施例还提供以下示例:
神经网络在人工智能等各领域中具有广泛的应用,NAS逐渐取代人工设计成为神经网络设计的主要趋势。在NAS中,其中一种方法是构建一个包含连续的搜索空间的超网络,可以采用梯度下降等方法来进行参数的优化。在构建神经网络的过程中,可以基于优化后的参数在超网络的连续搜索空间中进行搜索,最终构建出具有复杂拓扑结构的神经网络。
对于一个超网络,可以由多网络层来构成,每个网络层都可以具有一个或多个子结构,每个子结构的带有用于表征其在所属网络层的权重的参数。如图6所示,超网络20具有N个网络层,其中,第n网络层具有三个子结构,分别带有各自的网络参数p1,p2和p3。通过函数softmax(p1,p2,p3)计算分别得到子结构A的系数a1、子结构B的系数a2,以及子结构C的系数a3。Softmax函数的特征包括,输出结果a1、a2与a3满足a1+a2+a3=1。也就是说,当其中一个系数较大时,另外的系数就会相应的较小,使某个子结构的系数会占主导。在构建神经网络的过程中,采用函数argmax(a1,a2,a3)确定出具有最大系数的对应子结构作为当前网络层所要选择的网络结构。这样每层网络只能选取一个分支,就会在一定程度上限制构建的神经网络的结构多样性和复杂性。
在本公开实施例中,计算各子结构的系数时,可以将函数softmax(p1,p2,p3)替换为函数sigmoid(pi),对每一个子结构的分支单独计算系数,系数取值范围为(0,1)。子结构的系数之间互相独立,每层均可以基于梯度下降方法优化后的各备选子结构来选择一个或多个子结构的分支。由于softmax函数的输入参数包含同一网络层的多个备选子结构的网络参数,因此,通过softmax函数计算得到的不同权重系数之间具有相互的制约关系;而sigmoid函数仅基于当前处理的备选子结构的网络参数进行运算,得到的结果与其他备选子结构之间不存在制约关系。通过公式的对比可以清楚体现。
Sigmoid函数由上述公式(1)来表示:
Softmax函数可以由下述公式(2)来表示,其中,k为输入参数的总个数,Xi为当前处理的备选子结构的输入参数:
选择子结构的方法可以通过设置系数阈值t,例如,当一个子结构的系数大于系数阈值时,选择当前的子结构。对于不同的系数阈值大小,可以实现不同的子网络大小,从而实现多分支的神经网络,丰富神经网络结构的多样性,提升神经网络的表达能力。
图7是根据一示例性实施例示出的一种神经网络的构建装置的框图。参照图7,该装置700包括第一确定模块710,第二确定模块720、选择模块730和第三确定模块740。
第一确定模块710,用于确定第n网络层所包含的备选子结构的网络参数,其中,n为小于或等于N的正整数,N为超网络所包含的网络层的层数,且N为大于1的正整数;
第二确定模块720,用于根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数;m小于或等于M,其中,M为所述第n网络层所包含的所述备选子结构的个数,M为正整数;
选择模块730,用于根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构;
第三确定模块740,用于基于对所述第n网络层所选择的所述至少一个目标子结构,确定目标神经网络的第n网络层,以构建包含N层结构的目标神经网络。
在一些实施例中,所述第二确定模块,具体用于:
将第m个备选子结构的网络参数作为预设函数的输入参数,确定对应的所述预设函数的输出参数为所述第m个所述备选子结构的权重系数。
在一些实施例中,所述预设函数为sigmoid函数;所述将第二确定单元,具体用于:
将所述第m个备选子结构的网络参数作为所述sigmoid函数的输入参数确定所述sigmoid函数的输出为所述第m个所述备选子结构的权重系数。
在一些实施例中,所述选择模块,具体用于:
如果第m个所述备选子结构的权重系数tm大于或等于系数阈值,则选择所述第m个所述备选子结构作为所述目标子结构。
在一些实施例中,所述装置还包括:
第四确定模块,用于确定第n网络层所包含的备选子结构的所述系数阈值,其中,所述超网络的不同网络层的所述系数阈值不同。
在一些实施例中,所述装置还包括:
训练模块,用于通过梯度下降法对所述超网络进行训练,得到所述超网络中各网络层所包含的备选子结构的权重系数。
在一些实施例中,所述装置还包括:
设定模块,用于在所述目标神经网络的所述第n网络层与第n+1网络层之间设定传递节点;
第五确定模块,用于根据所述第n网络层的第s个所述目标子结构的权重系数,确定所述传递节点对第s个所述目标子结构的输出结果进行加权的S个加权系数;s小于或等于S为正整数,S为所述第n网络层包含的目标子结构的总个数;
其中,所述传递节点,用于基于所述S个加权系数对第n网络层所包含的S个目标子结构的输出进行加权求和之后输入到所述第n+1网络层。
预设函数关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种用于神经网络的构建装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种神经网络的构建方法,该方法可以包括上述任一实施例中所提供的神经网络的构建方法的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (16)
1.一种神经网络的构建方法,其特征在于,包括:
确定第n网络层所包含的备选子结构的网络参数,其中,n为小于或等于N的正整数,N为超网络所包含的网络层的层数,且N为大于1的正整数;
根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数;m小于或等于M,其中,M为所述第n网络层所包含的所述备选子结构的个数,M为正整数;
根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构;
基于对所述第n网络层所选择的所述至少一个目标子结构,确定目标神经网络的第n网络层,以构建包含N层结构的目标神经网络。
2.根据权利要求1所述的方法,其特征在于,所述根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数,包括:
将第m个备选子结构的网络参数作为预设函数的输入参数,确定对应的所述预设函数的输出参数为所述第m个所述备选子结构的权重系数。
3.根据权利要求2所述的方法,其特征在于,所述预设函数为sigmoid函数;所述将第m个备选子结构的网络参数作为预设函数的输入参数,确定对应的所述预设函数的输出参数为所述第m个所述备选子结构的权重系数,包括:
将所述第m个备选子结构的网络参数作为所述sigmoid函数的输入参数确定所述sigmoid函数的输出为所述第m个所述备选子结构的权重系数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构,包括:
如果第m个所述备选子结构的权重系数tm大于或等于系数阈值,则选择所述第m个所述备选子结构作为所述目标子结构。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
确定第n网络层所包含的备选子结构的所述系数阈值,其中,所述超网络的不同网络层的所述系数阈值不同。
6.根据权利要求1至5任一所述的方法,其特征在于,所述确定第n网络层所包含的备选子结构的网络参数的步骤前,所述方法还包括:
通过梯度下降法对所述超网络进行训练,得到所述超网络中各网络层所包含的备选子结构的权重系数。
7.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
在所述目标神经网络的所述第n网络层与第n+1网络层之间设定传递节点;
根据所述第n网络层的第s个所述目标子结构的权重系数,确定所述传递节点对第s个所述目标子结构的输出结果进行加权的S个加权系数;s小于或等于S为正整数,S为所述第n网络层包含的目标子结构的总个数,且S为正整数;
其中,所述传递节点,用于基于所述S个加权系数对第n网络层所包含的S个目标子结构的输出进行加权求和之后输入到所述第n+1网络层。
8.一种神经网络的构建装置,其特征在于,包括:
第一确定模块,用于确定第n网络层所包含的备选子结构的网络参数,其中,n为小于或等于N的正整数,N为超网络所包含的网络层的层数,且N为大于1的正整数;
第二确定模块,用于根据第m个备选子结构的网络参数,单独确定第m个所述备选子结构的权重系数;m小于或等于M,其中,M为所述第n网络层所包含的所述备选子结构的个数,M为正整数;
选择模块,用于根据所述权重系数,从所述第n网络层中选择至少一个所述备选子结构作为目标子结构;
第三确定模块,用于基于对所述第n网络层所选择的所述至少一个目标子结构,确定目标神经网络的第n网络层,以构建包含N层结构的目标神经网络。
9.根据权利要求8所述的装置,其特征在于,所述第二确定模块,具体用于:
将第m个备选子结构的网络参数作为预设函数的输入参数,确定对应的所述预设函数的输出参数为所述第m个所述备选子结构的权重系数。
10.根据权利要求9所述的装置,其特征在于,所述预设函数为sigmoid函数;所述将第二确定单元,具体用于:
将所述第m个备选子结构的网络参数作为所述sigmoid函数的输入参数确定所述sigmoid函数的输出为所述第m个所述备选子结构的权重系数。
11.根据权利要求10所述的装置,其特征在于,所述选择模块,具体用于:
如果第m个所述备选子结构的权重系数tm大于或等于系数阈值,则选择所述第m个所述备选子结构作为所述目标子结构。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于确定第n网络层所包含的备选子结构的所述系数阈值,其中,所述超网络的不同网络层的所述系数阈值不同。
13.根据权利要求8至12任一所述的装置,其特征在于,所述装置还包括:
训练模块,用于通过梯度下降法对所述超网络进行训练,得到所述超网络中各网络层所包含的备选子结构的权重系数。
14.根据权利要求8至12任一所述的装置,其特征在于,所述装置还包括:
设定模块,用于在所述目标神经网络的所述第n网络层与第n+1网络层之间设定传递节点;
第五确定模块,用于根据所述第n网络层的第s个所述目标子结构的权重系数,确定所述传递节点对第s个所述目标子结构的输出结果进行加权的S个加权系数;s小于或等于S为正整数,S为所述第n网络层包含的目标子结构的总个数,且S为正整数;
其中,所述传递节点,用于基于所述S个加权系数对第n网络层所包含的S个目标子结构的输出进行加权求和之后输入到所述第n+1网络层。
15.一种神经网络的构建装置,其特征在于,所述装置至少包括:处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述权利要求1至7任一项提供的神经网络的构建方法中的步骤。
16.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1至7任一项提供的神经网络的构建方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910995551.9A CN110782010A (zh) | 2019-10-18 | 2019-10-18 | 一种神经网络的构建方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910995551.9A CN110782010A (zh) | 2019-10-18 | 2019-10-18 | 一种神经网络的构建方法及装置、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110782010A true CN110782010A (zh) | 2020-02-11 |
Family
ID=69385984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910995551.9A Pending CN110782010A (zh) | 2019-10-18 | 2019-10-18 | 一种神经网络的构建方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110782010A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327472A (zh) * | 2020-02-24 | 2020-06-23 | 北京百度网讯科技有限公司 | 用于获取目标网络的方法及装置 |
CN111414990A (zh) * | 2020-02-20 | 2020-07-14 | 北京迈格威科技有限公司 | 卷积神经网络处理方法、装置、电子设备及存储介质 |
CN111563591A (zh) * | 2020-05-08 | 2020-08-21 | 北京百度网讯科技有限公司 | 超网络的训练方法和装置 |
CN111680597A (zh) * | 2020-05-29 | 2020-09-18 | 北京百度网讯科技有限公司 | 人脸识别模型处理方法、装置、设备和存储介质 |
-
2019
- 2019-10-18 CN CN201910995551.9A patent/CN110782010A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414990A (zh) * | 2020-02-20 | 2020-07-14 | 北京迈格威科技有限公司 | 卷积神经网络处理方法、装置、电子设备及存储介质 |
CN111414990B (zh) * | 2020-02-20 | 2024-03-19 | 北京迈格威科技有限公司 | 卷积神经网络处理方法、装置、电子设备及存储介质 |
CN111327472A (zh) * | 2020-02-24 | 2020-06-23 | 北京百度网讯科技有限公司 | 用于获取目标网络的方法及装置 |
CN111327472B (zh) * | 2020-02-24 | 2022-08-02 | 北京百度网讯科技有限公司 | 用于获取目标网络的方法及装置 |
CN111563591A (zh) * | 2020-05-08 | 2020-08-21 | 北京百度网讯科技有限公司 | 超网络的训练方法和装置 |
CN111563591B (zh) * | 2020-05-08 | 2023-10-20 | 北京百度网讯科技有限公司 | 超网络的训练方法和装置 |
CN111680597A (zh) * | 2020-05-29 | 2020-09-18 | 北京百度网讯科技有限公司 | 人脸识别模型处理方法、装置、设备和存储介质 |
CN111680597B (zh) * | 2020-05-29 | 2023-09-01 | 北京百度网讯科技有限公司 | 人脸识别模型处理方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6862586B1 (ja) | ニューラルネットワークのトレーニング方法、装置および記憶媒体 | |
CN110516745B (zh) | 图像识别模型的训练方法、装置及电子设备 | |
CN110210535B (zh) | 神经网络训练方法及装置以及图像处理方法及装置 | |
CN110782010A (zh) | 一种神经网络的构建方法及装置、存储介质 | |
CN110689127B (zh) | 神经网络结构模型搜索方法、装置及存储介质 | |
CN107995428B (zh) | 图像处理方法、装置及存储介质和移动终端 | |
CN111160448B (zh) | 一种图像分类模型的训练方法及装置 | |
CN107492115B (zh) | 目标对象的检测方法及装置 | |
CN111553464B (zh) | 基于超网络的图像处理方法、装置及智能设备 | |
CN107133354B (zh) | 图像描述信息的获取方法及装置 | |
CN106886038B (zh) | 运动轨迹的处理方法及装置 | |
CN106485567B (zh) | 物品推荐方法及装置 | |
CN110188865B (zh) | 信息处理方法及装置、电子设备和存储介质 | |
CN112070235A (zh) | 一种深度学习框架的异常定位方法、装置及存储介质 | |
CN116187438A (zh) | 智能体探索策略的确定方法、装置、智能体及存储介质 | |
CN107480773B (zh) | 训练卷积神经网络模型的方法、装置及存储介质 | |
CN110297970B (zh) | 信息推荐模型训练方法及装置 | |
CN112712385B (zh) | 广告推荐方法、装置、电子设备及存储介质 | |
CN110544154B (zh) | 服饰搭配方法及装置、电子设备和存储介质 | |
CN109325141B (zh) | 图像检索方法及装置、电子设备和存储介质 | |
CN114840761A (zh) | 推送模型的训练方法、装置、设备、存储介质及程序产品 | |
CN115035596A (zh) | 行为检测的方法及装置、电子设备和存储介质 | |
CN114819043A (zh) | 面板切割方法、装置、设备及存储介质 | |
CN113486978A (zh) | 文本分类模型的训练方法、装置、电子设备及存储介质 | |
CN108154092B (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 |