CN104915566A - 一种支持增量更新的深度计算模型设计方法 - Google Patents

一种支持增量更新的深度计算模型设计方法 Download PDF

Info

Publication number
CN104915566A
CN104915566A CN201510337280.XA CN201510337280A CN104915566A CN 104915566 A CN104915566 A CN 104915566A CN 201510337280 A CN201510337280 A CN 201510337280A CN 104915566 A CN104915566 A CN 104915566A
Authority
CN
China
Prior art keywords
parameter
model
data
automatic coding
depth calculation
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
Application number
CN201510337280.XA
Other languages
English (en)
Inventor
陈志奎
刘思谦
张清辰
赵亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201510337280.XA priority Critical patent/CN104915566A/zh
Publication of CN104915566A publication Critical patent/CN104915566A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种支持增量更新的深度计算模型,包括如下步骤:通过构建高阶自动编码机,并将其扩展到高维张量空间,再使用反向传播算法得到模型静态参数;在不改变网络连接结构的前提下,根据新增数据的特征,将模型的参数由θ更新为θ+Δθ,使得更新后的参数能够学习新增数据的特征;通过不断增加隐藏层神经元数目的方式来更新网络模型,实现对高速动态变化的数据特征提取;本发明针对大数据实时性的特点,设计支持增量更新的深度计算模型,能够高效实时地提取大数据的手相特征。

Description

一种支持增量更新的深度计算模型设计方法
技术领域
本发明涉及一种支持增量更新的深度计算模型的设计方法,以应对大数据实时处理带来的挑战。
背景技术
大数据时代的到来带来了很多机遇,也带来了更多的挑战。大数据的一个重要特性是具有实时性,即数据以极快的速度产生,其内容和分布特征均处于高速动态变化之中,而且这些数据要求被实时处理。因此要求特征学习算法能够支持增量式更新,实时的学习高速动态变化数据的特征。增量式学习模型是指建立在已有特征学习模型的基础上,即不需要历史数据重新训练,根据当前的新数据实例更新模型的参数与结构,使之能够快速学习新数据的特征;同时需要尽力保持模型的原始知识,使得更新模型仍能有效学习历史数据特征。
传统的特征学习的高阶自动编码模型,尽管能够有效的学习数据的特征,然而该模型属于静态学习模型。在特征学习过程中,需要将整个数据集加载到内存当中,利用整个数据集训练模型的参数,无法对模型的参数与结构知识进行动态更新,以适应新增数据的变化,结合历史知识实时学习新增数据的特征。导致该模型很难实时的学习处于高速动态变化的大数据特征。而实现支持增量更新的自动编码模型具有两个大的挑战:
(1)快速的参数更新:在稳定的环境中,新增数据分布特征变化不大,对于这一类数据,仅通过参数更新即可实现高价自动编码模型的增量式更新。传统的增量式机器学习方法在更新参数时时间复杂度高,虽然不需要对历史数据进行重新训练,却未能充分利用现有模型的知识,因此参数更新速度慢,无法满足大数据实时学习的要求。因此如何充分结合现有模型的知识,根据新增数据的特征,设计快速的参数更新方法是实现支持增量更新的高阶自动编码模型的关键问题。
(2)有效的结构更新:处于动态环境中的大数据,产生速度快,其分布特征变化明显。对于这一类数据,需要通过增加隐藏层神经元数据,对模型的结构和参数同时进行更新,才能有效学习其分布特征。传统的机器学习模型,构建在向量空间,因此可以增加任意多个隐藏层神经元。而高阶自动编码模型工作在张量空间,其隐藏层是个高阶张量,因此在增加隐藏层神经元时,需要根据其结构确定隐藏层神经元增加数目,确保更新结构的正确性。
深度计算是一种新型技术,它通过过其复杂的网络结构,学习到高效的特征参数,进而进行有效的分析预测。但该技术模型参数较多,训练过程较为耗时。因此,在大数据时代,对于其应用造成了极大的挑战。
(1)增量性:增量性是指模型只需要对新增数据进行训练,不需要对历史数据进行重新训练,在已有模型的基础上,根据新增数据的特征,直接对现有模型的结构和参数进行更新。
(2)适应性:适应性是指更新后的模型能够对新增数据进行有效学习,即对新增数据的分类及预测误差不断降低。
(3)保持性:保持性是指更新后的模型依然能够保持原有模型的知识,即更新模型依然能够有效学习历史数据的特征。
实现支持增量更新的自动编码模型具有很多挑战,本节重点讨论以下两个关键问题:
发明内容
传统的深度计算模型不支持针对高速数据流的参数和结构的快速更新,本发明提供了一种支持增量更新的深度计算模型设计方法,对深度计算网络模型的参数和结构进行更新,以应对大数据实时高速的特点。
本发明提供了一种支持增量更新的深度计算模型设计方法,包括如下步骤:
构建支持高维张量的高阶自动编码机模型,并采用反向传播算法得到其静态模型参数。
参数增量更新是指在不改变网络连接结构的前提下,根据新增数据的特征,将模型的参数由θ更新为θ+Δθ,使得更新后的参数能够学习新增数据的特征。为了能够快速求出模型参数的增量Δθ,本发明使用函数一阶近似的思想,提高模型参数更新速度,最大程度满足大数据特征学习的实时性要求。
结构更新是指通过不断增加隐藏层神经元数目的方式来更新网络模型。这种更新方式对于学习处于高速动态变化的数据特征尤为有效。因此,对于快速动态变化的大数据,本发明提出的增量式高阶自动编码模型通过增加隐藏层神经元的方式来更新网络模型。
支持增量更新的深度计算模型需要两个阶段:预训练和微调。在预训练阶段,通过参数更新或者结构更新的方法从底向上以增量式的方法依次训练模型的每个基础模块:支持增量更新的高阶自动编码模型。然后将多个增量式高阶自动编码模型堆叠,构建增量式深度计算模型。在微调阶段,使用标签数据对整个模型的参数进行微调,可以有效的避免增量模型陷入局部最优,进而可以获得最终的参数。
本发明针对大数据的高速增长和实时性的特点设计了支持增量更新的深度极端模型,以克服基本深度计算模型无法对参数和结构进行动态更新,实时的学习新增数据的特征,重点是设计了基于一阶近似的参数更新方法和基于增加隐藏层神经元的结构更新方法。
附图说明
下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,以便更清楚地说明本发明实施例或现有技术中的技术方案。
图1更新前的模型结构;
图2更新后的模型结构;
图3 STL-10数据集实验结果;
图4保持性实验结果;
图5三个参数的训练时间;
图6两个参数的MSE;
图7两个参数的平均平方误差;
图8收敛次数实验结果;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
首先说明构建基于张量的高阶自动编码机模型的过程。在此之前定义所用到的张量和其运算方法:
定义1.张量。令V1,V2,…,VN为维数分别是I1,I2,…,IN的N个有限维欧式空间,设N个向量u1∈V1,u2∈V2,…,uN∈VN,V1×V2×…×VN上的多线性映射(u1οu2ο…οuN)为:
其中,为Vi上的标量积,xi(i=1,2,...,N)为Vi上的任意向量。则全体(u1οu2ο…οuN)构成的空间称为V1,V2…,VN的张量空间,此空间上的元素称为V1×V2×…×VN上的N阶张量。特别的,如果则此张量空间称为N阶(I1,I2,…,IN)维实张量空间,记为
定义2.张量的n模式展开。令是一个N阶量,其n模式展开将形成一个In×(I1I2…In-1In+1…IN)矩阵,记为A(n),其第(in,j)个元素为其对应关系为:
j = 1 + Σ k = 1 , k ≠ n N ( i k - 1 ) ( Π m = 1 , m ≠ n k - 1 I m ) - - - ( 2 )
特殊的,一个N阶张量可以被展开成为一个向量a。张量A中元素被映射成al,其中对应关系为:
l = i 1 + Σ j = 2 N Π t = 1 j - 1 I t - - - ( 3 )
定义3.张量的多点积。对于两个N阶张量A和B的多点积产生一个实数c,且:
c = A · B = Σ i 1 = 1 , i 2 = 1 , . . . , i N = 1 I 1 , I 2 , . . . , I N A i 1 i 2 . . . , i N B i 1 i 2 . . . , i N - - - ( 4 )
定义4.张量的外积。对于一个N阶张量和一个M阶张量它们的外积产生一个(M+N)阶张量张量C中的元素被定义为:
c i 1 , . . . , i N , j 1 , . . . , j M = a i 1 , . . . , i N · b j 1 , . . . , j M - - - ( 5 )
其中分别是张量A,B,C中的元素。
定义5张量多点乘积(⊙)。给定一个N+1阶张量和一个N阶张量其中W具有α个N阶子张量,每个子张量为W和A的多点乘积的结果是一个N阶张量即H=W⊙A。H中每个元素定义如下:
h j 1 j 2 . . . j n = W β · A ( β = j n + Σ i = 1 N - 1 ( j t - 1 ) Π t = i + 1 N J t ) - - - ( 6 )
与基本自动编码模型机结构相同,高阶自动编码机模型同样包括一个输入层、一个隐藏层和一个输出层。不同的是,高阶自动编码机模型的每一层不再是一个向量,而是一个张量。高阶自动编码机模型形式化描述如下。
假设分别代表输入层数据和隐藏层数据。根据自动编码机原理,输入层X经过如下编码函数f映射到隐藏层H:
H=fθ(W(1)⊙X+b(1))   (7)
其中,θ={W(1),b(1)}为编码参数,为一个N+1阶张量,W(1)具有α=J1×J2×…×JN个子张量,每个子张量为为一个N阶张量;f为Sigmoid函数,即f(x)=1/(1+e-x)。
解码函数g将隐藏层数据映射回重构数据Y:
Y=hW,b(X)=gθ(W(2)⊙H+b(2))   (8)
其中,θ={W(2),b(2)}为参数,为一个的N+1阶张量,W(2)具有β=I1×I2×…×IN个子张量,每个子张量为为一个N阶张量;g为Sigmoid函数。
为了训练高阶自动编码机的参数,需要将反向传播算法从向量空间扩展到张量空间。为了推导反向传播算法在张量空间的求解过程,下面给出高阶自动编码机模型的序列表示形式。令表示输入数据, 分别表示隐藏层和输出层神经元的输入数据, a j 1 j 2 . . . j N ( 2 ) ( 1 ≤ j i ≤ J i , 1 ≤ i ≤ N ) , a i 1 i 2 . . . i N ( 3 ) ( 1 ≤ i j ≤ I j , 1 ≤ j ≤ N ) 分别表示隐藏层和输出层数据,则高阶自动编码模型可以描述成如下形式:
z j 1 j 2 . . . j n ( 2 ) = W α ( 1 ) · X + b j 1 j 2 . . . j n ( 1 ) ( α = j n + Σ i = 1 N - 1 ( j 1 - 1 ) Π t = i + 1 N J t ) - - - ( 9 )
a j 1 j 2 . . . j n ( 2 ) = f ( z j 1 j 2 . . . j n ( 2 ) ) - - - ( 10 )
z i 2 i 2 . . . i n ( 3 ) = W β ( 2 ) · a ( 2 ) + b i 1 i 2 . . . i n ( 2 ) ( β = i n + Σ j = 1 N - 1 ( i j - 1 ) Π t = j + 1 N I t ) - - - ( 11 )
h ( i 1 i 2 . . . i n ) W , b ( X ) = a i 1 i 2 . . . i n ( 3 ) = f ( z i 1 i 2 . . . i n ( 3 ) ) - - - ( 12 )
为了尽量捕捉数据在张量空间的分布特征,高阶自动编码模型采用张量距离构造重构误差函数[93]。对于给定的两个张量x和y分别表示张量X和Y向量展开后的表示,则张量X和Y之间的张量距离定义为:
d TD = Σ l , m = 1 I 1 × I 2 × . . . × I N g lm ( x l - y l ) ( x m - y m ) = ( x - y ) T G ( x - y ) - - - ( 13 )
其中,glm是系数,G是系数矩阵,反映高阶数据不同坐标的内在联系,定义如下:
g lm = 1 2 π σ 2 exp { - | | p l - p m | | 2 2 2 σ 2 } - - - ( 14 )
||pl-pm||2(与xl相对)和(与xm相对应)之间的位置距离:
| | p l - p m | | 2 = ( i 1 - i 1 ′ ) 2 + ( i 2 - i 2 ′ ) 2 + . . . + ( i N - i N ′ ) 2 - - - ( 15 )
假设训练集{(X(1),Y(1)),...,(X(m),Y(m))}中有m个训练实例,对于任何一个实例(X,Y),将其展开成对应的向量表示(x,y),则对于该实例而言,其重构误差函数可以定义为:
J TAE ( θ ; x , y ) = 1 2 d TD 2 = 1 2 ( h W , b ( x ) - y ) T G ( h W , b ( x ) - y ) - - - ( 16 )
其中,θ={W(1),b(1);W(2),b(2)}表示高阶自动编码模型的参数,对于自动编码模型来讲,令Y=X。
则对于整个训练集而言,基于张量距离的高阶自动编码模型的重构误差函数定义为:
J TAE ( θ ) = [ 1 m Σ i = 1 m ( 1 2 ( h W , b ( X ( i ) ) - Y ( i ) ) T G ( h W , b ( X ( i ) ) - Y ( i ) ) ) ] + λ 2 ( Σ p = 1 J 1 × J 2 × . . . × J n Σ i 1 I 1 Σ i 2 I 2 . . . Σ i n I n ( W p i 1 i 2 . . . i n ( 1 ) ) 2 + Σ q = 1 I 1 × I 2 × . . . × I n Σ j 1 J 1 Σ j 2 J 2 . . . Σ j n J n ( W q j 1 j 2 . . . j n ( 2 ) ) 2 ) - - - ( 17 )
其中,第一项表示平均误差,第二项是一个规范化项,用于防止过度拟合。
2.5高阶反向传播算法
高阶自动编码模型训练的目标是针对参数θ={W(1),b(1);W(2),b(2)}求重构误差函数JTAE(θ)的最小值。梯度下降法是求解非凸函数JTAE(θ)参数θ={W(1),b(1);W(2),b(2)}的有效方法。对于单个训练实例{x,y},假设重构误差函数对参数的偏导数为根据梯度下降法,可以利用公式(18)和公式(19)对参数进行一次迭代更新。
W ji 1 i 2 . . . i n ( l ) = W ji 1 i 2 . . . i n ( l ) - α ∂ I TAE ( θ ; x , y ) ∂ W ji 1 i 2 . . . i n ( l ) - - - ( 18 )
b i 1 i 2 . . . i n ( l ) = b i 1 i 2 . . . i n ( l ) - α ∂ J TAE ( θ ; x , y ) ∂ b i 1 i 2 . . . i n ( l ) - - - ( 19 )
其中,α是学习效率。梯度下降法的关键步骤是求得重构误差函数JTAE(θ)对参数θ={W(1),b(1);W(2),b(2)}的偏导数一旦求出每个实例的偏导数后,整体代价函数对参数的偏导数由公式(20)和(21)计算。
∂ J TAE ( θ ) ∂ W ji 1 i 2 . . . i n ( l ) = [ 1 m Σ i = 1 m ∂ J TAE ( θ ; x ( i ) , y ( i ) ) ∂ W ji 1 i 2 . . . i n ( l ) ] + λW ji 1 i 2 . . . i n ( l ) - - - ( 20 )
b i 1 i 2 . . . i n ( l ) = 1 m Σ i = 1 m ∂ J TAE ( θ ; x ( i ) , y ( i ) ) ∂ W i 1 i 2 . . . i n ( l ) - - - ( 21 )
为了计算重构误差函数JTAE(θ)对参数θ={W(1),b(1);W(2),b(2)}的偏导数本发明将反向传播算法从向量空间扩展到张量空间,设计高阶反向传播算法。
高阶反向传播算法包括两个关键步骤:前向传播与反向传播。在前向传播阶段,利用公式(10)到公式(12)计算z(2),z(3),a(2),a(3)的输出值。
在反向传播阶段,首先计算输出层每个神经元的残差具体计算过程如下。
σ i ( 3 ) = ∂ ∂ z i ( 3 ) J ( θ ; x , y ) = ∂ T i ∂ z i ( 3 ) = ∂ ∂ z i ( 3 ) ( 1 2 g ii ( f ( z i ( 3 ) ) - y i ) 2 + 1 2 Σ j = 1 , j ≠ i I 1 × I 2 × . . . × I n g ij ( f ( z i ( 3 ) ) - y i ) ( f ( z j ( 3 ) ) - y j ) ) = g ii · ( f ( z i ( 3 ) ) - y i ) · f ′ ( z i ( 3 ) ) + Σ j = 1 , j ≠ i I 1 × I 2 × . . . × I N g ij · ( f ( z i ( 3 ) ) - y j ) · f ′ ( z i ( 3 ) ) = f ′ ( z i ( 3 ) ) · Σ j = 1 I 1 × I 2 × . . . I N g ij ( a j ( 3 ) - y j ) = ( a i ( 3 ) · ( 1 - a i ( 3 ) ) ) · Σ j = 1 I 1 × I 2 × . . . × I N g ij ( a j ( 3 ) - y j ) - - - ( 22 )
然后计算隐藏层每个神经元的残差具体计算过程如下:
σ j 1 j 2 . . . j n ( 2 ) = Σ i 1 = 1 I 1 Σ i 2 I 2 . . . Σ i n I n ∂ J ( θ ; x , y ) ∂ z i 1 i 2 . . . i n ( 3 ) · ∂ z i 1 i 2 . . . i n ( 3 ) ∂ z j 1 j 2 . . . j n ( 2 ) = ( Σ i 1 = 1 I 1 Σ i 2 I 2 . . . Σ i n I n w λj 1 j 2 . . . j n 2 · σ i 1 i 2 . . . i n ( 3 ) ) f ′ ( z j 1 j 2 . . . j n ( 2 ) ) ( λ = i n + Σ j = 1 N - 1 ( i j - 1 ) Π t = j + 1 N I t ) - - - ( 23 )
接下来,隐藏层和输出层的每个神经元的残差项,如下:
∂ z k = i 1 i 2 . . . i n ( 3 ) ∂ W λj 1 j 2 . . . j n ( 2 ) = a λj 1 j 2 . . . j n ( 2 ) ( λ = i n + Σ j = 1 N - 1 ( i j - 1 ) Π t = j + 1 N I t ) - - - ( 24 )
∂ z j 1 j 2 . . . j n ( 2 ) ∂ b μi 1 i 2 . . . i n ( 1 ) = a μi 1 i 2 . . . i n ( 1 ) ( μ = j n + Σ i = 1 N - 1 ( j i - 1 ) Π t = i + 1 N J t ) - - - ( 25 )
最后,根据乘法链式法则,计算重构误差函数对参数的偏导数,具体推导过程如下:
∂ ∂ W η t 1 t 2 . . . t n ( l ) J ( θ ; x , y ) = ∂ ∂ z s 1 s 2 . . . s n ( l + 1 ) J ( θ ; x , y ) · ∂ z s 1 s 2 . . . s n ( l + 1 ) ∂ W η t 1 t 2 . . . t n ( l ) = a t 1 t 2 . . . t n ( l ) · σ s 1 s 2 . . . s n ( l + 1 ) ( η = ( s n + Σ j = 1 N - 1 S t ) - - - ( 26 )
∂ ∂ b s 1 s 2 . . . s n ( l ) J ( W , b ; x , y ) = σ s 1 s 2 . . . s n ( l + 1 ) - - - ( 27 )
根据以上讨论,利用高阶反向传播算法计算计算重构误差函数JTAE(θ)对参数θ={W(1),b(1);W(2),b(2)}的偏导数从而可以确定高级深度计算模型的参数。
然后对训练好的静态模型进行参数的增量更新。对于高阶自动编码模型来讲,其参数θ={W(1),b(1);W(2),b(2)}是由高阶张量表示。为了能够利用函数一阶近似的思想快速求出参数的增量Δθ,本发明将高阶自动编码模型的参数展开成其对应的向量形式,在向量空间计算参数的增量。
根据增量式学习的性质,本发明提出的基于参数更新的高阶自动编码模型在更新参数时,要尽力使得更新的模型能够学习新数据的特征,即模型的适应性;同时尽力保持模型的原始知识,使得更新后的模型依然能够有效学习历史数据的特征,即保持性。因此,对于给定的新增训练数据X,为了获得模型的适应性,定义基于权重的适应性误差函数Jadaption如公式(28)所示:
J adaption = 1 2 Δx new T ΩΔx new - - - ( 28 )
其中,Ω是权重矩阵,典型的权重矩阵取值为 表示模型参数由θ更新为θ+Δθ后的重构误差。θ表示模型的原始参数,Δθ表示参数θ的增量,u表示学习效率,表示静态模型的输出。
为了度量参数更新后模型的保持性,定义参数更新误差函数Jpreservation如公式(29)所示:
J preservation = 1 2 μ Δθ T Δθ - - - ( 29 )
为了兼顾参数更新的适应性与保持性,定义代价函数J(x,θ+Δθ)如公式(30)所示:
J(x,θ+Δθ)=Jadaption+Jpreservation   (30)
基于参数更新的高阶自动编码模型通过最小化代价函数J(x,θ+Δθ)求解模型参数的增量Δθ。很明显,最小化代价函数J(x,θ+Δθ)是一个典型的非线性优化问题。为了计算参数的增量Δθ,本发明首先利用泰勒定理对展开:
由于Δθ很小,因此可将进行一阶近似为:
进一步可得:
因此,代价函数J(x,θ+Δθ)可以近似为:
代价函数J(x,θ+Δθ)对Δθ求导,令导数等于0,求得Δθ的近似计算公式如下:
方程(8)的近似解为:
Δθ的这个近似解与在线梯度下降算法具有相似的形式。不同的是θ和Δθ是参数张量及其增量的向量表示。
基于一阶近似的参数更新算法主要步骤如下。
(1)通过前向传播计算高阶自动编码模型的输出值
(2)计算高阶自动编码模型的输出值与x的差值Δx;
(3)通过高阶反向传播算法计算高阶自动编码模型输出值对原始参数θ的偏导数
(4)根据公式(36)计算高阶自动编码模型的参数增量Δθ,将模型的参数更新为θ+Δθ;
通过基于一阶近似的参数更新算法的步骤可知,只需要将当前新的数据实例加载到内存之中,这点有利于学习规模巨大的大数据特征,除此之外,基于一阶近似的参数更新算法避免通过迭代更新参数,主要运算是计算对θ的偏导数,因此算法的时间复杂度近似为O(n),n表示网络模型的参数数目,所以参数更新速度能够在最大程度上满足大数据特征学习的实时性要求。
最后本发明将阐述自动编码机的结构更新方法,进而将其扩展到高阶张量空间,获得高阶自动编码模型结构更新算法的一般形式。
对于一个具有n个输入分量和m个隐藏层神经元的自动编码机,其模型结构如图1所示。该模型参数θ={W(1),b(1);W(2),b(2)},具有如下形式:
W(1)∈Rm×n,b(1)∈Rm
                                    (37)
W(2)∈Rn×m,b(2)∈Rn
对于图1显示的自动编码网络,当增加一个隐藏层神经元后,其结构变成如图2所示。
当增加一个隐藏层神经元后,需要调整参数形式,以适应网络的连接。具体地说,权重矩阵W(1)与W(2)分别需要增加一行和一列,即W(1)∈R(m+1)×n,W(2)∈Rn×(m+1);同时偏置向量b(1)需要增加一个分量,即b(1)∈Rm+1
对于自动编码机而言,增加隐藏层神经元后,本发明将参数新增分量初始值设置为0,或者初始化为接近于0的随机数。设自动编码机当前参数为θ={W(1),b(1);W(2),b(2)},增加p个隐藏层神经元后的参数初始形式如下:
W ( 1 ) ′ = W ( 1 ) 0 . ( p ) . . 0 , W ( 2 ) ′ = ( p ) W ( 2 ) 0 . . . 0 , b ( 1 ) = b ( 1 ) 0 . ( p ) . . 0 - - - ( 38 )
更新结构后,以θ′={W(1)′,b(1)′;W(2)′,b(2)′}为初始参数,利用反向传播算法求得自动编码机的最终参数。
接下来,本发明将自动编码机的结构更新算法扩展到高阶空间,设计基于增加隐藏层神经元的高阶自动编码模型的结构更新算法。对于自动编码机而言,一次可以增加一个或者多个神经元。然而,对于高阶自动编码模型而言,一次能够增加的隐藏层神经元数目取决于高阶自动编码模型的结构。
例如,对于一个输入为隐藏层结构为的二阶自动编码模型,其参数θ′={W(1),b(1);W(2),b(2)}的形式为:
W ( 1 ) ∈ R α × I 1 × I 2 ( α = J 1 × J 2 ) , b ( 1 ) ∈ R J 1 × J 2 E ( 2 ) ∈ R β × J 1 × J 2 ( β = I 1 × I 2 ) , b ( 2 ) ∈ R I 1 × I 2 - - - ( 38 )
对于该二阶自动便模型,在增加隐藏层神经元时,每次至少增加J1个神经元或者J2个神经元。若增加J1个神经元,则隐藏层结构变为更新后的模型参数θ′={W(1)′,b(1)′;W(2)′,b(2)′}形式变为:
W ( 1 ) ′ ∈ R α ′ × I 1 × I 2 ( α ′ = J 1 × ( J 2 + 1 ) ) , b ( 1 ) ′ ∈ R J 1 × ( J 2 + 1 ) W ( 2 ) ′ ∈ R β × J 1 × ( J 2 + 1 ) ( β = I 1 × I 2 ) , b ( 2 ) ′ ∈ R I 1 × I 2 - - - ( 39 )
同理,当增加J2个神经元时,隐藏层结构变为更新的模型参数θ″={W(1)″,b(1)″;W(2)″,b(2)″}形式变为:
W ( 1 ) ′ ′ ∈ R α ′ ′ × I 1 × I 2 ( α ′ ′ = ( J 1 + 1 ) × J 2 ) , b ( 1 ) ′ ′ ∈ R ( J 1 + 1 ) × J 2 W ( 2 ) ′ ′ ∈ R β × ( J 1 + 1 ) × J 2 ( β = I 1 × I 2 ) , b ( 2 ) ′ ′ ∈ R I 1 × I 2 - - - ( 40 )
更一般地,当增加pJ1+qJ2(p,q∈N,p+q≥1)个隐藏层神经元时,隐藏层结构变为 H ~ ∈ R ( J 1 + q ) × ( J 2 + p ) , 更新的模型参数 θ ~ = { W ~ ( 1 ) , b ~ ( 1 ) ; W ~ ( 2 ) , b ~ ( 2 ) } 形式变为:
W ~ ( 1 ) ∈ R α ~ × I 1 × I 2 ( α ~ = ( J 1 + q ) × ( J 2 + p ) ) , b ~ ( 1 ) ∈ R ( J 1 + q ) × ( J 2 + p ) W ~ ( 2 ) ∈ R β × ( J 1 + q ) × ( J 2 + p ) ( β = I 1 × I 2 ) , b ~ ( 2 ) ∈ R I 1 × I 2 - - - ( 41 )
下面,给出高阶自动编码模型结构更新的一般形式,对于输入为隐藏层结构为的高阶自动编码模型,其参数θ={W(1),b(1);W(2),b(2)}形式为:
W ( 1 ) ∈ R α × I 1 × I 2 × . . . × I N ( α = J 1 × J 2 × . . . × J N ) , b ( 1 ) ∈ R J 1 × J 2 × . . . × J N W ( 2 ) ∈ R β × J 1 × J 2 × . . . × J N ( β = I 1 × I 2 × . . . × I N ) , b ( 2 ) ∈ R I 1 × I 2 × . . . × I N - - - ( 42 )
当增加 p 1 ( J 2 × J 3 × . . . × J N ) + p 2 ( J 1 × J 3 × . . . × J N ) + . . . + p N ( J 1 × J 2 × . . . × J N - 1 ) ( p i ∈ N , 1 ≤ i ≤ N , Σ i = 1 N p i ≥ 1 ) 个隐藏层神经元时,其参数 θ ~ = { W ~ ( 1 ) , b ~ ( 1 ) ; W ~ ( 2 ) , b ~ ( 2 ) } 形式变为:
W ~ ( 1 ) ∈ R α ~ × I 1 × I 2 × . . . × I N ( a ~ = ( J 1 + p 1 ) × ( J 2 + p 2 ) × . . . × ( J N + p N ) ) b ~ ( 1 ) ∈ R ( J 1 + p 1 ) × ( J 2 + p 2 ) × . . . × ( J N + p N ) W ~ ( 2 ) ∈ R β × ( J 1 + p 1 ) × ( J 2 + p 2 ) × . . . × ( J N + p N ) ( β = I 1 × I 2 × . . . × I N ) , b ~ ( 2 ) ∈ R I 1 × I 2 × . . . × I N - - - ( 43 )
结构更新完成后,利用自动编码机结构更新方法初始化更新后的高阶自动编码模型,即将更新模型参数的新增分量的初始值设置为0。然后利用上一章提出的高阶反向传播算法计算更新的高阶自动编码模型的最终参数。
根据以上分析,基于增加隐藏层神经元的自动编码机结构更新算法的主要步骤如下:
(1)根据公式(43)更新高阶自动编码模型参数结构,对网络参数进行初始化;
(2)利用前向传播计算隐藏层神经元输出值与模型输出值
(3)计算网络模型输出值与输入数据X的差值Δx及误差函数 J ( X , θ ~ ) = 1 2 Δx T · Δx ;
(4)利用高阶反向传播算法计算误差函数对模型参数的偏导数;
(5)利用梯度下降法更新网络参数;
(6)重复步骤2)到步骤5)直至收敛。
增加隐藏层神经元的自动编码机结构更新算法将新引入的参数与原始参数结合作为更新的高阶自动编码模型的初始参数,充分利用原始参数提供的知识,加快参数求解的收敛速度,使得模型快速收敛,实时的学习大数据特征;从算法的步骤中可知,基于增加隐藏层神经元的结构更新算法主要采用高阶反向传播算法求解网络误差函数对网络参数的偏导数,因此算法的时间复杂度与高阶反向传播算法时间复杂度相同,每次迭代的计算复杂度近似为O(n),n为网络中的参数数目。
结合本发明的方案,进行实验分析如下:
为了验证本发明的有效性,将用增量式深度计算模型和基本的深度计算模型模型进行对比,验证增量式深度计算模型的有效性。实验数据集采用STL-10和CUAVE两个典型的分类数据集。
在基于张量的数据表示模型中,STL-10数据集中的每张图片被表示成一个三阶张量。由于STL-10数据集的训练集和测试集数据特征变化不明显,参数更新量很小,仅需要通过参数更新即可使得更新的网络模型学习新数据的特征。因此,本发明使用STL-10数据集验证基于一阶近似的参数增量式更新算法的有效性。通过适应性、保持性和更新效率进行验证。
为了验证增量式深度计算模型的有效性,根据STL-10数据集设计如下三个子集:
(1)S0:包含500张训练图片的预训练数据集。
(2)S1:从测试数据集中随机选择400张图片作为增量式训练数据集。
(3)S2:从测试数据集中选择剩余的400张图片作为测试数据集。
利用上述三个数据子集训练如下四种参数:
(1)θ(TAE):在数据集S0上执行基本的深度计算模型,获得模型的参数θ。
(2)ITAE-1:以θ作为原始参数,在数据集S1上执行基于一阶近似的支持增量更新的深度计算模型,获得增量式模型的更新参数ITAE-1。
(3)TAE-2:在数据集S0+S1上执行基本的深度计算模型,获得参数TAE-2。
(4)TAE-3:在数据集S2上执行基本的深度计算模型,获得参数TAE-3。
首先以S2作为测试数据集,通过平均平方误差(MSE)验证上述4个参数对这S2分类的正确性。该实验的目的是验证四个参数对新数据的适应能力,即更新模型学习处于动态变化中的大数据特征方面的适应性,平均平方误差越小,说明更新模型对新数据的适应性越强。重复以上实验过程5次,实验结果如图3所示。平均的平方误差统计结果如表1所示。
表1 平均平方误差统计结果
从实验结果可以看出,以θ作为参数对S2进行分类时,得到的MSE最大。这是由于基本的深度计算模型是一种静态学习模型,一旦参数确定后,便不再进行更新,因此难以有效学习新数据的特征。与基本深度计算模型不同,增量式深度计算模型以增量的方式对参数进行不断地更新,使得模型能够学习新数据的特征。因此以ITAE-1作为参数对S2进行分类时,得到的MSE明显小于θ,这表明增量式深度计算模型在对参数进行更新后,能够适应新数据的变化,有效学习新数据的特征。同时,可以看到以TAE-2作为参数对S2进行分类获得的MSE接近于TAE-1,这是因为TAE-2是通过对新数据实例与原始数据整体执行基本深度计算模型获得的结果,包含了新数据实例的信息,因此以TAE-2作为参数,对新数据进行分类获得了较好的结果。与此同时,以TAE-3作为参数对S2进行分类时,获得的MSE最小。
接下来,以S0作为测试数据集验证四个参数对S0分类的有效性。实验目的是验证四个参数对历史数据的保持性,平均平方误差越小,说明更新模型对历史数据的保持性越强。重复实验5次,实验结果如图4所示。平均平方误差的统计结果如表2所示。
表2 平均平方误差统计结果
以上实验结果表明,以θ作为参数对S0进行分类时,得到的MSE最小。这是由于θ是利用S0进行学习获得的参数,因此对S0进行分类时,获得最佳的分类效果。ITAE-1与TAE-2其包含了测试数据的信息,对S0进行分类时,结果比TAE-θ稍差。但是从实验结果中可以看出,ITAE-1与TAE-2作为参数对S0进行分类时,得到的MSE依然很低,表明两种算法对历史数据的特征学习具有良好的保持性,依然能够有效的学习历史数据特征。然而以TAE-3作为参数对S0进行分类时,获得的MSE明显高于其他三个参数,这是由于TAE-3是对新增数据进行训练获得的结果,并不包含S0的特征信息,因此在对历史数据进行分类时效果最差。
上述两个实验结果表明本发明提出的算法通过参数的更新使得更新模型能够有效的学习新数据的特征,同时有效的保持了网络结构的原始参数。
接下来,比较ITAE-1、TAE-2和TAE-3的训练时间,如图5所示。图5的显示结果表明,增量式深度计算模型训练参数ITAE-1所花费的时间最少,这是因为增量式深度计算模型在模型的原始参数之上,通过一次近似直接求出参数的增量对参数进行更新,无需进行多次迭代。相比之下,TAE-2和TAE-3是通过在不同数据集上执行基本深度计算模型得到的,因此执行时间远大于获得ITAE-1参数所需要的时间。其中TAE-2所花费的时间大于TAE-3所花费的时间,因为得到TAE-2的数据集中的数据比执行TAE-3的数据集中的数据多。总之,对于只需要对参数进行更新的网络更新模型而言,本发明提出的算法具有最高的更新效率。
综上所述,只有本发明提出的算法同时满足增量式学习的三个特性:(1)不需要对原始数据重新训练;(2)有效的学习新数据的特征,即对新数据的适应性;(3)尽可能的保持原始知识,有效学习原始数据的特征,即对历史数据的保持性;在更新参数过程中,充分利用模型的原始知识,不需多次迭代,提高参数更新效率,最大程度上满足动态变化的大数据特征的实时性。
在这个实验中,将利用CUAVE这个数据集验证基于增加隐藏层神经元的结构更新算法的有效性。
实验过程如下:首先在训练集上执行基本的深度计算模型,获得初始参数θ。接下里从测试集中随机选择一部分作为新增训练集,在参数θ的基础上训练本章提出的基于增加隐藏层神经元的结构更新算法,获得参数θ′和新的模型结构。将测试集中剩余的数据作为测试集1,计算两个参数对应的平均平方误差(MSE),通过比较MSE比较两种方法学习新数据特征的能力,即对新数据的适应性。重复实验5次,实验结果如图6所示。
平均统计结果如表3所示。
表3 平均平方误差统计结果
从实验结果中可以看出,以θ为参数对测试集1进行分类,MSE的平均值为0.10左,相比之下,以θ′为参数对测试集1进行分类,MSE的平均值为0.06左右。由于基本的深度计算模型是一种静态的学习模型,在新的数据到来之后,并不会对模型的结构和参数进行更新,没有实时的更新模型知识,无法有效的学习新数据的结构,因此在对测试数据集进行分类时,MSE较高。本章提出的增量式深度计算模型可以根据新数据的特征分布,动态调整模型的结构与参数,有效学习处于动态变化之中大数据的特征,因此以θ′为参数对测试集1进行分类得到的平均平方误差明显低于以θ为参数对测试集进行分类获得平均平方误差。另外,在多次重复实验中,以θ′为参数对测试集1进行分类时,最差的情况下得到MSE为7.8%,这一数值低于以θ为参数对测试集进行分类时得到的最好情况,即8.6%。充分说明本发明提出的基于结构更新的增量式学习模型能够适应新数据的变化,有效的学习新数据的特征。
接下来,以训练数据集作为测试数据集2,计算两个参数对应的平均平方误差(MSE),通过比较MSE验证本发明提出的算法的保持性,即学习历史数据特征的能力。实验结果如图7所示。平均统计结果如表4所示。
表4 平均平方误差统计结果
从以上实验结果可以看出,尽管以θ′为参数对测试集2进行分类所得到的MSE高于以θ为参数对测试集2进行分类得到的MSE,然而二者相差不大,这是因为本发明在更新模型结构与参数时,以模型的原始知识为基础,在原始结构和参数的基础上对模型进行更新。更新后的模型结构和参数都包含了历史数据的特征信息,因此本发明提出的算法对模型进行更新后,更新的模型仍然能够有效的学习历史数据的特征,即更新的模型具有很好的保持性。
上述两个实验结果表明,本发明提出的基于结构更新的增量式学习模型能够有效的适应新的数据变化,即有效的学习动态变化的大数据特征;同时有效的保持了对原始知识的保持性,即更新的模型依然能够有效的学习历史数据的特征。
接下来,验证增量式深度计算模型的收敛性。作为对比,在新增的数据集上直接执行基本深度计算模型算法得到参数θ″。将增量式深度计算模型和基本深度计算模型进行对比,二者在新增数据集上训练参数时采用相同的结构。实验结果如图8所示。
从图8可以看出,在模型模型结构相同时,在新增数据集上直接执行基本深度计算模型平均需要200次迭代才能收敛,而增量式深度计算模型只需要100次迭代就可以收敛,收敛速度远远比基本深度计算模型快。另一方面,基本的深度计算模型算法容易受到数据集和初始化的影响,因此迭代次数不稳定,本发明在更新模型时,结合原始参数对更新后的模型进行初始化,充分利用原有知识,因此在学习新的数据特征的时候,能够快速收敛且收敛次数稳定,最大程度上满足动态变化大数据特征学习的实时性要求。

Claims (1)

1.一种支持增量更新的深度计算模型设计方法,其特征在于如下步骤:
(1)计算静态参数
通过将自动编码机扩展到高维张量空间,并通过反向传播算法得到静态参数;
(2)参数更新
在不改变网络连接结构的前提下,根据新增数据的特征,将模型的参数由θ更新为θ+Δθ,使得更新后的参数能够学习新增数据的特征;具体步骤如下:
通过前向传播计算高阶自动编码模型的输出值
计算高阶自动编码模型的输出值与x的差值Δx;
通过高阶反向传播算法计算高阶自动编码模型输出值对原始参数θ的偏导数
计算高阶自动编码模型的参数增量Δθ,将模型的参数更新为θ+Δθ;
(3)模型结构更新
通过不断增加隐藏层神经元数目的方式来更新网络模型,实现对高速动态变化的数据特征提取;具体步骤如下:
(1)更新高阶自动编码模型参数结构,对网络参数进行初始化;
(2)利用前向传播计算隐藏层神经元输出值与模型输出值
(3)计算网络模型输出值与输入数据X的差值Δx及误差函数 J ( X , θ ~ ) = 1 2 Δx T · Δx ;
(4)利用高阶反向传播算法计算误差函数对模型参数的偏导数;
(5)利用梯度下降法更新网络参数;
(6)重复(2)至(5)直至收敛。
CN201510337280.XA 2015-06-17 2015-06-17 一种支持增量更新的深度计算模型设计方法 Pending CN104915566A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510337280.XA CN104915566A (zh) 2015-06-17 2015-06-17 一种支持增量更新的深度计算模型设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510337280.XA CN104915566A (zh) 2015-06-17 2015-06-17 一种支持增量更新的深度计算模型设计方法

Publications (1)

Publication Number Publication Date
CN104915566A true CN104915566A (zh) 2015-09-16

Family

ID=54084627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510337280.XA Pending CN104915566A (zh) 2015-06-17 2015-06-17 一种支持增量更新的深度计算模型设计方法

Country Status (1)

Country Link
CN (1) CN104915566A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106019950A (zh) * 2016-08-09 2016-10-12 中国科学院软件研究所 一种手机卫星自适应姿态控制方法
CN110689359A (zh) * 2019-09-30 2020-01-14 支付宝(杭州)信息技术有限公司 对模型进行动态更新的方法及装置
CN111985601A (zh) * 2019-05-21 2020-11-24 富士通株式会社 用于增量学习的数据识别方法
WO2021037168A1 (zh) * 2019-08-27 2021-03-04 中兴通讯股份有限公司 一种数据同步的方法、装置和网络管理系统
CN112785111A (zh) * 2019-11-11 2021-05-11 北京京邦达贸易有限公司 生产效率预测方法、装置、存储介质与电子设备
CN114997325A (zh) * 2022-06-20 2022-09-02 上海电器科学研究所(集团)有限公司 一种基于网络协同的深度学习算法管理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103676649A (zh) * 2013-10-09 2014-03-26 江苏师范大学 局部自适应小波神经网络训练系统、设备及方法
CN104200087A (zh) * 2014-06-05 2014-12-10 清华大学 用于机器学习的参数寻优及特征调优的方法及系统
CN104598552A (zh) * 2014-12-31 2015-05-06 大连钜正科技有限公司 一种支持增量式更新的大数据特征学习的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103676649A (zh) * 2013-10-09 2014-03-26 江苏师范大学 局部自适应小波神经网络训练系统、设备及方法
CN104200087A (zh) * 2014-06-05 2014-12-10 清华大学 用于机器学习的参数寻优及特征调优的方法及系统
CN104598552A (zh) * 2014-12-31 2015-05-06 大连钜正科技有限公司 一种支持增量式更新的大数据特征学习的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106019950A (zh) * 2016-08-09 2016-10-12 中国科学院软件研究所 一种手机卫星自适应姿态控制方法
CN106019950B (zh) * 2016-08-09 2018-11-16 中国科学院软件研究所 一种手机卫星自适应姿态控制方法
CN111985601A (zh) * 2019-05-21 2020-11-24 富士通株式会社 用于增量学习的数据识别方法
WO2021037168A1 (zh) * 2019-08-27 2021-03-04 中兴通讯股份有限公司 一种数据同步的方法、装置和网络管理系统
CN110689359A (zh) * 2019-09-30 2020-01-14 支付宝(杭州)信息技术有限公司 对模型进行动态更新的方法及装置
CN112785111A (zh) * 2019-11-11 2021-05-11 北京京邦达贸易有限公司 生产效率预测方法、装置、存储介质与电子设备
CN114997325A (zh) * 2022-06-20 2022-09-02 上海电器科学研究所(集团)有限公司 一种基于网络协同的深度学习算法管理系统
CN114997325B (zh) * 2022-06-20 2024-04-26 上海电器科学研究所(集团)有限公司 一种基于网络协同的深度学习算法管理系统

Similar Documents

Publication Publication Date Title
CN104915566A (zh) 一种支持增量更新的深度计算模型设计方法
KR102492318B1 (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
WO2022134391A1 (zh) 融合神经元模型、神经网络结构及训练、推理方法、存储介质和设备
CN107730039A (zh) 配电网负荷预测的方法及系统
CN104636801A (zh) 一种基于优化bp神经网络的预测输电线路可听噪声方法
DeGennaro et al. Scalable extended dynamic mode decomposition using random kernel approximation
CN104680236A (zh) 核函数极限学习机分类器的fpga实现方法
CN105512755A (zh) 一种基于分解的多目标分布估计优化方法
CN114006370A (zh) 一种电力系统暂态稳定分析评估方法及系统
CN108009635A (zh) 一种支持增量更新的深度卷积计算模型
CN113326884A (zh) 大规模异构图节点表示的高效学习方法及装置
Rahaman et al. Bayesian optimization based ANN model for short term wind speed forecasting in newfoundland, Canada
Lu et al. High-speed channel modeling with deep neural network for signal integrity analysis
Zhongda et al. Approach for time series prediction based on empirical mode decomposition and extreme learning machine
Zivkovic et al. Optimized recurrent neural networks with attention for wind farm energy generation forecasting
Szu Reconfigurable neural nets by energy convergence learning principle based on extended McCulloch-Pitts neurons and synapses
CN112488248A (zh) 一种基于卷积神经网络的代理模型的构建方法
Phatai et al. Cultural algorithm initializes weights of neural network model for annual electricity consumption prediction
Lima et al. A model to forecast wind speed through singular spectrum analysis and artificial neural networks
Song et al. Equipment spare parts demand forecasting model based on grey neural network
Wang et al. An efficient deep belief network with fuzzy learning for nonlinear system modeling
Xu et al. A fast incremental method based on regularized extreme learning machine
Sathasivam et al. Boltzmann machine and reverse analysis method
Qin et al. Adachi-like chaotic neural networks requiring Linear-time computations by enforcing a tree-shaped topology
Yuan BP neural network optimization model based on nonlinear function transformation approach

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150916

WD01 Invention patent application deemed withdrawn after publication