一种基于多重栈式自编码的深度特征表示方法与流程

文档序号:11287498阅读:261来源:国知局

本发明涉及一种深度特征表示方法,具体涉及一种基于多重栈式自编码的深度特征表示方法。



背景技术:

在计算机视觉和多媒体应用中的一个关键性问题就是如何构造一个辨别力和鲁棒性都比较强的特征。在传统的视频分析及图像处理领域中已存在很多常用的底层视觉特征特征(诸如颜色、纹理、sift、hog、lbp等),并且在一些视觉任务中也取得了较好的效果。当然,这些特征依然存在着一些限制:首先此类特征的提取过程都是人工设计,存在一定的算法复杂性,一般适用于较小型的数据集,然而当前所采用的视频图像几乎都是超十万级别的数据,因此,难以满足当前大数据中特征提取的需求。其次由于受到现实客观因素的影响,当前面临的数据类型复杂多变(灰度图、彩色图、光照、遮挡的视频数据等),传统的底层视觉特征不足以有效表达此类数据的特征信息。因此,设计新的算法提取视频图像中的辨别性特征以应对当前复杂多变的数据类型显得尤为必要。随着计算机视觉和机器学习算法的发展,深度学习技术(deeplearning)作为一种新型的机器学习算法,其源于人工神经网络技术,从仿生学的原理模拟人脑对目标对象抽取层级特征的判别信息,其强大的信息判别能力得到了当前众多研究者的青睐。虽然这些算法在特征提取的采用分级处理的方法,也为复杂问题提供了有效的解决方案,但是对于特征提取过程的错综复杂的表示结果却很难直观地感受。除此之外,传统的深度体系结构只能提取单层的结构,这会导致失去一些有识别力的精准代表图片的信息。因此,本发明提出一种多重栈式自编码联合特征学习的技术,该方法通过多重自编码深度网络,从多个维度提取目标不同层级的特征信息,实现对目标的准确标准和判别。



技术实现要素:

针对于对特征提取结果的复杂结果不能直观感受和深度体系结构只能提取单层结构的不足,本发明提出了一种可行的方法用于精确提取目标图片的特征,即试图模仿人类大脑的视觉皮质,结合图片表示的多层次特征来实现获取目标图片的特征。

为了实现上述目标,本发明采用的技术方案为一种基于多重栈式自编码的深度特征表示方法。

一种基于多重栈式自编码的深度特征表示方法,其特征在于,基于栈式自编码的基本原则。首先,说明一下,一个自编码需要一个输入x=rd和第一个潜在表示的输入的映射h∈rd′,用一个确定性的函数h=fθ=σ(wx+b),参数θ={w,b}。然后利用这个方式通过反向映射重置输入:y=fθ′(h)=σ(w′h+b′),θ′={w′,b′}。两个参数通常以w′=wt的形式被限制,在编码输入和解码潜在表示yi时使用相同的权重。参数会通过训练集dn={(x0,t0),...(xn,tn)}最小化一个适当的价值函数被最佳化,具体包括:

步骤1,建立多重多层次的自动编码,通过把不同层次的特征组合到一起实现由粗到精的过程。框架结合多个自编码器,它们每个都有不同的结构。拥有越少隐藏层的网络会得到目标低层次的信息,然后把这些特征组合到一起形成最终的表示,这样我们就可以得到由粗到精的目标特征表示。训练原始图片时,我们的框架会从不同的视角去获取它们的表示。通过这种方法,我们依靠新的推理体系确保每一层都会重置输入。这样得到的特征会更加的具有代表性和说服力。

步骤2,进行分层优化深度网络结构(栈式自编码网络结构)。

步骤3,对每个特征分配权重。为了得到一个更具鲁棒性的目标表示特征,对每个特征分配不同的权重。根据深度神经网络结构的特点,隐藏层层次越丰富对应的特征就越有判别力,因此我们对从更深层次的网络所提取的特征相应地设置更高的权重。这个进程通过下式表达:

其中f代表最终的综合特征,fi代表从i-th自编码器获得的特征,k代表深度自编码器的数量。

步骤4,进行分类。经过不同层次自动编码获得的不同特征会通过权重分配进行预处理。最后把经过处理的特征组合到一起形成最终的表示。之后,通过softmax分类器得到最终的分类结果。softmax分类器我们可以归纳为分类标签超过两个以上的分类问题,其是逻辑回归的一般形式。

在上述基于多重栈式自编码的深度特征表示方法,所述步骤2具体包括:

对栈式自编码网络的分层优化过程是通过反向传播算法来完成的,其主要思路如下:对栈式编码器给定一个样例(x,y),我们首先进行“前向传导”计算,计算出网络中所有节点的激活值ai,包括hw,b(x)的输出值(其中参数θ={w,b})。之后针对弟l层的每一个节点i,我们计算其“残差”该残差表明了该节点对最终输出值的残差产生了多少影响。对于最终的输出节点,我们可以直接算出网络产生的激活值与实际值之间的差距,我们将这个差距定义为(第nl层表示输出层)。对于隐藏单元,我们将基于节点(第l+1层节点)残差的加权平均值计算这些节点以作为输入。具体来说,反向传播算法可以表示为以下几个步骤:

步骤2.1:进行前馈传导计算,利用前向传导公式,得到l2,l3,…直到输出层lnl的激活值;

步骤2.2:对输出层(第nl层),计算残差:δ(nl)=-(y-a(nl))·f′(z(nl));

步骤2.3:对于l=nl-1,nl-2,nl-3,…,2的各层,计算:δ(l)=((w(l))tδ(l+1))·f′(z(l));

步骤2.4:计算最终需要的偏导数值:

而在实际中应注意:以上的第2步和第3步中,我们需要为每一个i值计算其假设f(z)是sigmoid函数,并且我们已经在前向传导运算中得到了那么使用我们早先推导出的f′(z)表达式,就可以计算的得到此过程为对一层栈式自编码网络进行优化与求导过程,因此,我们可以重复梯度下降法的迭代步骤来减小代价函数j(w,b)的值,进而求解整个栈式自编码网络结构。

3、根据权利要求1所述基于多重栈式自编码的深度特征表示方法,其特征在于:所述步骤3具体包括:

通过前面已经了解到如何使用一个自编码器从无标注数据中学习特征。具体来说分为以下几个步骤:

步骤3.1:假定有一个无标注的训练数据集(下标μ代表“不带类标”)。利用训练得到的模型参数w(1),b(1),w(2),b(2),给定输入数据x(可能需要首先对这些数据做白化或其它适当的预处理),可以计算隐藏单元的激活量(activations)a。如前所述,相比原始输入x来说,a可能是一个更好的特征描述,即我们所谓的特征表示(去掉自编码网络最后一层的输出,为了和上述一直,此处特征用f表示);

步骤3.2:针对不同的栈式自编码结构,其隐藏层数是不一样的,在本发明中,我们采用隐藏层数分别为3,4,5,因此其中所获得的特征表示(去掉自编码网络的最后一层的数据输出)为f3,f4,f5。而根据深度神经网络的原理,一般来说,网络层数越深,最后将能够获得鲁棒性更强的特征。所以,在本发明中,三种特征的表征能力将以f5>f4>f3的方式排列。因此,三种特征对最终目标特征表示的表现力贡献程度也会不一样,所以在最后进行特征组合的时候,其权重系数也会不一样;

步骤3.3:通过上述步骤步骤3.2,我们获取了不同的特征表示,由于每种特征的表征能力不一样,在本步骤中,我们采取2:3:5的比例来分配相应的权重系数,而在权重系数分配中,必须满足(其中k代表自编码器的数量,λi表示每种特征的权重系数,因此通过此种方式可以分别求出每种特征的相应贡献程度。然后通过系数相加的方式获得最后的目标特征表示(如权利要求1中步骤3所示)。

在上述基于多重栈式自编码的深度特征表示方法,所述步骤4中,通过所获取的目标特征表示,利用softmax回归模型对目标特征进行分类,该模型是logistic回归模型在多类问题上的推广。其具体步骤包括:

步骤4.1:通过上述多层特征的权重系数求和相加的方式所获得目标特征后,对特征所表述的目标进行类别标记,用于softmax模型的进行分类,以检验多种深度层级特征的效果;

步骤4.2:由前一步骤中所获得的特征训练集假设由m个已标记的样本所组成,即{(x(1),y(1)),…,(x(m),y(m))},其中输入特征x(i)∈rn+1,类别标记y可以取k个不同的值,因此,y(i)∈{1,2,…,k}。对于给定的测试输入x,我们想用假设函数针对每一个类别j估算出概率值。也就是说,我们估计x的每一种分类结果出现的概率。因此,我们的假设函数将要输出一个k维的向量(向量元素的和为1)来表示这k个估计的概率值。具体地说,我们的假设函数hθ(x(i))形式如下:

其中θ1,θ2,...,θk∈rn+1是模型参数,这一项是对概率分布进行归一化,使得所有概率和为1;

步骤4.3:softmax的代价函数如下所示(其中1{·}表示示性函数,取值规则为1{值为真的表达式}=1):

对于j(θ)的最小化问题,我们采用梯度下降法完成求导过程,其梯度公式如下:

有了上面的偏导数公式以后,我们就可以将它代入到梯度下降法等算法中,来最小化j(θ),从而求出每种类别的概率,实现最终分类过程。

本发明具有以下积极效果和优点:1、本发明通过以一种逐层的方式获取目标不同层次的信息最终得到目标的特征表示。2、试图从仿生学的角度模仿人类大脑视觉皮质。通过这种方式可以获得图片表示的强有力的特征。

附图说明

图1为本发明的流程图

具体实施方式

首先,说明一下栈式自编码的基本原则。一个自编码需要一个输入x=rd和第一个潜在表示的输入的映射h∈rd′,用一个确定性的函数h=fθ=σ(wx+b),参数θ={w,b}。然后利用这个方式通过反向映射重置输入:y=fθ′(h)=σ(w′h+b′),θ′={w′,b′}。两个参数通常以w′=wt的形式被限制,在编码输入和解码潜在表示yi时使用相同的权重。参数会通过训练集dn={(x0,t0),...(xn,tn)}最小化一个适当的价值函数被最佳化。

首先,建立多重多层次的自动编码。这个过程完全无人监督,模仿人类大脑的认知能力,通过把不同层次的特征组合到一起实现由粗到精的过程。框架结合多个自动编码,它们每个都有不同的结构。拥有越少隐藏层的网络会得到目标低层次的信息,例如边缘;而深层次的网络可以得到高层次的内容,例如目标的一部分或者是完整的一部分。然后把这些特征组合到一起形成最终的表示。这样我们就可以由粗到精的获得物体的特征。训练原始图片时我们的框架会从不同的视角去获取它们的表示。通过这种方法,我们依靠新的推理体系确保每一层都会重置输入。这样得到的特征会更加的具有代表性和说服力。

其次,进行分层优化和微调。

(1)传统的自编码把k-th层的表示作为(k+1)-th层的输入,k-th层也是在(k-1)-th训练之后得到的。这种方式的最大缺点就是在第一层之后图片的像素会被弃置了,因此更高层的模型会与输入产生更稀疏的联系。这会导致模型的学习很脆弱和不实际。我们则是通过组合不同层次的不同的特征来处理这个问题,这种方式可以互相弥补。

(2)微调的目的是获得最优化的神经网络参数。当有过多的参数的时候深度模型可能会过度拟合,所以在训练多层次结构时使用反向传播算法。计算一个关于一个模型的多层次的权重的目标函数的斜率的过程只不过是派生物的链式法则的一个实际应用。一旦派生物经过计算,它就直接关于每个模型权重的斜率。

再就是对每个特征分配权重。为了得到一个有代表性的表示,对每个特征分配不同的权重。根据深度神经网络的方式,层次越丰富对应的特征就越有判别力。因此我们对从更深层次的网络提取的特征相应地设置一个更高的权重。这个进程通过下式表达:

其中f代表最终的综合特征,fi代表从i-th自动编码获得的特征,k代表深度自动编码的数量。

最后是分类。经过不同层次自动编码获得的不同特征会通过权重分配进行预处理。最后把经过处理的特征组合到一起形成最终的代表。之后,通过softmax分类器得到综合性的特征。分类器会归纳分类标签依赖于超过两个可能的因素的分类问题的逻辑回归。

二、下面具体介绍本发明的具体方法:基于栈式自编码的基本原则。首先,说明一下,一个自编码需要一个输入x=rd和第一个潜在表示的输入的映射h∈rd′,用一个确定性的函数h=fθ=σ(wx+b),参数θ={w,b}。然后利用这个方式通过反向映射重置输入:y=fθ′(h)=σ(w′h+b′),θ′={w′,b′}。两个参数通常以w′=wt的形式被限制,在编码输入和解码潜在表示yi时使用相同的权重。参数会通过训练集dn={(x0,t0),...(xn,tn)}最小化一个适当的价值函数被最佳化,具体包括:

步骤1,建立多重多层次的自动编码,通过把不同层次的特征组合到一起实现由粗到精的过程。框架结合多个自编码器,它们每个都有不同的结构。拥有越少隐藏层的网络会得到目标低层次的信息,然后把这些特征组合到一起形成最终的表示,这样我们就可以得到由粗到精的目标特征表示。训练原始图片时,我们的框架会从不同的视角去获取它们的表示。通过这种方法,我们依靠新的推理体系确保每一层都会重置输入。这样得到的特征会更加的具有代表性和说服力。

步骤2,进行分层优化深度网络结构(栈式自编码网络结构)。

步骤3,对每个特征分配权重。为了得到一个更具鲁棒性的目标表示特征,对每个特征分配不同的权重。根据深度神经网络结构的特点,隐藏层层次越丰富对应的特征就越有判别力,因此我们对从更深层次的网络所提取的特征相应地设置更高的权重。这个进程通过下式表达:

其中f代表最终的综合特征,fi代表从i-th自编码器获得的特征,k代表深度自编码器的数量。

步骤4,进行分类。经过不同层次自动编码获得的不同特征会通过权重分配进行预处理。最后把经过处理的特征组合到一起形成最终的表示。之后,通过softmax分类器得到最终的分类结果。softmax分类器我们可以归纳为分类标签超过两个以上的分类问题,其是逻辑回归的一般形式。

2、根据权利要求1所述基于多重栈式自编码的深度特征表示方法,其特征在于:所述步骤2具体包括:

对栈式自编码网络的分层优化过程是通过反向传播算法来完成的,其主要思路如下:对栈式编码器给定一个样例(x,y),我们首先进行“前向传导”计算,计算出网络中所有节点的激活值ai,包括hw,b(x)的输出值(其中参数θ={w,b})。之后针对弟l层的每一个节点i,我们计算其“残差”该残差表明了该节点对最终输出值的残差产生了多少影响。对于最终的输出节点,我们可以直接算出网络产生的激活值与实际值之间的差距,我们将这个差距定义为(第nl层表示输出层)。对于隐藏单元,我们将基于节点(第l+1层节点)残差的加权平均值计算这些节点以作为输入。具体来说,反向传播算法可以表示为以下几个步骤:

步骤2.1:进行前馈传导计算,利用前向传导公式,得到l2,l3,…直到输出层lnl的激活值;

步骤2.2:对输出层(第nl层),计算残差:δ(nl)=-(y-a(nl))·f′(z(nl));

步骤2.3:对于l=nl-1,nl-2,nl-3,…,2的各层,计算:δ(l)=((w(l))tδ(l+1))·f′(z(l));

步骤2.4:计算最终需要的偏导数值:

而在实际中应注意:以上的第2步和第3步中,我们需要为每一个i值计算其假设f(z)是sigmoid函数,并且我们已经在前向传导运算中得到了那么使用我们早先推导出的f′(z)表达式,就可以计算的得到此过程为对一层栈式自编码网络进行优化与求导过程,因此,我们可以重复梯度下降法的迭代步骤来减小代价函数j(w,b)的值,进而求解整个栈式自编码网络结构。

3、根据权利要求1所述基于多重栈式自编码的深度特征表示方法,其特征在于:所述步骤3具体包括:

通过前面已经了解到如何使用一个自编码器从无标注数据中学习特征。具体来说分为以下几个步骤:

步骤3.1:假定有一个无标注的训练数据集(下标μ代表“不带类标”)。利用训练得到的模型参数w(1),b(1),w(2),b(2),给定输入数据x(可能需要首先对这些数据做白化或其它适当的预处理),可以计算隐藏单元的激活量(activations)a。如前所述,相比原始输入x来说,a可能是一个更好的特征描述,即我们所谓的特征表示(去掉自编码网络最后一层的输出,为了和上述一直,此处特征用f表示);

步骤3.2:针对不同的栈式自编码结构,其隐藏层数是不一样的,在本发明中,我们采用隐藏层数分别为3,4,5,因此其中所获得的特征表示(去掉自编码网络的最后一层的数据输出)为f3,f4,f5。而根据深度神经网络的原理,一般来说,网络层数越深,最后将能够获得鲁棒性更强的特征。所以,在本发明中,三种特征的表征能力将以f5>f4>f3的方式排列。因此,三种特征对最终目标特征表示的表现力贡献程度也会不一样,所以在最后进行特征组合的时候,其权重系数也会不一样;

步骤3.3:通过上述步骤步骤3.2,我们获取了不同的特征表示,由于每种特征的表征能力不一样,在本步骤中,我们采取2:3:5的比例来分配相应的权重系数,而在权重系数分配中,必须满足(其中k代表自编码器的数量,λi表示每种特征的权重系数,因此通过此种方式可以分别求出每种特征的相应贡献程度。然后通过系数相加的方式获得最后的目标特征表示(如权利要求1中步骤3所示)。

4、根据权利要求1所述基于多重栈式自编码的深度特征表示方法,其特征在于:所述步骤4中,通过所获取的目标特征表示,利用softmax回归模型对目标特征进行分类,该模型是logistic回归模型在多类问题上的推广。其具体步骤包括:

步骤4.1:通过上述多层特征的权重系数求和相加的方式所获得目标特征后,对特征所表述的目标进行类别标记,用于softmax模型的进行分类,以检验多种深度层级特征的效果;

步骤4.2:由前一步骤中所获得的特征训练集假设由m个已标记的样本所组成,即{(x(1),y(1)),…,(x(m),y(m))},其中输入特征x(i)∈rn+1,类别标记y可以取k个不同的值,因此,y(i)∈{1,2,…,k}。对于给定的测试输入x,我们想用假设函数针对每一个类别j估算出概率值。也就是说,我们估计x的每一种分类结果出现的概率。因此,我们的假设函数将要输出一个k维的向量(向量元素的和为1)来表示这k个估计的概率值。具体地说,我们的假设函数hθ(x(i))形式如下:

其中θ1,θ2,...,θk∈rn+1是模型参数,这一项是对概率分布进行归一化,使得所有概率和为1;

步骤4.3:softmax的代价函数如下所示(其中1{·}表示示性函数,取值规则为1{值为真的表达式}=1):

对于j(θ)的最小化问题,我们采用梯度下降法完成求导过程,其梯度公式如下:

有了上面的偏导数公式以后,我们就可以将它代入到梯度下降法等算法中,来最小化j(θ),从而求出每种类别的概率,实现最终分类过程。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1