CN105279554B - 基于哈希编码层的深度神经网络的训练方法及装置 - Google Patents
基于哈希编码层的深度神经网络的训练方法及装置 Download PDFInfo
- Publication number
- CN105279554B CN105279554B CN201510634656.3A CN201510634656A CN105279554B CN 105279554 B CN105279554 B CN 105279554B CN 201510634656 A CN201510634656 A CN 201510634656A CN 105279554 B CN105279554 B CN 105279554B
- Authority
- CN
- China
- Prior art keywords
- layer
- hash
- neural network
- coding
- full articulamentum
- 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
Landscapes
- Image Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种基于哈希编码层的深度神经网络的训练方法及装置。其中,该方法包括:获取预先训练的神经网络模型,神经网络模型包括基础特征层;在神经网络模型中基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;在哈希编码层之后插入用作输出层的第二全连接层;对第一全连接层和第二全连接层的权重进行训练。本发明将哈希编码层作为深度神经网络训练的激活函数,通过随机梯度下降法对神经网络进行训练,达到整体最优,直接对输出二值化编码的模型进行训练,无需对优化条件进行松弛化。
Description
技术领域
本发明涉及计算机技术及图像处理领域,具体而言,涉及一种基于哈希编码层的深度神经网络的训练方法及装置。
背景技术
在图像检索和图像存储领域,由于涉及大量的数据存储和特征比较,因此需要在保持原图像特征空间的相似性基础上,将图像进行二值化编码,以减小图像检索和图像存储时所需处理的数据量。
当前,相关技术中通过哈希编码技术来对图像进行二值化编码,哈希编码技术按二值化编码的方式可分为三类:1)线性映射编码;2)半非线性编码;3)非线性编码。其中,线性映射编码方式按训练所需数据种类可分为三类:数据无关;无监督数据相关;有监督数据相关。数据无关哈希编码方法利用随机产生的若干向量对原始特征进行投影,利用投影的正负属性进行二值化。无监督数据相关哈希编码通过对目标领域数据进行无监督学习,得到特征空间转换模型,使空间转换后既实现降维的目的又能充分保留原始特征的信息,最后对转换后的特征进行二值化。有监督数据相关哈希编码按照不同类别进行标注的数据进行训练,使编码结果的类内差异减小,类间差异增大。另外,编码过程的非线性化方式可以在保留有价值信息的同时进一步降低码位长度。半非线性编码的方式是通过一些现有的非线性特征提取模型提取原始数据的非线性特征,然后采用线性映射编码方法。
但在上述编码方式中,非线性化程度有限,且由于直接求解的二值化模型是非确定性多项式,所以一般需要对优化条件进行松弛化,进行条件松弛化后的编码很难达到性能最优。
发明内容
有鉴于此,本发明实施例的目的在于提供一种基于哈希编码层的深度神经网络的训练方法及装置,将哈希编码层作为深度神经网络训练的激活函数,通过随机梯度下降法对神经网络进行训练,达到整体最优,直接对输出二值化编码的模型进行训练,无需对优化条件进行松弛化。
第一方面,本发明实施例提供了一种基于哈希编码层的深度神经网络的训练方法,所述方法包括:
获取预先训练的神经网络模型,所述神经网络模型包括基础特征层;
在所述神经网络模型中所述基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;
在所述哈希编码层之后插入用作输出层的第二全连接层;
对所述第一全连接层和所述第二全连接层的权重进行训练。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述对所述第一全连接层和所述第二全连接层的权重进行训练,包括:
保持所述基础特征层中各层的权重固定不变;
通过高斯随机变量初始化所述第一全连接层和所述第二全连接层的权重;
采用随机梯度下降法对所述第一全连接层和所述第二全连接层的权重进行训练。
结合第一方面,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述对所述第一全连接层和所述第二全连接层的权重进行训练之后,还包括:
对所述神经网络模型包括的基础特征层、所述第二全连接层及所述第一全连接层和哈希编码层的权重进行调优训练。
结合第一方面,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述插入用于哈希编码线性映射的全连接层和用作激活函数的哈希编码层之前,还包括:
分别将预先训练的神经网络模型包括的各层级的输出作为图像检索的特征向量,确定所述各层级对应的图像检索性能指标;
从所述各层级中确定图像检索性能指标达到预设阈值的第一个层级,将所述第一个层级及其之前的每个层级确定为基础特征层;
去除所述神经网络模型中确定的所述基础特征层之后的层级。
结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述用作激活函数的哈希编码层包括如公式(1)所示的正向信号传播函数;
其中,在所述公式(1)中,i为正向信号传播的序号,i=1,2,…,N,N为所述哈希编码层神经元数量;Yi为正向信号传播输出编码,Yi∈{-1,1};Xi为正向输入信号,Xi属于实数集;a1为正向信号传播输出编码的第一状态指示符,a2为正向信号传播输出编码的第二状态指示符;c为预设的判断阈值,c为预设的实数。
结合第一方面,本发明实施例提供了上述第一方面的第五种可能的实现方式,其中,所述用作激活函数的哈希编码层包括如公式(2)所示的目标编码函数和如公式(3)所示的反向梯度传播函数;
其中,在公式(2)和(3)中,Yi为正向信号传播输出编码,Xi为正向输入信号,destYi为目标哈希信号,ThreshGY、delta和ThreshX均为预设的正实数,gY为反向输入梯度,gY属于实数集;GradXi为反向梯度传播函数值;b1为目标哈希信号的第一状态指示符,b2为目标哈希信号的第二状态指示符。
第二方面,本发明实施例提供了一种基于哈希编码层的深度神经网络的训练装置,所述装置包括:
获取模块,用于获取预先训练的神经网络模型,所述神经网络模型包括基础特征层;
第一插入模块,用于在所述神经网络模型中所述基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;
第二插入模块,用于在所述哈希编码层之后插入用作输出层的第二全连接层;
训练模块,用于对所述第一全连接层和所述第二全连接层的权重进行训练。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述训练模块包括:
保持单元,用于保持所述基础特征层中各层的权重固定不变;
初始化单元,用于通过高斯随机变量初始化所述第一全连接层和所述第二全连接层的权重;
训练单元,用于采用随机梯度下降法对所述第一全连接层和所述第二全连接层的权重进行训练。
结合第二方面,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述装置还包括:
调优训练模块,用于对所述神经网络模型包括的基础特征层、所述第二全连接层及所述第一全连接层和哈希编码层的权重进行调优训练。
结合第二方面,本发明实施例提供了上述第二方面的第三种可能的实现方式,其中,所述装置还包括:
基础特征层确定模块,用于分别将预先训练的神经网络模型包括的各层级的输出作为图像检索的特征向量,确定所述各层级对应的图像检索性能指标;从所述各层级中确定图像检索性能指标达到预设阈值的第一个层级,将所述第一个层级及其之前的每个层级确定为基础特征层;
去除模块,用于去除所述神经网络模型中确定的所述基础特征层之后的层级。
结合第二方面,本发明实施例提供了上述第二方面的第四种可能的实现方式,其中,所述用作激活函数的哈希编码层包括如公式(1)所示的正向信号传播函数;
其中,在所述公式(1)中,i为正向信号传播的序号,i=1,2,…,N,N为所述哈希编码层神经元数量;Yi为正向信号传播输出编码,Yi∈{-1,1};Xi为正向输入信号,Xi属于实数集;a1为正向信号传播输出编码的第一状态指示符,a2为正向信号传播输出编码的第二状态指示符;c为预设的判断阈值,c为预设的实数。
结合第二方面,本发明实施例提供了上述第二方面的第五种可能的实现方式,其中,所述用作激活函数的哈希编码层包括如公式(2)所示的目标编码函数和如公式(3)所示的反向梯度传播函数;
其中,在公式(2)和(3)中,Yi为正向信号传播输出编码,Xi为正向输入信号,destYi为目标哈希信号,ThreshGY、delta和ThreshX均为预设的正实数,gY为反向输入梯度,gY属于实数集;GradXi为反向梯度传播函数值;b1为目标哈希信号的第一状态指示符,b2为目标哈希信号的第二状态指示符。
在本发明实施例提供的方法及装置中,获取预先训练的神经网络模型,神经网络模型包括基础特征层;在神经网络模型中基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;在哈希编码层之后插入用作输出层的第二全连接层;对第一全连接层和第二全连接层的权重进行训练。本发明将哈希编码层作为深度神经网络训练的激活函数,通过随机梯度下降法对神经网络进行训练,达到整体最优,直接对输出二值化编码的模型进行训练,无需对优化条件进行松弛化。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1A示出了本发明实施例1所提供的一种基于哈希编码层的深度神经网络的训练方法流程图;
图1B示出了本发明实施例1所提供的一种基于哈希编码层的深度神经网络模型的示意图;
图2示出了本发明实施例2所提供的一种基于哈希编码层的深度神经网络的训练装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中非线性化程度有限,且由于直接求解的二值化模型是非确定性多项式,所以一般需要对优化条件进行松弛化,进行条件松弛化后的编码很难达到性能最优。基于此,本发明实施例提供了一种基于哈希编码层的深度神经网络的训练方法及装置。下面通过实施例进行描述。
实施例1
参见图1A,本发明实施例提供了一种基于哈希编码层的深度神经网络的训练方法。该方法具体包括以下步骤:
步骤101:获取预先训练的神经网络模型,该神经网络模型包括基础特征层;
上述预先训练的神经网络模型可以是基于大规模的数据集训练好的图像分类器模型,也可以是利用大规模数据集通过softmax优化函数训练自定义网络结构得到的图像分类模型。
在上述预先训练的神经网络模型中,以第一层为起点到能够提取较好图像特征的层为止的多个层级作为基础特征层。在通过本发明实施例提供的方法对上述预先训练好的神经网络模型进行基于哈希编码层的训练之前,首先确定出该神经网络模型中的基础特征层。
具体地,分别将预先训练的神经网络模型包括的各层级的输出作为图像检索的特征向量,分别根据各层级输出的特征向量进行图像检索,根据各层级对应的图像检索结果,分别确定各层级对应的图像检索性能指标;将各层级对应的图像检索性能指标分别与预设阈值进行比较,从各层级中确定图像检索性能指标达到该预设阈值的第一个层级,将第一个层级及其之前的每个层级确定为基础特征层。
上述图像检索性能指标可以为Precision(准确率)、Recall(召回率)、MAP(MeanAverage Precision,平均准确率)等指标。
通过上述方式确定出预先训练的神经网络模型中的基础特征层之后,去除该神经网络模型中确定的基础特征层之后的层级。然后通过步骤102和103的操作将该神经网络模型改造为基于哈希编码层的深度神经网络模型。
步骤102:在神经网络模型中基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;
如图1B所示,上述神经网络模型的基础特征层为第一层至第六层,在神经网络模型中的第六层之后,插入用于哈希编码线性映射的第一全连接层,然后在第一全连接层之后插入用作激活函数的哈希编码层,将插入的第一全连接层和哈希编码层组成该神经网络模型的第七层。
其中,图1B中方向朝上的箭头表示正向信号传播,方向朝下的箭头表示反向信号传播。第一层和第二层中均包括卷积层、ReLU(Rectified Linear Units,整流线性单元)、LRN(Local Response Normalization,局部响应归一化层)和MaxPool(最大池)层。第三层和第四层均包括卷积层和ReLU层。第五层包括卷积层、ReLU和MaxPool层。第六层包括全连接层和ReLU层。其中,第一层正向传播的信号为原始图像的边缘信息,第二层至第五层正向传播的信号为一些组合信号,如图像的局部纹理信息等。第六层正向传播的信号为图像的特征向量。
在本发明实施例中,将哈希编码层用作深度神经网络模型的激活函数,通过哈希编码层来激励深度神经网络,提高深度神经网络模型的精确度。
步骤103:在哈希编码层之后插入用作输出层的第二全连接层;
如图1B所示,通过步骤102在神经网络中插入第七层之后,在该第七层的哈希编码层之后插入用作输出层的第二全连接层。
通过上述步骤102和103将预先训练好的神经网络模型改造为基于哈希编码层的深度神经网络模型之后,通过如下步骤104的操作来对该深度神经网络进行基于哈希编码层的训练。
步骤104:对第一全连接层和第二全连接层的权重进行训练。
上述训练操作具体包括:保持基础特征层中各层的权重固定不变;通过高斯随机变量初始化第一全连接层和第二全连接层的权重;采用随机梯度下降法对第一全连接层和第二全连接层的权重进行训练。
其中,在预先训练神经网络模型时,就已训练出了基础特征层包括的各层级的权重,在基于哈希编码层对深度神经网络模型进行训练时,保持基础特征层包括的各层级已有的权重固定不变。通过高斯随机变量为用于哈希编码线性映射的第一全连接层和用作输出层的第二全连接层赋予初始权重。然后通过本发明实施例定义的哈希编码层包括的反向梯度传播函数,通过随机梯度下降法来对第一全连接层和第二全连接层的权重进行训练。
在本发明实施例中,定义了一种新型的哈希编码层,并提供了哈希编码层包括的正向信号传播函数和反向梯度传播函数。
其中,用作激活函数的哈希编码层包括的正向信号传播函数,如公式(1)所示,
其中,在公式(1)中,i为正向信号传播的序号,i=1,2,…,N,N为哈希编码层的神经元数量;Yi为正向信号传播输出编码,Yi∈{-1,1};Xi为正向输入信号,Xi属于实数集。从公式(1)中可以看出正向输入信号的数量与正向输出编码的数量相等;a1为正向信号传播输出编码的第一状态指示符,a2为正向信号传播输出编码的第二状态指示符;c为预设的判断阈值,c为预设的实数。
其中,可以预先设置a1和a2这两个指示符的值,如设置a1为1,a2为-1;或者设置a1为1,a2为0等。同样,预先设置判断阈值c的值,如设置c为0、0.5或1等。
在本发明实施例中,Xi也可以称为哈希前信号,Yi也可以称为哈希后信号。在公式(1)中,当哈希前信号Xi大于判断阈值c时,哈希后信号Yi为第一状态指示符a1指示的第一状态,当哈希前信号Xi小于或等于判断阈值c时,则哈希后信号Yi为第二状态指示符a2指示的第二状态。
另外,本发明实施例中还定义了目标哈希信号destYi以及如公式(2)所示的目标编码函数。
其中,在公式(2)中,i也为正向信号传播的序号,i=1,2,…,N,N为哈希编码层的神经元数量;Yi为正向信号传播输出编码,GradYi为反向梯度传播函数,destYi为目标哈希信号,gY为反向输入梯度,gY属于实数集,ThreshGY为预设的正实数;b1为目标哈希信号的第一状态指示符,b2为目标哈希信号的第二状态指示符。
其中,gY和GradYi也可以称为哈希后信号的调整量。可以预先设置b1和b2这两个指示符的值,如设置b1为2,b2为-2;或者设置b1为1,b2为0等。在公式(2)中,定义了两个条件:条件一为,哈希后信号Yi为a1指示的第一状态,且哈希后信号的调整量gY小于等于ThreshGY,或者条件一为哈希后信号Yi为a2指示的第二状态,且哈希后信号的调整量gY小于-ThreshGY;条件二为,哈希后信号Yi为a2指示的第二状态,且哈希后信号的调整量gY大于或等于-ThreshGY,或者条件二为哈希后信号Yi为a1指示的第一状态,且哈希后信号的调整量gY大于ThreshGY。
在本发明实施例中,当哈希后信号Yi和哈希后信号的调整量gY满足条件一时,目标哈希信号destYi取值为目标哈希信号的第一状态指示符b1;当哈希后信号Yi和哈希后信号的调整量gY满足条件二时,目标哈希信号destYi取值为目标哈希信号的第二状态指示符b2。
上述反向梯度传播函数GradYi如公式(3)所示,
其中,在公式(3)中,i也为正向信号传播的序号,i=1,2,…,N,N为哈希编码层的神经元数量;Yi为正向信号传播输出编码,Xi为正向输入信号,destYi为目标哈希信号,delta和ThreshX均为预设的正实数;GradXi为反向梯度传播函数值。
其中,GradXi也可以称为哈希前信号调整量。在公式(3)中定义了三个判断条件:第一条件为,目标哈希信号destYi为b2指示的状态且哈希后信号Yi为a1指示的第一状态,或者第一条件为目标哈希信号destYi为b2指示的状态且哈希后信号Yi为a2指示的第二状态且哈希前信号Xi大于-ThreshX;第二条件为,目标哈希信号destYi为b1指示的状态且哈希后信号Yi为a2指示的第二状态,或者第二条件为目标哈希信号destYi为b1指示的状态且哈希后信号Yi为a1指示的第一状态且哈希前信号Xi小于ThreshX;第三条件为上述第一条件和第二条件之外的情况。
在本发明实施例中,当目标哈希信号destYi、哈希后信号Yi及哈希前信号Xi满足第一条件时,哈希前信号调整量GradXi的取值为delta。当目标哈希信号destYi、哈希后信号Yi及哈希前信号Xi满足第二条件时,哈希前信号调整量GradXi的取值为-delta。当目标哈希信号destYi、哈希后信号Yi及哈希前信号Xi既不满足第一条件又不满足第二条件,即满足第三条件时,哈希前信号调整量GradXi的取值为0。
在本发明实施例中,对第一全连接层和第二全连接层的权重进行训练时,就是利用上述公式(2)所示的目标编码函数和公式(3)所示的反向梯度传播函数来进行权重训练的。
在训练出第一全连接层和第二全连接层的权重之后,如图1B所示,在基于哈希编码层的深度神经网络模型中,还在用作输出层的第二全连接层之后插入优化层。通过该优化层对神经网络模型包括的基础特征层、第二全连接层及第一全连接层和哈希编码层的权重进行调优训练,即利用更小的学习率对所用层级的权重进行增量学习。其中,该优化层采用的优化函数可以为softmax优化函数。通过优化层进一步优化各层级的权重之后,可以使后续根据该神经网络模型进行图像检索时提高图像检索的性能。
在本发明实施例中,将哈希编码层作为深度神经网络模型的激活函数,使实现参与哈希编码的神经元与神经网络模型其它部分同时利用随机梯度下降法进行训练,达到整体最优。而且直接对输出二值化编码的模型进行训练,避免了对优化条件进行松弛化。且本发明实施例提供的训练方法适用于无监督学习、有监督学习和弱监督学习等多种优化目标。其中,有监督学习可以为分类优化或嵌入优化等。
通过本发明实施例基于哈希编码层对深度神经网络模型进行训练之后,在进行图像存储时,训练的神经网络模型的各层级依次根据各层级的权重对图像进行处理,在保持需存储的图像的原特征空间的相似性的基础上,将需存储的图像进行二值编码,将需存储的图像的二值编码数据存储在服务器中。而在进行图像检索时,训练的神经网络模型的各层级依次根据各层级的权重对用户输入的图像进行处理,输出该图像的二值编码数据,根据该二值编码数据,从服务器中存储的所有图像的二值编码数据中,查询出与该二值编码数据最相似的图像,如此本发明实施例提供的训练方法可以提高对图像进行二值编码的准确性,提高图像存储的效率,以及提高图像检索的准确性和效率。
在本发明实施例中,获取预先训练的神经网络模型,神经网络模型包括基础特征层;在神经网络模型中基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;在哈希编码层之后插入用作输出层的第二全连接层;对第一全连接层和第二全连接层的权重进行训练。本发明将哈希编码层作为深度神经网络训练的激活函数,通过随机梯度下降法对神经网络进行训练,达到整体最优,直接对输出二值化编码的模型进行训练,无需对优化条件进行松弛化。
实施例2
参见图2,本发明实施例提供了一种基于哈希编码层的深度神经网络的训练装置,该装置用于执行上述实施例1提供的基于哈希编码层的深度神经网络的训练方法。该装置具体包括:
获取模块201,用于获取预先训练的神经网络模型,神经网络模型包括基础特征层;
第一插入模块202,用于在神经网络模型中基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;将哈希编码层用作深度神经网络模型的激活函数,通过哈希编码层来激励深度神经网络,提高深度神经网络模型的精确度。
第二插入模块203,用于在哈希编码层之后插入用作输出层的第二全连接层;
训练模块204,用于对第一全连接层和第二全连接层的权重进行训练。
在本发明实施例中,预先训练的神经网络模型可以是基于大规模的数据集训练好的图像分类器模型,也可以是利用大规模数据集通过softmax优化函数训练自定义网络结构得到的图像分类模型。在上述预先训练的神经网络模型中,以第一层为起点到能够提取较好图像特征的层为止的多个层级作为基础特征层。在通过本发明实施例提供的装置对上述预先训练好的神经网络模型进行基于哈希编码层的训练之前,首先通过基础特征层确定模块确定出该神经网络模型中的基础特征层。
基础特征层确定模块,用于分别将预先训练的神经网络模型包括的各层级的输出作为图像检索的特征向量,确定各层级对应的图像检索性能指标;从各层级中确定图像检索性能指标达到预设阈值的第一个层级,将第一个层级及其之前的每个层级确定为基础特征层。
上述图像检索性能指标可以为Precision(准确率)、Recall(召回率)、MAP(MeanAverage Precision,平均准确率)等指标。
基础特征层确定模块确定出神经网络模型中的基础特征层之后,通过去除模块去除基础特征层以后的各层级。去除模块,用于去除神经网络模型中确定的基础特征层之后的层级。
确定出基础特征层,并去除掉基础特征层之后的各个层级之后,通过第一插入模块202和第二插入模块203的操作来在基础特征层之后依次插入用于哈希编码线性影视的第一全连接层、哈希编码层和用作输出层的第二全连接层,实现将预先训练的神经网络模型改造为基于哈希编码层的深度神经网络模型。
在本发明实施例中,训练模块204通过保持单元、初始化单元和训练单元来对第一全连接层和第二全连接层的权重进行训练。
保持单元,用于保持基础特征层中各层的权重固定不变;
初始化单元,用于通过高斯随机变量初始化第一全连接层和第二全连接层的权重;
训练单元,用于采用随机梯度下降法对第一全连接层和第二全连接层的权重进行训练。
其中,在预先训练神经网络模型时,就已训练出了基础特征层包括的各层级的权重,在基于哈希编码层对深度神经网络模型进行训练时,保持单元保持基础特征层包括的各层级已有的权重固定不变。初始化单元通过高斯随机变量为用于哈希编码线性映射的第一全连接层和用作输出层的第二全连接层赋予初始权重。然后训练单元通过本发明实施例定义的哈希编码层包括的反向梯度传播函数,通过随机梯度下降法来对第一全连接层和第二全连接层的权重进行训练。
其中,用作激活函数的哈希编码层包括如公式(1)所示的正向信号传播函数;
其中,在公式(1)中,i为正向信号传播的序号,i=1,2,…,N,N为哈希编码层神经元数量;Yi为正向信号传播输出编码,Yi∈{-1,1};Xi为正向输入信号,Xi属于实数集;a1为正向信号传播输出编码的第一状态指示符,a2为正向信号传播输出编码的第二状态指示符;c为预设的判断阈值,c为预设的实数。从公式(1)中可以看出正向输入信号的数量与正向输出编码的数量相等。
用作激活函数的哈希编码层包括如公式(2)所示的目标编码函数和如公式(3)所示的反向梯度传播函数;
其中,在公式(2)和(3)中,Yi为正向信号传播输出编码,Xi为正向输入信号,destYi为目标哈希信号,ThreshGY、delta和ThreshX均为预设的正实数,gY为反向输入梯度,gY属于实数集;GradXi为反向梯度传播函数值;b1为目标哈希信号的第一状态指示符,b2为目标哈希信号的第二状态指示符。
在训练模块204训练出第一全连接层和第二全连接层的权重之后,在基于哈希编码层的深度神经网络模型中,还在用作输出层的第二全连接层之后插入优化层。并通过调优训练模块在该优化层中,对神经网络模型包括的基础特征层、第二全连接层及第一全连接层和哈希编码层的权重进行调优训练。
即利用更小的学习率对所用层级的权重进行增量学习。其中,该优化层采用的优化函数可以为softmax优化函数。通过优化层进一步优化各层级的权重之后,可以使后续根据该神经网络模型进行图像检索时提高图像检索的性能。
在本发明实施例中,将哈希编码层作为深度神经网络模型的激活函数,使实现参与哈希编码的神经元与神经网络模型其它部分同时利用随机梯度下降法进行训练,达到整体最优。而且直接对输出二值化编码的模型进行训练,避免了对优化条件进行松弛化。且本发明实施例提供的训练方法适用于无监督学习、有监督学习和弱监督学习等多种优化目标。其中,有监督学习可以为分类优化或嵌入优化等。
通过本发明实施例提供的装置,基于哈希编码层对深度神经网络模型进行训练之后,在进行图像存储时,训练的神经网络模型的各层级依次根据各层级的权重对图像进行处理,在保持需存储的图像的原特征空间的相似性的基础上,将需存储的图像进行二值编码,将需存储的图像的二值编码数据存储在服务器中。而在进行图像检索时,训练的神经网络模型的各层级依次根据各层级的权重对用户输入的图像进行处理,输出该图像的二值编码数据,根据该二值编码数据,从服务器中存储的所有图像的二值编码数据中,查询出与该二值编码数据最相似的图像,如此本发明实施例提供的训练方法可以提高对图像进行二值编码的准确性,提高图像存储的效率,以及提高图像检索的准确性和效率。
在本发明实施例中,获取预先训练的神经网络模型,神经网络模型包括基础特征层;在神经网络模型中基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;在哈希编码层之后插入用作输出层的第二全连接层;对第一全连接层和第二全连接层的权重进行训练。本发明将哈希编码层作为深度神经网络训练的激活函数,通过随机梯度下降法对神经网络进行训练,达到整体最优,直接对输出二值化编码的模型进行训练,无需对优化条件进行松弛化。
本发明实施例所提供的基于哈希编码层的深度神经网络的训练装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程。
在本申请所提供的几个实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种基于哈希编码层的深度神经网络的训练方法,其特征在于,所述方法包括:
获取预先训练的神经网络模型,所述神经网络模型包括基础特征层;
在所述神经网络模型中所述基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;
在所述哈希编码层之后插入用作输出层的第二全连接层;
对所述第一全连接层和所述第二全连接层的权重进行训练;
在进行图像存储时,通过训练的神经网络模型依次根据各层级的权重对需存储的图像进行处理,并将需存储的图像进行二值编码,将需存储的图像的二值编码数据存储在服务器中;
在进行图像检索时,通过训练的神经网络模型的依次根据各层级的权重对需检索的图像进行处理,输出需检索的图像的二值编码数据,根据需检索的图像的二值编码数据,从服务器中存储的所有图像的二值编码数据中,查询出与需检索的图像的二值编码数据最相似的图像。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一全连接层和所述第二全连接层的权重进行训练,包括:
保持所述基础特征层中各层的权重固定不变;
通过高斯随机变量初始化所述第一全连接层和所述第二全连接层的权重;
采用随机梯度下降法对所述第一全连接层和所述第二全连接层的权重进行训练。
3.根据权利要求1所述的方法,其特征在于,所述对所述第一全连接层和所述第二全连接层的权重进行训练之后,还包括:
对所述神经网络模型包括的基础特征层、所述第二全连接层及所述第一全连接层和哈希编码层的权重进行调优训练。
4.根据权利要求1所述的方法,其特征在于,所述插入用于哈希编码线性映射的全连接层和用作激活函数的哈希编码层之前,还包括:
分别将预先训练的神经网络模型包括的各层级的输出作为图像检索的特征向量,确定所述各层级对应的图像检索性能指标;
从所述各层级中确定图像检索性能指标达到预设阈值的第一个层级,将所述第一个层级及其之前的每个层级确定为基础特征层;
去除所述神经网络模型中确定的所述基础特征层之后的层级。
5.根据权利要求1所述的方法,其特征在于,所述用作激活函数的哈希编码层包括如公式(1)所示的正向信号传播函数;
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>Y</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mi>H</mi>
<mi>a</mi>
<mi>s</mi>
<mi>h</mi>
<mi>F</mi>
<mi>o</mi>
<mi>r</mi>
<mi>w</mi>
<mi>a</mi>
<mi>r</mi>
<mi>d</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>a</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>></mo>
<mi>c</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>a</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>&le;</mo>
<mi>c</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
</mtd>
</mtr>
</mtable>
<mn>...</mn>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在所述公式(1)中,i为正向信号传播的序号,i=1,2,…,N,N为所述哈希编码层神经元数量;Yi为正向信号传播输出编码,Yi∈{-1,1};Xi为正向输入信号,Xi属于实数集;a1为正向信号传播输出编码的第一状态指示符,a2为正向信号传播输出编码的第二状态指示符;c为预设的判断阈值,c为预设的实数。
6.根据权利要求1所述的方法,其特征在于,所述用作激活函数的哈希编码层包括如公式(2)所示的目标编码函数和如公式(3)所示的反向梯度传播函数;
其中,在公式(2)和(3)中,Yi为正向信号传播输出编码,Xi为正向输入信号,destYi为目标哈希信号,ThreshGY、delta和ThreshX均为预设的正实数,gX为反向输入梯度,gX属于实数集;GradXi为反向梯度传播函数值;b1为目标哈希信号的第一状态指示符,b2为目标哈希信号的第二状态指示符。
7.一种基于哈希编码层的深度神经网络的训练装置,其特征在于,所述装置包括:
获取模块,用于获取预先训练的神经网络模型,所述神经网络模型包括基础特征层;
第一插入模块,用于在所述神经网络模型中所述基础特征层之后,插入用于哈希编码线性映射的第一全连接层和用作激活函数的哈希编码层;
第二插入模块,用于在所述哈希编码层之后插入用作输出层的第二全连接层;
训练模块,用于对所述第一全连接层和所述第二全连接层的权重进行训练;
其中,在进行图像存储时,通过训练的神经网络模型依次根据各层级的权重对需存储的图像进行处理,并将需存储的图像进行二值编码,将需存储的图像的二值编码数据存储在服务器中;在进行图像检索时,通过训练的神经网络模型的依次根据各层级的权重对需检索的图像进行处理,输出需检索的图像的二值编码数据,根据需检索的图像的二值编码数据,从服务器中存储的所有图像的二值编码数据中,查询出与需检索的图像的二值编码数据最相似的图像。
8.根据权利要求7所述的装置,其特征在于,所述训练模块包括:
保持单元,用于保持所述基础特征层中各层的权重固定不变;
初始化单元,用于通过高斯随机变量初始化所述第一全连接层和所述第二全连接层的权重;
训练单元,用于采用随机梯度下降法对所述第一全连接层和所述第二全连接层的权重进行训练。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
调优训练模块,用于对所述神经网络模型包括的基础特征层、所述第二全连接层及所述第一全连接层和哈希编码层的权重进行调优训练。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
基础特征层确定模块,用于分别将预先训练的神经网络模型包括的各层级的输出作为图像检索的特征向量,确定所述各层级对应的图像检索性能指标;从所述各层级中确定图像检索性能指标达到预设阈值的第一个层级,将所述第一个层级及其之前的每个层级确定为基础特征层;
去除模块,用于去除所述神经网络模型中确定的所述基础特征层之后的层级。
11.根据权利要求7所述的装置,其特征在于,所述用作激活函数的哈希编码层包括如公式(1)所示的正向信号传播函数;
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>Y</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mi>H</mi>
<mi>a</mi>
<mi>s</mi>
<mi>h</mi>
<mi>F</mi>
<mi>o</mi>
<mi>r</mi>
<mi>w</mi>
<mi>a</mi>
<mi>r</mi>
<mi>d</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>a</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>></mo>
<mi>c</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>a</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>&le;</mo>
<mi>c</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
</mtd>
</mtr>
</mtable>
<mn>...</mn>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在所述公式(1)中,i为正向信号传播的序号,i=1,2,…,N,N为所述哈希编码层神经元数量;Yi为正向信号传播输出编码,Yi∈{-1,1};Xi为正向输入信号,Xi属于实数集;a1为正向信号传播输出编码的第一状态指示符,a2为正向信号传播输出编码的第二状态指示符;c为预设的判断阈值,c为预设的实数。
12.根据权利要求7所述的装置,其特征在于,所述用作激活函数的哈希编码层包括如公式(2)所示的目标编码函数和如公式(3)所示的反向梯度传播函数;
其中,在公式(2)和(3)中,Yi为正向信号传播输出编码,Xi为正向输入信号,destYi为目标哈希信号,ThreshGY、delta和ThreshX均为预设的正实数,gY为反向输入梯度,gY属于实数集;GradXi为反向梯度传播函数值;b1为目标哈希信号的第一状态指示符,b2为目标哈希信号的第二状态指示符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510634656.3A CN105279554B (zh) | 2015-09-29 | 2015-09-29 | 基于哈希编码层的深度神经网络的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510634656.3A CN105279554B (zh) | 2015-09-29 | 2015-09-29 | 基于哈希编码层的深度神经网络的训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105279554A CN105279554A (zh) | 2016-01-27 |
CN105279554B true CN105279554B (zh) | 2017-12-15 |
Family
ID=55148534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510634656.3A Active CN105279554B (zh) | 2015-09-29 | 2015-09-29 | 基于哈希编码层的深度神经网络的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105279554B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893477A (zh) * | 2016-03-25 | 2016-08-24 | 中国科学技术大学 | 一种基于双路神经网络的保距哈希方法 |
CN106326984A (zh) * | 2016-08-09 | 2017-01-11 | 北京京东尚科信息技术有限公司 | 用户意图识别方法和装置、自动应答系统 |
CN106408001B (zh) * | 2016-08-26 | 2019-10-11 | 西安电子科技大学 | 基于深度核哈希的感兴趣区域快速检测方法 |
CN108171323B (zh) * | 2016-12-28 | 2021-03-26 | 上海寒武纪信息科技有限公司 | 一种人工神经网络计算装置和方法 |
CN106777349A (zh) * | 2017-01-16 | 2017-05-31 | 广东工业大学 | 基于深度学习的人脸检索系统及方法 |
CN107992611B (zh) * | 2017-12-15 | 2018-12-28 | 清华大学 | 基于柯西分布哈希方法的高维数据检索方法与系统 |
CN108829912A (zh) * | 2018-04-16 | 2018-11-16 | 浙江工业大学 | 一种基于APHash的电路输入向量特征化方法 |
CN110580523B (zh) * | 2018-06-07 | 2022-08-02 | 清华大学 | 一种模拟神经网络处理器的误差校准方法及装置 |
CN109376615B (zh) * | 2018-09-29 | 2020-12-18 | 苏州科达科技股份有限公司 | 用于提升深度学习网络预测性能的方法、装置及存储介质 |
CN109886345B (zh) * | 2019-02-27 | 2020-11-13 | 清华大学 | 基于关系推理的自监督学习模型训练方法和装置 |
CN110555121B (zh) * | 2019-08-27 | 2022-04-15 | 清华大学 | 基于图神经网络的图像哈希生成方法及装置 |
CN110751288B (zh) * | 2019-09-17 | 2024-05-07 | 平安科技(深圳)有限公司 | 模型训练方法、装置、计算机设备和存储介质 |
CN111967426A (zh) * | 2020-08-27 | 2020-11-20 | 平安国际智慧城市科技股份有限公司 | 车辆重识别方法、装置、电子设备及介质 |
CN112529160A (zh) * | 2020-12-09 | 2021-03-19 | 南京大学 | 一种摄像器材记录的视频图像数据的高维模仿学习方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346440A (zh) * | 2014-10-10 | 2015-02-11 | 浙江大学 | 一种基于神经网络的跨媒体哈希索引方法 |
CN104834748A (zh) * | 2015-05-25 | 2015-08-12 | 中国科学院自动化研究所 | 一种利用基于深度语义排序哈希编码的图像检索方法 |
-
2015
- 2015-09-29 CN CN201510634656.3A patent/CN105279554B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346440A (zh) * | 2014-10-10 | 2015-02-11 | 浙江大学 | 一种基于神经网络的跨媒体哈希索引方法 |
CN104834748A (zh) * | 2015-05-25 | 2015-08-12 | 中国科学院自动化研究所 | 一种利用基于深度语义排序哈希编码的图像检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105279554A (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105279554B (zh) | 基于哈希编码层的深度神经网络的训练方法及装置 | |
CN109492099B (zh) | 一种基于领域对抗自适应的跨领域文本情感分类方法 | |
CN109960737B (zh) | 半监督深度对抗自编码哈希学习的遥感影像内容检索方法 | |
CN108984745A (zh) | 一种融合多知识图谱的神经网络文本分类方法 | |
CN108170765B (zh) | 基于在校行为数据多维分析的贫困生资助推荐方法 | |
CN110209823A (zh) | 一种多标签文本分类方法及系统 | |
CN111753189A (zh) | 一种少样本跨模态哈希检索共同表征学习方法 | |
CN107832835A (zh) | 一种卷积神经网络的轻量化方法及装置 | |
CN107092661A (zh) | 一种基于深度卷积神经网络的图像检索方法 | |
CN106228185A (zh) | 一种基于神经网络的通用图像分类识别系统及方法 | |
CN108280233A (zh) | 一种基于深度学习的视频gis数据检索方法 | |
CN104866810A (zh) | 一种深度卷积神经网络的人脸识别方法 | |
CN107077734A (zh) | 决定方法以及程序 | |
CN103942571B (zh) | 一种基于遗传规划算法的图形图像分类方法 | |
CN108446312B (zh) | 基于深度卷积语义网的光学遥感图像检索方法 | |
CN107832458A (zh) | 一种字符级的基于嵌套深度网络的文本分类方法 | |
CN110309835B (zh) | 一种图像局部特征提取方法及装置 | |
CN109829065B (zh) | 图像检索方法、装置、设备及计算机可读存储介质 | |
CN111931505A (zh) | 一种基于子图嵌入的跨语言实体对齐方法 | |
CN107480702A (zh) | 面向hcc病理图像识别的特征选择与特征融合方法 | |
CN108629267A (zh) | 一种基于深度残差网络的车型识别方法 | |
CN103593674A (zh) | 一种颈部淋巴结超声图像特征选择方法 | |
CN105243154A (zh) | 基于显著点特征和稀疏自编码的遥感图像检索方法及系统 | |
CN103136540A (zh) | 一种基于隐结构推理的行为识别方法 | |
CN109960732A (zh) | 一种基于鲁棒监督的深度离散哈希跨模态检索方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right |
Effective date of registration: 20220726 Granted publication date: 20171215 |
|
PP01 | Preservation of patent right |