CN107480773B - 训练卷积神经网络模型的方法、装置及存储介质 - Google Patents
训练卷积神经网络模型的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN107480773B CN107480773B CN201710675297.5A CN201710675297A CN107480773B CN 107480773 B CN107480773 B CN 107480773B CN 201710675297 A CN201710675297 A CN 201710675297A CN 107480773 B CN107480773 B CN 107480773B
- Authority
- CN
- China
- Prior art keywords
- hidden
- hidden layer
- probability
- layer
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- 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/047—Probabilistic or stochastic 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本公开是关于一种训练卷积神经网络模型的方法、装置及存储介质,涉及深度学习技术领域,该方法包括:对于卷积神经网络模型包括的多个隐含层中的每个隐含层,基于隐含层的隐藏概率从隐含层包括的多个节点中选择目标节点,该多个隐含层的隐藏概率不相同;基于从多个隐含层中选择的目标节点对卷积神经网络模型进行训练。由于不同的隐含层对应不同的输入值,因此,当采用不同的隐藏概率从不同的隐含层中选择目标节点进行训练时,相较于相关技术中对所有隐含层均采用相同的隐藏概率进行训练,可以有效的提高卷积神经网络模型的图像识别准确率。
Description
技术领域
本公开涉及深度学习技术领域,尤其涉及一种训练卷积神经网络模型的方法、装置及存储介质。
背景技术
近年来,深度学习技术被广泛的用于图像识别和分类领域。其中,深度学习技术中采用的卷积神经网络模型一般均为多层的卷积网络。在训练该卷积神经网络模型时,如果训练集中的样本较少,就容易导致过拟合,从而造成图像识别准确率降低。为了解决上述问题,可以采用Dropout算法对卷积神经网络模型进行训练。
相关技术中,卷积神经网络模型可以包括一个输入层、一个输出层和多个隐含层,该多个隐含层位于输入层和输出层之间,输入层与第一个隐含层连接,第一个隐含层的输出值作为与其相邻的下一个隐含层的输入值,最后一个隐含层的输出值则作为输出层的输入值。当采用Dropout算法对卷积神经网络模型进行训练时,对于卷积神经网络模型中的每个隐含层,可以根据预设概率从该隐含层包括的多个节点中选择目标节点,并根据从该多个隐含层中选择的目标节点对卷积神经网络模型进行训练。
发明内容
为克服相关技术中采用相同的预设概率对卷积神经网络模型进行训练时造成的卷积神经网络模型的图像识别准确率较低的问题,本公开提供一种训练卷积神经网络模型的方法、装置及存储介质。
根据本公开实施例的第一方面,提供一种训练卷积神经网络模型的方法,包括:
对于卷积神经网络模型包括的多个隐含层中的每个隐含层,基于所述隐含层的隐藏概率从所述隐含层包括的多个节点中选择目标节点,所述多个隐含层的隐藏概率不相同;
基于从所述多个隐含层中选择的目标节点对所述卷积神经网络模型进行训练。
可选地,所述基于所述隐含层的隐藏概率从所述隐含层包括的多个节点中选择目标节点之前,还包括:
确定所述卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,所述多个隐含层的隐藏概率按照所述多个隐含层输出值的抽象程度从高到低的顺序依次升高。
可选地,所述确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,包括:
对于所述卷积神经网络模型包括的多个隐含层中的每个隐含层,获取所述隐含层的输出值;
基于所述隐含层的输出值,确定所述隐含层的隐藏概率。
可选地,所述基于所述隐含层的输出值,确定所述隐含层的隐藏概率,包括:
对所述隐含层的输出值进行奇异值分解,得到N个奇异值,所述N为大于1的正整数;
计算所述N个奇异值的平方和,并计算所述N个奇异值的平方和与预设比例的乘积,得到目标平方和;
将所述N个奇异值按照从大到小的顺序进行排序,得到排序结果;
确定所述排序结果中的第M个奇异值,其中,所述排序结果中的前M个奇异值的平方和大于所述目标平方和,且所述排序结果中的前M-1个奇异值的平方和小于所述目标平方和,所述M为大于或等于1的正整数;
将所述M和所述N的比值确定为所述隐含层的隐藏概率。
可选地,所述确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,包括:
获取第一隐含层的输出值以及第二隐含层的输出值,所述第一隐含层为所述多个隐含层中输出值抽象程度最低的隐含层,所述第二隐含层为所述多个隐含层中输出值抽象程度最高的隐含层;
基于所述第一隐含层的输出值,确定所述第一隐含层的隐藏概率,基于所述第二隐含层的输出值,确定所述第二隐含层的隐藏概率;
基于所述第一隐含层的隐藏概率与所述第二隐含层的隐藏概率之间的概率差值,确定所述多个隐含层中除所述第一隐含层和所述第二隐含层之间的其他隐含层的隐藏概率。
可选地,所述第一隐含层为与输入层连接的第一个隐含层,所述第二隐含层为与输出层连接的最后一个隐含层;
所述基于所述第一隐含层的隐藏概率和所述第二隐含层的隐藏概率之间的概率差值,确定所述多个隐含层中除所述第一隐含层和所述第二隐含层之外的其他隐含层的隐藏概率,包括:
基于所述多个隐含层的个数、所述概率差值、所述第一个隐含层的隐藏概率以及所述最后一个隐含层的隐藏概率,确定位于所述第一个隐含层和所述最后一个隐含层之间的每个隐含层的隐藏概率。
可选地,所述基于所述隐含层的隐藏概率从所述隐含层包括的多个节点中选择目标节点,包括:
对于所述隐含层包括的多个节点中的每个节点,按照预设规则为所述节点生成一个随机概率;
当所述随机概率小于所述隐藏概率时,将所述节点确定为目标节点。
根据本公开实施例的第二方面,提供一种训练卷积神经网络模型的装置,所述装置包括:
选择模块,用于对于卷积神经网络模型包括的多个隐含层中的每个隐含层,基于所述隐含层的隐藏概率值从所述隐含层包括的多个节点中选择目标节点,所述多个隐含层的隐藏概率不相同;
训练模块,用于基于从所述多个隐含层中选择的目标节点对所述卷积神经网络模型进行训练。
可选地,所述装置还包括:
确定模块,用于确定所述卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,所述多个隐含层的隐藏概率按照所述多个隐含层输出值的抽象程度从高到低的顺序依次升高。
可选地,所述确定模块包括:
第一获取子模块,用于对于所述卷积神经网络模型包括的多个隐含层中的每个隐含层,获取所述隐含层的输出值;
第一确定子模块,用于基于所述隐含层的输出值,确定所述隐含层的隐藏概率。
可选地,所述确定子模块用于:
对所述隐含层的输出值进行奇异值分解,得到N个奇异值,所述N为大于1的正整数;
计算所述N个奇异值的平方和,并计算所述N个奇异值的平方和与预设比例的乘积,得到目标平方和;
将所述N个奇异值按照从大到小的顺序进行排序,得到排序结果;
确定所述排序结果中的第M个奇异值,其中,所述排序结果中的前M个奇异值的平方和大于所述目标平方和,且所述排序结果中的前M-1个奇异值的平方和小于所述目标平方和,所述M为大于或等于1的正整数;
将所述M和所述N的比值确定为所述隐含层的隐藏概率。
可选地,所述确定模块包括:
第二获取子模块,用于获取第一隐含层的输出值以及第二隐含层的输出值,所述第一隐含层为所述多个隐含层中输出值抽象程度最低的隐含层,所述第二隐含层为所述多个隐含层中输出值抽象程度最高的隐含层;
第二确定子模块,用于基于所述第一隐含层的输出值,确定所述第一隐含层的隐藏概率,基于所述第二隐含层的输出值,确定所述第二隐含层的隐藏概率;
第三确定子模块,用于基于所述第一隐含层的隐藏概率与所述第二隐含层的隐藏概率之间的概率差值,确定所述多个隐含层中除所述第一隐含层和所述第二隐含层之外的其他隐含层的隐藏概率。
可选地,所述第一隐含层为与输入层连接的第一个隐含层,所述第二隐含层为与输出层连接的最后一个隐含层;
所述第三确定子模块用于:
基于所述多个隐含层的个数、所述概率差值、所述第一个隐含层的隐藏概率以及所述最后一个隐含层的隐藏概率,确定位于所述第一个隐含层和所述最后一个隐含层之间的每个隐含层的隐藏概率。
可选地,所述选择模块包括:
第四确定子模块,用于对于所述隐含层包括的多个节点中的每个节点,按照预设规则为所述节点生成一个随机概率;
第五确定子模块,用于当所述随机概率小于所述隐藏概率时,将所述节点确定为目标节点。
根据本公开实施例的第三方面,提供一种训练卷积神经网络模型的装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为上述第一方面所述的任一项方法的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:对于卷积神经网络模型包括的多个隐含层中的每个隐含层,通过该隐含层的隐藏概率从该隐含层包括的多个节点中选择目标节点,并根据从多个隐含层中选择的目标节点对卷积神经网络模型进行训练,其中,该多个隐含层的隐藏概率不相同。由于不同的隐含层对应不同的输入值,因此,当采用不同的隐藏概率从不同的隐含层中选择目标节点进行训练时,相较于相关技术中对所有隐含层均采用相同的隐藏概率进行训练,可以有效的提高卷积神经网络模型的图像识别准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种卷积神经网络模型的架构图。
图2是根据一示例性实施例示出的一种训练卷积神经网络模型的方法的流程图。
图3是根据一示例性实施例示出的一种训练卷积神经网络模型的方法的流程图。
图4是根据一示例性实施例示出的一种训练卷积神经网络模型的方法的流程图。
图5A是根据一示例性实施例示出的一种训练卷积神经网络模型的装置的框图。
图5B是根据一示例性实施例示出的一种训练卷积神经网络模型的装置的框图。
图5C是根据一示例性实施例示出的一种确定模块框图。
图5D是根据一示例性实施例示出的另一种确定模块的框图。
图6是根据一示例性实施例示出的一种训练卷积神经网络模型的装置的框图。
图7是根据一示例性实施例示出的一种训练卷积神经网络模型的装置的框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
在对本公开实施例进行详细的解释说明之前,先对本公开实施例涉及的应用场景予以介绍。
卷积神经网络模型是指在传统的多层神经网络的基础上发展起来的一种针对图像分类和识别的神经网络,相对于传统的多层神经网络,卷积神经网络模型中引入了卷积算法和池化算法。在采用卷积神经网络模型对图像进行分类和识别之前,需要对卷积神经网络模型进行训练。其中,当对卷积神经网络模型进行训练时,可以将训练样本集中的多个样本输入该卷积神经网络模型,进行前向计算,从而得到该卷积神经网络模型每一层的输出值。之后,可以根据该卷积神经网络模型的最后一层的输出值以及其余层的输出值进行反向计算,以对每一层的节点的参数进行更新。
在训练的过程中,如果训练样本集中的样本数据数量太少,那么,经过训练的卷积神经网络模型对该训练样本集中的样本数量的拟合效果可能非常精确,但是,当通过该卷积神经网络模型对测试数据进行拟合时,则可能会出现精度非常差的现象,这种现象即为过拟合。如果卷积神经网络模型过拟合,那么,采用该卷积神经网络模型的图像识别准确率也会大幅降低。
当前,为了防止出现上述过拟合现象,可以采用Dropout技术对卷积神经网络模型进行训练。Dropout技术最早由深度学习之父Hinton提出,当采用Dropout技术训练卷积神经网络模型时,对于该卷积神经网络模型中包括的多个隐含层中的每一个隐含层,在一次迭代训练过程中,可以通过一个预设概率选择该隐含层中的多个目标节点,并对选择的多个目标节点的参数进行更新。而对于该隐含层中剩余的未被选择的节点,在本次迭代训练过程中则视为将其隐藏,也即是,对该隐含层中未被选择的节点的参数暂时不进行更新。当再次通过其他训练样本进行迭代训练时,则重新通过预设概率选择目标节点。这样,由于每次迭代训练所选择的节点都不相同,因此,每一次迭代训练得到的卷积神经网络模型也就不同。由于采用Dropout技术对卷积神经网络模型进行训练时对每个隐含层中包括的节点进行了取舍,因此,减少了每个隐含层中各个节点之间的耦合作用,减轻了过拟合,进而提高了图像识别准确率。而本公开实施例提供的训练卷积神经网络模型的方法即可以用于上述采用Dropout技术对卷积神经网络模型进行训练的过程中。
在对本公开实施例的应用场景进行介绍之后,接下来对本公开实施例涉及到的卷积神经网络模型的基本架构进行介绍。
图1是本公开实施例提供的一种卷积神经网络模型的架构。如图1所示,该卷积神经网络模型包括输入层101、隐含层102-105和输出层106,其中,输入层101和隐含层102相连,隐含层102、103、104和105依次相连,隐含层105与输出层106相连。其中,输入层可以只包括一个节点,也可以包括多个节点,隐含层102-105中的任一隐含层,均可以包括多个节点,输出层106可以包括一个节点,也可以包括多个节点。如图1所示,在本公开实施例中,假设输入层只包括一个节点,隐含层102-105均包括4个节点,输出层106可以包括一个节点。
其中,输入层用于确定输入的图像包括的所有像素点的像素值,并将该图像的所有像素点的像素值传输至隐含层102,其中,隐含层102可以为卷积层。当隐含层102接收到所有像素点的像素值之后,根据接收到的所有像素点的像素值进行第一次卷积算法处理,得到第一层卷积处理后的像素点,并将第一次卷积处理后的像素点传输至隐含层103,此时,该隐含层103可以为卷积层、采样层或者是池化层。当隐含层103为池化层时,可以根据第一次卷积处理后的像素点的像素值进行第一次池化算法处理,得到第一次池化处理后的像素点,并将第一次池化处理后的像素点传输至下一个隐含层104。此时,隐含层104可以为卷积层,该隐含层104可以根据第一次池化处理后的像素点进行第二次卷积算法处理,得到第二次卷积处理后的像素点,并将第二次卷积处理后的像素点传输至下一个隐含层105。当隐含层104为卷积层时,隐含层105可以为池化层。隐含层105可以根据接收到的第二次卷积处理后的像素点进行第二次池化算法处理,得到第二次池化处理后的像素点,并将第二次池化处理后的像素点传输至输出层106。通常,输出层106为全连接层,可以根据接收到的处理后的像素点的像素值来确定该图像分别属于预先设置多个类别中的每个类别的概率,从而得到该图像的分类。
需要说明的是,卷积神经网络模型中的隐含层可以为卷积层、采样层、池化层或全连接层。上述提供的卷积神经网络模型的架构仅是本公开实施例提供的一种可能的卷积神经网络模型的架构,并不构成对本公开实施例的限定。
在对本公开实施例应用场景以及涉及的卷积神经网络模型的架构进行介绍之后,接下来对本公开实施例提供的训练卷积神经网络模型的实现方式进行详细的解释说明。
图2是根据一示例性实施例示出的一种训练卷积神经网络模型的方法的流程图,如图2所示,该训练卷积神经网络模型的方法可以用于终端中,也可以用于服务器中,该方法包括以下步骤:
在步骤201中,对于卷积神经网络模型包括的多个隐含层中的每个隐含层,基于该隐含层的隐藏概率从该隐含层包括的多个节点中选择目标节点,该多个隐含层的隐藏概率不相同。
在步骤202中,基于从该多个隐含层中选择的目标节点对该卷积神经网络模型进行训练。
在本公开实施例中,对于卷积神经网络模型包括的多个隐含层中的每个隐含层,通过该隐含层的隐藏概率从该隐含层包括的多个节点中选择目标节点,并根据从多个隐含层中选择的目标节点对卷积神经网络模型进行训练,其中,该多个隐含层的隐藏概率不相同。由于不同的隐含层对应不同的输入值,因此,当采用不同的隐藏概率从不同的隐含层中选择目标节点进行训练时,相较于相关技术中对所有隐含层均采用相同的隐藏概率进行训练,可以有效的提高卷积神经网络模型的图像识别准确率。
可选地,基于隐含层的隐藏概率从隐含层包括的多个节点中选择目标节点之前,还包括:
确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,多个隐含层的隐藏概率按照多个隐含层输出值的抽象程度从高到低的顺序依次升高。
可选地,确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,包括:
对于卷积神经网络模型包括的多个隐含层中的每个隐含层,获取隐含层的输出值;
基于隐含层的输出值,确定隐含层的隐藏概率。
可选地,基于隐含层的输出值,确定隐含层的隐藏概率,包括:
对隐含层的输出值进行奇异值分解,得到N个奇异值,N为大于1的正整数;
计算N个奇异值的平方和,并计算N个奇异值的平方和与预设比例的乘积,得到目标平方和;
将N个奇异值按照从大到小的顺序进行排序,得到排序结果;
确定排序结果中的第M个奇异值,其中,排序结果中的前M个奇异值的平方和大于目标平方和,且排序结果中的前M-1个奇异值的平方和小于目标平方和,M为大于或等于1的正整数;
将M和N的比值确定为隐含层的隐藏概率。
可选地,确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,包括:
获取第一隐含层的输出值以及第二隐含层的输出值,第一隐含层为多个隐含层中输出值抽象程度最低的隐含层,第二隐含层为多个隐含层中输出值抽象程度最高的隐含层;
基于第一隐含层的输出值,确定第一隐含层的隐藏概率,基于第二隐含层的输出值,确定第二隐含层的隐藏概率;
基于第一隐含层的隐藏概率与第二隐含层的隐藏概率之间的概率差值,确定多个隐含层中除第一隐含层和第二隐含层之外的其他隐含层的隐藏概率。
可选地,第一隐含层为与输入层连接的第一个隐含层,第二隐含层为与输出层连接的最后一个隐含层;
基于第一隐含层的隐藏概率和第二隐含层的隐藏概率之间的概率差值,确定多个隐含层中除第一隐含层和第二隐含层之外的其他隐含层的隐藏概率,包括:
基于多个隐含层的个数、概率差值、第一个隐含层的隐藏概率以及最后一个隐含层的隐藏概率,确定位于第一个隐含层和最后一个隐含层之间的每个隐含层的隐藏概率。
可选地,基于隐含层的隐藏概率从隐含层包括的多个节点中选择目标节点,包括:
对于隐含层包括的多个节点中的每个节点,按照预设规则为该节点生成一个随机概率;
当随机概率小于隐藏概率时,将节点确定为目标节点。
上述所有可选技术方案,均可按照任意结合形成本公开的可选实施例,本公开实施例对此不再一一赘述。
当训练卷积神经网络模型时,对于该卷积神经网络模型包括的多个隐含层,可以采用不同的隐藏概率从每个隐含层包括的多个节点中选择目标节点,并根据选择的目标节点对该卷积神经网络模型进行训练。而在选择目标节点之前,可以确定多个隐含层中每个隐含层的隐藏概率。
需要说明的是,在卷积神经网络模型中,各个隐含层的输出值的抽象程度不同。通常,按照从输入层到输出层的顺序,越靠近输出层的隐含层,输出值越接近类别信息,也即是,抽象程度越高。而越靠近输入层的隐含层,输出值越接近形态信息,抽象程度也就越低。对于抽象程度高的隐含层,可以以较小的隐藏概率进行训练,而对于抽象程度越低的隐含层,则可以以较大的隐藏概率进行训练。
基于上述描述,在本公开实施例中,对于该多个隐含层,可以根据该多个隐含层的输出值的抽象程度的高低,按照隐含层的隐藏概率随着抽象程度的升高而降低的原则来确定该多个隐含层中每个隐含层的隐藏概率。具体的,可以通过两种不同的方法来确定多个隐含层中每个隐含层的隐藏概率,进而根据该隐藏概率对该卷积神经网络模型进行训练。接下来,将结合图3对本公开实施例提供的第一种训练卷积神经网络模型的方法进行详细的解释说明。
图3是根据一示例性实施例示出的一种训练卷积神经网络模型的方法的流程图。该方法可以用于终端或服务器中,在本公开实施例中,将以终端为执行主体进行解释说明。当执行主体为服务器时,也依然可以通过下述实施例中的实现过程来对卷积神经网络模型进行训练。如图3所示,该方法包括以下步骤:
在步骤301中,对于卷积神经网络模型包括的多个隐含层中的每个隐含层,获取隐含层的输出值。
在本公开实施例中,当对卷积神经网络模型进行训练时,可以将训练样本集中的训练图像进行前向计算,也即是,从该卷积神经网络模型的输入层输入该训练图像,经过中间多个隐含层的计算,最终由该卷积神经网络模型的输出层输出对该训练图像的识别结果。
在将该训练图像进行前向计算的过程中,按照从输入层到输出层的顺序,输入层的输出值将作为第一个隐含层的输入值,最后一个隐含层的输出值将作为输出层的输入值。而对于相邻的两个隐含层,前一个隐含层的输出值将作为下一个隐含层的输入值。当将该训练图像从输入层传输到输出层时,对于该卷积神经网络模型的多个隐含层中的每个隐含层,终端可以获取每个隐含层的输出值。
在步骤302中,基于每个隐含层的输出值,确定每个隐含层的隐藏概率,多个隐含层的隐藏概率不相同,且多个隐含层的隐藏概率按照多个隐含层输出值的抽象程度从高到低的顺序依次升高。
当获取到每个隐含层的输出值之后,终端可以通过每个隐含层的输出值,根据下述方法来确定每个隐含层的隐藏概率。其中,该隐藏概率即为后续对该隐含层包括的多个节点进行选择的依据。
其中,对于多个隐含层中的每个隐含层,基于该隐含层的输出值,确定该隐含层的隐藏概率的操作可以为:对隐含层的输出值进行奇异值分解,得到N个奇异值,N为大于1的正整数;计算N个奇异值的平方和,并计算N个奇异值的平方和与预设比例的乘积,得到目标平方和;将N个奇异值按照从大到小的顺序进行排序,得到排序结果;确定排序结果中的第M个奇异值,其中,排序结果中的前M个奇异值的平方和大于目标平方和,且排序结果中的前M-1个奇异值的平方和小于目标平方和,M为大于或等于1的正整数;将M和N的比值确定为隐含层的隐藏概率。
需要说明的是,当获取到该隐含层的输出值之后,可以将该输出值进行奇异值分解,得到N个奇异值。之后,可以计算该N个奇异值的平方和,并且按照预设比例计算目标平方和,例如,假设N个奇异值的平方和为R,预设比例为k,那么,该目标平方和将为W=k*R。其中,该预设比例可以为80%,也可以为70%,还可以为其他数值。
当确定目标平方和之后,终端可以将得到的N个奇异值按照从大到小的顺序进行排序,得到排序结果。之后,终端可以首先从该排序结果中的第一个奇异值开始,计算该奇异值的平方,并判断该奇异值的平方是否大于或等于目标平方和。如果该奇异值的平方小于目标平方和,那么,终端可以将该排序结果中的第一个奇异值的平方加上第二奇异值的平方,得到该排序结果中前两个奇异值的平方和,并判断前两个奇异值的平方和是否大于或等于目标平方和。按照上述的方法,终端可以不断计算不断判断,直到计算得到的该排序结果中前M个奇异值的平方和大于或等于目标平方和时,即停止计算,并将M和N的比值作为该隐含层的隐藏概率。
例如,假设对隐含层的输出值进行奇异值分解得到的10个奇异值,也即是,N=10。计算10个奇异值的平方和为R,预设比例为80%,因此,目标平方和W=80%*R。将该10个奇异值进行排序,得到的排序结果为:(n1,n2,n3,n4,n5,n6,n7,n8,n9,n10)。之后,终端首先计算并判断是否大于或等于W,如果大于或等于W,那么,M即为1,此时,该隐含层的隐藏概率将为M/N=0.1。如果小于W,此时,终端可以计算并继续判断是否大于或等于W。如果小于W,那么,终端将继续计算以此类推,直到计算得到的平方和大于或等于W时,即停止计算。假设当终端计算到时,确定大于或等于目标平方和,此时,即可确定M=6,并计算得到该隐含层的隐藏概率为M/N=0.6。
在步骤303中,基于隐含层的隐藏概率从该隐含层包括的多个节点中选择目标节点。
当确定隐含层的隐藏概率之后,对于该隐含层包括的多个节点中的每个节点,终端可以按照预设规则为该节点生成一个随机概率,当该随机概率小于隐藏概率时,则将该节点确定为目标节点。
其中,终端可以通过伯努利函数或者是二项分布函数确定为该节点生成一个随机概率,之后,将该随机概率与该隐含层的隐藏概率进行比较,从而判断在后续的训练过程中是否对该节点的参数进行更新。
例如,假设该隐含层包括4个节点,确定的该隐含层的隐藏概率为0.6。对于节点1,假设通过伯努利函数或者是二项分布函数确定的该节点的随机概率为0.4,由于0.4小于0.6,此时,即可以将该节点1确定为目标节点,也即是,在后续的训练过程中,需要对该节点1的参数进行更新。对于节点2,假设其随机概率为0.7,由于0.7大于0.6,此时,该节点2将不能被作为目标节点,也即是,在后续的训练过程中,该节点2将被暂时隐藏,不对该节点2的参数进行更新。对于剩余的两个节点,都可以通过上述的方法来确定是否将其作为目标节点。
对于每个隐含层,终端都可以通过上述方法从其中选择至少一个目标节点,当确定了每个隐含层所对应的目标节点之后,接下来终端可以通过步骤304中的方法对该卷积神经网络模型进行训练。
在步骤304中,基于从多个隐含层中选择的目标节点对卷积神经网络模型进行训练。
对于每个隐含层,终端都可以通过上述方法从中选择得到目标节点,当终端确定了多个隐含层分别对应的目标节点之后,则可以通过选择的目标节点对该卷积神经网络模型进行训练。
当终端确定了多个隐含层的目标节点,且训练过程中的前向计算已经完成时,终端即可以开始反向计算。在进行反向计算时,即可以根据前向计算时输出层的输出值,对选择的目标节点的参数进行更新,从而完成对卷积神经网络模型的训练。
在本公开实施例中,终端可以确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,其中,该多个隐含层的隐藏概率不相同,并且,按照该多个隐含层输出值的抽象程度由低到高的顺序,该多个隐含层的隐藏概率依次降低。由于按照从输入层到输出层的顺序,各个隐含层的输出值的抽象程度不同。因此,终端可以根据各个隐含层对应的抽象程度,为不同的隐含层确定不同的隐藏概率。而由于不同的隐含层对应不同的输入值,因此当采用不同的隐藏概率对卷积神经网络模型进行训练时,相较于相关技术中对所有隐含层均采用相同的隐藏概率进行训练,可以有效的提高卷积神经网络模型的图像识别准确率。
需要说明的是,通过实验证明,按照本公开实施例中上述提供的方法确定隐藏概率,并根据该隐藏概率训练卷积神经网络模型,当采用该训练后的卷积神经网络模型进行图像识别时,相较于相关技术中采用通过0.5的预设概率训练得到的卷积神经网络模型进行图像识别,识别的准确率从0.86上升为0.92,提升效果非常明显。
通过上述实施例介绍了第一种训练卷积神经网络模型的方法,接下来,将结合图4对本公开实施例提供的第二种训练卷积神经网络模型的方法进行介绍。
图4是根据一示例性实施例示出的一种训练卷积神经网络模型的方法的流程图,该方法可以用于终端或者服务器中,本公开实施例中将以执行主体为终端进行解释说明,在实际应用中,当执行主体为服务器时,也依然可以通过下述实施例中的实现过程来对卷积神经网络模型进行训练。如图4所示,该方法包括以下步骤:
在步骤401中,获取第一隐含层的输出值以及第二隐含层的输出值,该第一隐含层为多个隐含层中输出值抽象程度最低的隐含层,该第二隐含层为多个隐含层中输出值抽象程度最高的隐含层。
在本公开实施例中,为了减少计算量,终端可以只对输出值抽象程度最低的第一隐含层和输出值抽象程度最高的第二隐含层的输出值进行分析,以分别获取对应的隐藏概率,而对于其他隐含层,则可以不对其输出值进行分析,采用更加简便的算法来确定其隐藏概率。因此,在本步骤中,终端可以只获取第一隐含层的输出值以及第二隐含层的输出值。
需要说明的是,在目前的卷积神经网络模型中,通常,与输入层连接的第一个隐含层的输出值的抽象程度是最低的,而与输出层连接的最后一个隐含层的输出值的抽象程度往往是最高的,因此,终端可以直接获取与输入层连接的第一个隐含层的输出值作为第一隐含层的输出值,并将与输出层连接的最后一个隐含层的输出值作为第二隐含层的输出值。
在步骤402中,基于第一隐含层的输出值,确定第一隐含层的隐藏概率,基于第二隐含层的输出值,确定第二隐含层的隐藏概率。
当获取到第一隐含层的输出值时,终端可以通过前述实施例中步骤302中的方式来确定得到第一隐含层的隐藏概率。同理,当获取第二隐含层的隐藏概率时,终端也同样可以通过步骤302中确定隐藏概率的方式来确定第二隐含层的隐藏概率。本公开实施例在这里不再赘述。
在步骤403中,基于第一隐含层的隐藏概率和第二隐含层的隐藏概率之间的概率差值,确定多个隐含层中除第一隐含层和第二隐含层之外的其他隐含层的隐藏概率。
当确定得到第一隐含层和第二隐含层的隐藏概率之后,终端可以计算第一隐含层的隐藏概率与第二隐含层的隐藏概率之间的概率差值;之后,终端可以基于该概率差值来确定该多个隐含层中其余隐含层的隐藏概率。
其中,终端可以将多个隐含层的输出值的抽象程度按照从低到高的顺序进行排序,得到排序结果,此时,该排序结果中的第一个隐含层即为第一隐含层,而该排序结果中的最后一个隐含层即为第二隐含层。之后,终端可以基于多个隐含层的个数、概率差值、第一隐含层的隐藏概率以及第二隐含层的隐藏概率,确定该排序结果中位于第一个隐含层和最后一个隐含层之间的每个隐含层的隐藏概率。
其中,当终端计算得到第一隐含层的隐藏概率和第二隐含层的隐藏概率之间的概率差值之后,终端可以确定该卷积神经网络模型包括的隐含层的个数K,并计算该概率差值和K-1之间的比值。之后,终端可以将第一隐含层的隐藏概率减去该比值,得到该排序结果中第二个隐含层的隐藏概率,以此类推。也即是,对于该排序结果中位于第一隐含层的第二隐含层之间的每个隐含层,可以将该隐含层的隐藏概率减去该比值,从而得到该排序结果中位于该隐含层之后的下一个隐含层的隐藏概率。
需要说明的是,在目前的卷积神经网络模型中,多个隐含层的输出值的抽象程度往往是按照从输入层到输出层的顺序依次升高的,也即是,与输入层连接的第一个隐含层的输出值的抽象程度是最低的,与第一个隐含层连接的下一个隐含层的输出值的抽象程度则高于第一个隐含层,以此类推,与输出层连接的最后一个隐含层的输出值的抽象程度最高。因此,对于此类卷积神经网络模型,终端可以不必再按照输出值的抽象程度对多个隐含层进行排序。也即是,终端可以直接确定与输入层连接的第一个隐含层的隐藏概率以及与输出层连接的最后一个隐含层的隐藏概率,并计算第一个隐含层与最后一个隐含层之间的概率差值,之后,基于该多个隐含层的个数、该概率差值、第一个隐含层的隐藏概率和最后一个隐含层的隐藏概率,计算该卷积神经网络模型中位于第一个隐含层和最后一个隐含层之间的每个隐含层的隐藏概率。
例如,假设卷积神经网络模型中与输入层连接的第一个隐含层的隐藏概率为a,与输出层连接的最后一个隐含层的隐藏概率为b,该卷积神经网络模型包括的隐含层的个数为10,那么,终端可以计算第一个隐含层的隐藏概率a和最后一个隐含层的隐藏概率b之间的概率差值a-b,并计算得到比值(a-b)/(K-1)。之后,对于与第一个隐含层连接的下一个隐含层,该隐含层的隐藏概率即为a-(a-b)/(K-1),而与该隐含层连接的下一个隐含层的隐藏概率则为a-2*(a-b)/(K-1),以此类推,可以计算得到位于第一个隐含层和最后一个隐含层之间的每个隐含层的隐藏概率。
在步骤404中,对于每个隐含层,基于该隐含层的隐藏概率从隐含层包括的多个节点中选择目标节点。
当确定了每个隐含层的隐藏概率之后,对于每个隐含层,终端可以参考前述实施例中的步骤303,通过该隐含层的隐藏概率从该隐含层包括的多个节点中选择目标节点。本公开实施例在这里不再赘述。
在步骤405中,基于从多个隐含层中选择的目标节点对卷积神经网络模型进行训练。
本步骤可以参考前述实施例中步骤304中的实现方式,本公开实施例不再赘述。
在本公开实施例中,终端可以确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,其中,该多个隐含层的隐藏概率不相同,并且,按照该多个隐含层输出值的抽象程度由低到高的顺序,该多个隐含层的隐藏概率依次降低。由于按照从输入层到输出层的顺序,各个隐含层的输出值的抽象程度不同。因此,终端可以根据各个隐含层对应的抽象程度,为不同的隐含层确定不同的隐藏概率。而由于不同的隐含层对应不同的输入值,因此当采用不同的隐藏概率对卷积神经网络模型进行训练时,相较于相关技术中对所有隐含层均采用相同的隐藏概率进行训练,可以有效的提高卷积神经网络模型的图像识别准确率。
另外,在本实施例中,终端可以只分析输出值抽象程度最高的隐含层的输出值以及抽象程度最低的隐含层的输出值,其余的隐含层则可以不必再做输出值分析,按照隐藏概率随着抽象程度升高而降低的原则进行确定即可,减少了终端的计算量。
在对本公开实施例提供的训练卷积神经网络模型的方法进行介绍之后,接下来对本公开实施例提供的训练卷积神经网络模型的装置进行介绍。
图5A是根据一示例性实施例示出的一种训练卷积神经网络模型的装置的框图。参照图5A,该装置包括确定模块501,选择模块502和训练模块503。
选择模块501,用于对于卷积神经网络模型包括的多个隐含层中的每个隐含层,基于该隐含层的隐藏概率值从该隐含层包括的多个节点中选择目标节点,多个隐含层的隐藏概率不相同;
训练模块502,用于基于从多个隐含层中选择的目标节点对卷积神经网络模型进行训练。
可选地,参见图5B,该装置还包括:
确定模块503,用于确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,多个隐含层的隐藏概率按照多个隐含层输出值的抽象程度从高到低的顺序依次升高。
可选地,参见图5C,该确定模块503包括:
第一获取子模块5031,用于对于卷积神经网络模型包括的多个隐含层中的每个隐含层,获取隐含层的输出值;
第一确定子模块5032,用于基于隐含层的输出值,确定隐含层的隐藏概率。
可选地,第一确定子模块用于:
对隐含层的输出值进行奇异值分解,得到N个奇异值,N为大于1的正整数;
计算N个奇异值的平方和,并计算N个奇异值的平方和与预设比例的乘积,得到目标平方和;
将N个奇异值按照从大到小的顺序进行排序,得到排序结果;
确定排序结果中的第M个奇异值,其中,排序结果中的前M个奇异值的平方和大于目标平方和,且排序结果中的前M-1个奇异值的平方和小于目标平方和,M为大于或等于1的正整数;
将M和N的比值确定为隐含层的隐藏概率。
可选地,参见图5D,该确定模块503包括:
第二获取子模块5033,用于获取第一隐含层的输出值以及第二隐含层的输出值,第一隐含层为多个隐含层中输出值抽象程度最低的隐含层,第二隐含层为多个隐含层中输出值抽象程度最高的隐含层;
第二确定子模块5034,用于基于第一隐含层的输出值,确定第一隐含层的隐藏概率,基于第二隐含层的输出值,确定第二隐含层的隐藏概率;
第三确定子模块5035,用于基于第一隐含层的隐藏概率与第二隐含层的隐藏概率之间的概率差值,确定多个隐含层中除第一隐含层和第二隐含层之外的其他隐含层的隐藏概率。
可选地,第一隐含层为与输入层连接的第一个隐含层,第二隐含层为与输出层连接的最后一个隐含层;
第三确定子模块用于:
基于多个隐含层的个数、概率差值、第一个隐含层的隐藏概率以及最后一个隐含层的隐藏概率,确定位于第一个隐含层和最后一个隐含层之间的每个隐含层的隐藏概率。
可选地,选择模块502包括:
第四确定子模块,用于对于隐含层包括的多个节点中的每个节点,按照预设规则为节点生成一个随机概率;
第五确定子模块,用于当随机概率小于隐藏概率时,将该节点确定为目标节点。
在本公开实施例中,终端可以确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,其中,该多个隐含层的隐藏概率不相同,并且,按照该多个隐含层输出值的抽象程度由低到高的顺序,该多个隐含层的隐藏概率依次降低。由于按照从输入层到输出层的顺序,各个隐含层的输出值的抽象程度不同。因此,终端可以根据各个隐含层对应的抽象程度,为不同的隐含层确定不同的隐藏概率。而由于不同的隐含层对应不同的输入值,因此当采用不同的隐藏概率对卷积神经网络模型进行训练时,相较于相关技术中对所有隐含层均采用相同的隐藏概率进行训练,可以有效的提高卷积神经网络模型的图像识别准确率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种用于训练卷积神经网络模型的装置600的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在装置600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电源。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电源相关联的组件。
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到装置600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图2-4所示实施例提供的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种上述图2、图3和图4所示实施例提供的训练卷积神经网络模型的方法。
图7是根据一示例性实施例示出的一种用于训练卷积神经网络模型的装置700的框图。例如,装置700可以被提供为一服务器。参照图7,装置700包括处理器722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理器722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器722被配置为执行指令,以执行上述图2-4所示实施例提供的方法。
装置700还可以包括一个电源组件726被配置为执行装置700的电源管理,一个有线或无线网络接口750被配置为将装置700连接到网络,和一个输入输出(I/O)接口758。装置700可以操作基于存储在存储器732的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器732,上述指令可由装置700的处理器722执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述图2、图3和图4所示实施例提供的训练卷积神经网络模型的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (14)
1.一种训练卷积神经网络模型的方法,其特征在于,所述方法包括:
确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,所述多个隐含层的隐藏概率按照所述多个隐含层输出值的抽象程度从高到低的顺序依次升高;
对于所述卷积神经网络模型包括的所述多个隐含层中的每个隐含层,基于所述隐含层的隐藏概率从所述隐含层包括的多个节点中选择目标节点,所述多个隐含层的隐藏概率不相同;
基于从所述多个隐含层中选择的目标节点对所述卷积神经网络模型进行训练,训练后的卷积神经网络模型的输入层用于确定输入的图像包括的所有像素点的像素值,并将所述图像的所有像素点的像素值传输至与所述输入层相连的隐含层,所述训练后的卷积神经网络模型的输出层用于根据接收到的处理后的像素点的像素值来确定所述图像分别属于预先设置多个类别中的每个类别的概率,从而输出对所述图像的识别结果。
2.根据权利要求1所述的方法,其特征在于,所述确定所述卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,包括:
对于所述卷积神经网络模型包括的多个隐含层中的每个隐含层,获取所述隐含层的输出值;
基于所述隐含层的输出值,确定所述隐含层的隐藏概率。
3.根据权利要求2所述的方法,其特征在于,所述基于所述隐含层的输出值,确定所述隐含层的隐藏概率,包括:
对所述隐含层的输出值进行奇异值分解,得到N个奇异值,所述N为大于1的正整数;
计算所述N个奇异值的平方和,并计算所述N个奇异值的平方和与预设比例的乘积,得到目标平方和;
将所述N个奇异值按照从大到小的顺序进行排序,得到排序结果;
确定所述排序结果中的第M个奇异值,其中,所述排序结果中的前M个奇异值的平方和大于所述目标平方和,且所述排序结果中的前M-1个奇异值的平方和小于所述目标平方和,所述M为大于或等于1的正整数;
将所述M和所述N的比值确定为所述隐含层的隐藏概率。
4.根据权利要求1所述的方法,其特征在于,所述确定所述卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,包括:
获取第一隐含层的输出值以及第二隐含层的输出值,所述第一隐含层为所述多个隐含层中输出值抽象程度最低的隐含层,所述第二隐含层为所述多个隐含层中输出值抽象程度最高的隐含层;
基于所述第一隐含层的输出值,确定所述第一隐含层的隐藏概率,基于所述第二隐含层的输出值,确定所述第二隐含层的隐藏概率;
基于所述第一隐含层的隐藏概率和所述第二隐含层的隐藏概率之间的概率差值,确定所述多个隐含层中除所述第一隐含层和所述第二隐含层之外的其他隐含层的隐藏概率。
5.根据权利要求4所述的方法,其特征在于,所述第一隐含层为与输入层连接的第一个隐含层,所述第二隐含层为与输出层连接的最后一个隐含层;
所述基于所述第一隐含层的隐藏概率和所述第二隐含层的隐藏概率之间的概率差值,确定所述多个隐含层中除所述第一隐含层和所述第二隐含层之外的其他隐含层的隐藏概率,包括:
基于所述多个隐含层的个数、所述概率差值、所述第一个隐含层的隐藏概率以及所述最后一个隐含层的隐藏概率,确定位于所述第一个隐含层和所述最后一个隐含层之间的每个隐含层的隐藏概率。
6.根据权利要求1-5任一所述的方法,其特征在于,所述基于所述隐含层的隐藏概率从所述隐含层包括的多个节点中选择目标节点,包括:
对于所述隐含层包括的多个节点中的每个节点,按照预设规则为所述节点生成一个随机概率;
当所述随机概率小于所述隐藏概率时,将所述节点确定为目标节点。
7.一种训练卷积神经网络模型的装置,其特征在于,所述装置包括:
确定模块,用于确定卷积神经网络模型包括的多个隐含层中每个隐含层的隐藏概率,所述多个隐含层的隐藏概率按照所述多个隐含层输出值的抽象程度从高到低的顺序依次升高;
选择模块,用于对于所述卷积神经网络模型包括的多个隐含层中的每个隐含层,基于所述隐含层的隐藏概率从所述隐含层包括的多个节点中选择目标节点,所述多个隐含层的隐藏概率不相同;
训练模块,用于基于从所述多个隐含层中选择的目标节点对所述卷积神经网络模型进行训练,训练后的卷积神经网络模型的输入层用于确定输入的图像包括的所有像素点的像素值,并将所述图像的所有像素点的像素值传输至与所述输入层相连的隐含层,所述训练后的卷积神经网络模型的输出层用于根据接收到的处理后的像素点的像素值来确定所述图像分别属于预先设置多个类别中的每个类别的概率,从而输出对所述图像的识别结果。
8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
第一获取子模块,用于对于所述卷积神经网络模型包括的多个隐含层中的每个隐含层,获取所述隐含层的输出值;
第一确定子模块,用于基于所述隐含层的输出值,确定所述隐含层的隐藏概率。
9.根据权利要求8所述的装置,其特征在于,所述第一确定子模块用于:
对所述隐含层的输出值进行奇异值分解,得到N个奇异值,所述N为大于1的正整数;
计算所述N个奇异值的平方和,并计算所述N个奇异值的平方和与预设比例的乘积,得到目标平方和;
将所述N个奇异值按照从大到小的顺序进行排序,得到排序结果;
确定所述排序结果中的第M个奇异值,其中,所述排序结果中的前M个奇异值的平方和大于所述目标平方和,且所述排序结果中的前M-1个奇异值的平方和小于所述目标平方和,所述M为大于或等于1的正整数;
将所述M和所述N的比值确定为所述隐含层的隐藏概率。
10.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
第二获取子模块,用于获取第一隐含层的输出值以及第二隐含层的输出值,所述第一隐含层为所述多个隐含层中输出值抽象程度最低的隐含层,所述第二隐含层为所述多个隐含层中输出值抽象程度最高的隐含层;
第二确定子模块,用于基于所述第一隐含层的输出值,确定所述第一隐含层的隐藏概率,基于所述第二隐含层的输出值,确定所述第二隐含层的隐藏概率;
第三确定子模块,用于基于所述第一隐含层的隐藏概率与所述第二隐含层的隐藏概率之间的概率差值,确定所述多个隐含层中除所述第一隐含层和所述第二隐含层之外的其他隐含层的隐藏概率。
11.如权利要求10所述的装置,其特征在于,所述第一隐含层为与输入层连接的第一个隐含层,所述第二隐含层为与输出层连接的最后一个隐含层;
所述第三确定子模块用于:
基于所述多个隐含层的个数、所述概率差值、所述第一个隐含层的隐藏概率以及所述最后一个隐含层的隐藏概率,确定位于所述第一个隐含层和所述最后一个隐含层之间的每个隐含层的隐藏概率。
12.根据权利要求7-11任一所述的装置,其特征在于,所述选择模块包括:
第四确定子模块,用于对于所述隐含层包括的多个节点中的每个节点,按照预设规则为所述节点生成一个随机概率;
第五确定子模块,用于当所述随机概率小于所述隐藏概率时,将所述节点确定为目标节点。
13.一种训练卷积神经网络模型的装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为权利要求1-6所述的任一项方法的步骤。
14.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-6所述的任一项方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710675297.5A CN107480773B (zh) | 2017-08-09 | 2017-08-09 | 训练卷积神经网络模型的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710675297.5A CN107480773B (zh) | 2017-08-09 | 2017-08-09 | 训练卷积神经网络模型的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107480773A CN107480773A (zh) | 2017-12-15 |
CN107480773B true CN107480773B (zh) | 2020-11-13 |
Family
ID=60598970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710675297.5A Active CN107480773B (zh) | 2017-08-09 | 2017-08-09 | 训练卷积神经网络模型的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107480773B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766493B (zh) * | 2018-12-24 | 2022-08-02 | 哈尔滨工程大学 | 一种在神经网络下结合人格特征的跨域推荐方法 |
CN110188789A (zh) * | 2019-04-16 | 2019-08-30 | 浙江工业大学 | 一种基于预处理模型的小样本医学图像分类方法 |
CN113496282B (zh) * | 2020-04-02 | 2024-06-28 | 北京金山数字娱乐科技有限公司 | 一种模型训练方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517122A (zh) * | 2014-12-12 | 2015-04-15 | 浙江大学 | 一种基于优化卷积架构的图像目标识别方法 |
CN104751842A (zh) * | 2013-12-31 | 2015-07-01 | 安徽科大讯飞信息科技股份有限公司 | 深度神经网络的优化方法及系统 |
CN104850845A (zh) * | 2015-05-30 | 2015-08-19 | 大连理工大学 | 一种基于非对称卷积神经网络的交通标志识别方法 |
CN104850836A (zh) * | 2015-05-15 | 2015-08-19 | 浙江大学 | 基于深度卷积神经网络的害虫图像自动识别方法 |
CN105512676A (zh) * | 2015-11-30 | 2016-04-20 | 华南理工大学 | 一种智能终端上的食物识别方法 |
CN106250911A (zh) * | 2016-07-20 | 2016-12-21 | 南京邮电大学 | 一种基于卷积神经网络的图片分类方法 |
CN106250921A (zh) * | 2016-07-26 | 2016-12-21 | 北京小米移动软件有限公司 | 图片处理方法及装置 |
CN106548201A (zh) * | 2016-10-31 | 2017-03-29 | 北京小米移动软件有限公司 | 卷积神经网络的训练方法、图像识别方法及装置 |
CN106951848A (zh) * | 2017-03-13 | 2017-07-14 | 平安科技(深圳)有限公司 | 图片识别的方法及系统 |
-
2017
- 2017-08-09 CN CN201710675297.5A patent/CN107480773B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104751842A (zh) * | 2013-12-31 | 2015-07-01 | 安徽科大讯飞信息科技股份有限公司 | 深度神经网络的优化方法及系统 |
CN104517122A (zh) * | 2014-12-12 | 2015-04-15 | 浙江大学 | 一种基于优化卷积架构的图像目标识别方法 |
CN104850836A (zh) * | 2015-05-15 | 2015-08-19 | 浙江大学 | 基于深度卷积神经网络的害虫图像自动识别方法 |
CN104850845A (zh) * | 2015-05-30 | 2015-08-19 | 大连理工大学 | 一种基于非对称卷积神经网络的交通标志识别方法 |
CN105512676A (zh) * | 2015-11-30 | 2016-04-20 | 华南理工大学 | 一种智能终端上的食物识别方法 |
CN106250911A (zh) * | 2016-07-20 | 2016-12-21 | 南京邮电大学 | 一种基于卷积神经网络的图片分类方法 |
CN106250921A (zh) * | 2016-07-26 | 2016-12-21 | 北京小米移动软件有限公司 | 图片处理方法及装置 |
CN106548201A (zh) * | 2016-10-31 | 2017-03-29 | 北京小米移动软件有限公司 | 卷积神经网络的训练方法、图像识别方法及装置 |
CN106951848A (zh) * | 2017-03-13 | 2017-07-14 | 平安科技(深圳)有限公司 | 图片识别的方法及系统 |
Non-Patent Citations (2)
Title |
---|
《A New Design Based-SVM of the CNN Classifier Architecture with Dropout for Offline Arabic Handwritten Recognition》;Mohamed Elleuch等;《Procedia Computer Science》;20161231;第80卷;第1712-1723页 * |
《基于深度卷积神经网络的物体识别算法》;黄斌等;《计算机应用》;20161210;第36卷(第12期);第3333-3340,3346页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107480773A (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104156947B (zh) | 图像分割方法、装置及设备 | |
CN109871896B (zh) | 数据分类方法、装置、电子设备及存储介质 | |
CN106651955B (zh) | 图片中目标物的定位方法及装置 | |
CN107798669B (zh) | 图像去雾方法、装置及计算机可读存储介质 | |
CN107220667B (zh) | 图像分类方法、装置及计算机可读存储介质 | |
CN111160448B (zh) | 一种图像分类模型的训练方法及装置 | |
CN110827253A (zh) | 一种目标检测模型的训练方法、装置及电子设备 | |
CN108010060B (zh) | 目标检测方法及装置 | |
CN111310616A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN107784279B (zh) | 目标跟踪方法及装置 | |
CN106557759B (zh) | 一种标志牌信息获取方法及装置 | |
CN107133354B (zh) | 图像描述信息的获取方法及装置 | |
CN108921178B (zh) | 获取图像模糊程度分类的方法、装置、电子设备 | |
CN109165738B (zh) | 神经网络模型的优化方法及装置、电子设备和存储介质 | |
CN105335684B (zh) | 人脸检测方法及装置 | |
CN107341509B (zh) | 卷积神经网络的训练方法、装置及可读存储介质 | |
CN108154093B (zh) | 人脸信息识别方法及装置、电子设备、机器可读存储介质 | |
CN112148980A (zh) | 基于用户点击的物品推荐方法、装置、设备和存储介质 | |
CN109685041B (zh) | 图像分析方法及装置、电子设备和存储介质 | |
CN107480773B (zh) | 训练卷积神经网络模型的方法、装置及存储介质 | |
CN109447258B (zh) | 神经网络模型的优化方法及装置、电子设备和存储介质 | |
CN109376674B (zh) | 人脸检测方法、装置及存储介质 | |
US20200293884A1 (en) | Image processing method and device and terminal | |
CN112259122B (zh) | 音频类型识别方法、装置及存储介质 | |
CN111859097B (zh) | 数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |