CN109034387A - 一种基于伪逆学习快速训练自编码器的近似方法 - Google Patents
一种基于伪逆学习快速训练自编码器的近似方法 Download PDFInfo
- Publication number
- CN109034387A CN109034387A CN201810700269.9A CN201810700269A CN109034387A CN 109034387 A CN109034387 A CN 109034387A CN 201810700269 A CN201810700269 A CN 201810700269A CN 109034387 A CN109034387 A CN 109034387A
- Authority
- CN
- China
- Prior art keywords
- weight
- matrix
- neural network
- encoder
- training
- 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
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/08—Learning methods
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
本发明涉及一种构建深度神经网络的基本模块自编码器训练方法,目的是为了克服现有深度神经网络训练算法的不足,提供一种快速训练自编码神经网络的近似方法。所述快速训练自编码器的近似方法不采用奇异值分解的方法计算编码器权重,而是采用有偏阶跃激活函数,将隐层输出矩阵近似为矩形单位阵,再采用伪逆学习算法计算解码器权重矩阵。经过权重捆绑策略得到编码器权重的估计值,再计算输入矩阵的特征值,用特征值将编码器权重归一化处理。通过归一化处理,使得隐层输出矩阵近似保持不变,提高权重捆绑的稳定性。所述快速训练自编码神经网络的近似方法不需要通过截断奇异值分解来计算编码器权重,不需要设置控制参数,计算速度快。重构误差容易控制,易用性强,有利于硬件实现。
Description
技术领域
本发明涉及一种机器学习领域里自编码器的快速学习方法,特别涉及一种基于伪逆学习算法的不需要计算奇异值分解(SVD-Free)的自编码器快速训练的近似方法。
背景技术
目前,以深度学习为代表的人工智能技术中,深度网络模型通常由基本单元组合而成。对前馈深度神经网络结构,这些模块包括受限玻尔兹曼机 (RBM)、卷积神经网络(CNN)和自编码器(AE)。自编码器是常用的构造深度神经网络的基本单元之一,其基本思想是令网络的输出与输入相等,训练过程中不需要标记数据,通过加上某种约束,可以以无监督的方式直接从原始数据中进行特征学习。在结构上自编码器是一种单隐层的前馈神经网络模型,由编码器(encoder)和解码器(decdoer)构成,编码器将输入向量x编码为隐层特征向量y,通过线性映射和非线性激活函数实现:
y=f(Wex+θ). (1)
{We,θ}为编码器的参数集,包括连接权重矩阵和偏置,f(·)表示隐层神经元的激活函数,通常为非线性或线性分段连续函数。解码器将隐层特征y重构为输入空间的向量z:
z=fd(Wdy+θ′), (2)
{Wd,θ′}为解码器的参数集,包括连接权重矩阵和偏置,fd(·)为输出层神经元的激活函数,本发明采用线性函数,同时将偏置参数并入权重矩阵构成增广矩阵。
训练自编码器的过程就是优化输入信号重构误差(损失)函数的过程,使得 zi=W(f(WTxi))≈xi。可以形式化为如下损失函数:
E=-log p(z|x).
如果损失服从高斯分布,则以如下平方误差和作为损失函数:
上式中N为样本数。为表示简洁,令H为隐层神经元输出矩阵,每一列对应一个输入样本,具体地,矩阵H中的第i列向量hi=f(Wexi);W为网络输出权重,Z为期望的输出或数据的标签。
在数据含有噪声时,如果网络结构较为复杂,最小平方误差极小化的优化目标将有可能使得所学习的网络映射函数过拟合到噪声数据,导致网络的泛化能力下降。为了避免过拟合,在引入权重衰减(weight decay)正则化后,对神经网络网络的优化目标为:
这时候容易计算出H+=HT(HHT+λI)-1,其中,λ>0是正则化项系数。
自编码器可以被用作构建深度网络的基本单元。在堆栈自编码器中,前一层自编码器的输出作为后一层自编码器的输入。网络最后一层的输出可作为原始数据的特征。在特定的学习任务中(例如分类问题),可以再将输出的特征作为分类器的输入,再对分类器以有监督的方式进行训练。
在经典的深度学习框架下面,自编码器一般使用梯度下降算法的或其变种进行训练。由于这些算法根据每个单独的训练样本(或一小部分样本)来迭代更新模型参数,往往要经过多次迭代才有可能得到优化问题的解,当数据量很大时,训练过程极其耗时。其次,梯度下降训练算法涉及众多控制参数,如最大重复迭代次数(maximum epoch),学习步长(step length),权重衰减因子(weight decay),动量因子(momentum),这些参数直接影响最终的训练结果,但如何设置这些控制参数却缺少理论依据。这些参数选择的不恰当时,梯度下降过程中容易陷入局部极小值,无法学习到有用的特征。在前期的研究工作中,为克服梯度下降优化算法所产生的上述问题,我们发明了伪逆学习自编码器快速训练方法。伪逆学习算法(Pseudoinverse Learning Algorithm,PIL)是郭平在1995 年提出的一种用于训练单隐层前馈神经网络(Guo et al,“An Exact Supervised Learning for a Three-Layer Supervised Neural Network”,ICONIP'95,pp.1041-1044, 1995.),在2001年扩展到多层神经网络的快速算法(Guo et al,“Pseudoinverse Learning Algorithm forFeedforward Neural Networks”,in Mastorakis Eds., Advances in Neural Networksand Applications,WSES Press(Athens)pp.321-326, 2001.)。伪逆,或Moore-Penrosepseudoinverse,又称广义逆,是对逆矩阵的推广。伪逆学习算法的基本思想是权重矩阵采用相应输入的伪逆矩阵,替代传统的梯度下降优化算法,然后通过计算伪逆解近似求解网络的输出权重。伪逆学习算法仅使用基本的矩阵运算,如矩阵内积和伪逆运算,能够直接计算优化目标的解析解,无需迭代优化的过程,而且无需繁琐的调节超参数过程,因此学习效率较之于误差反向传播等其它基于梯度下降算法的效率更高。前期所发明的方法中,采用了奇异值分解(SVD)算法计算编码器权重。用N表示输入样本数目,d表示输入样本的维度,则SVD方法的计算复杂度的量级是O(dN2),对大型矩阵的计算速度还是无法满足实时学习的要求。
发明内容
本发明的目的在于克服现有的伪逆学习自编码器训练算法的不足。本发明为解决其技术问题采用的技术方案如下:
一种快速训练自编码器的近似方法,包括如下基本设计思想:
1)采用伪逆学习算法训练单隐层神经网络。具体地,在输出层采用线性激活函数时,对神经网络网络的优化目标可定义为:
其中,矩阵H为隐层神经元输出,每一列对应一个输入样本,具体地,矩阵H中的第i列向量hi=f(Wexi);W为网络输出权重,Z为期望的输出或数据的标签。由于上式存在最优近似的伪逆解W=ZH+(这里H+代表矩阵H的伪逆),因此伪逆学习算法的优化目标等价于:
从上可以看出,如果H+H接近单位矩阵,即给定误差ε,在条件满足时,则达到最小值,网络输出权重可直接计算为W=ZH+。而H+H可以看作是投影算子,可以将网络的优化目标转换为找到这样的投影算子,使得输出误差最小。
在数据含有噪声时,最小平方误差极小化的优化目标将有可能使得所学习的网络映射函数过拟合到噪声数据,导致网络的泛化能力下降。为了避免过拟合,在引入权重衰减正则化后,对神经网络的优化目标为公式(4):
这时候容易计算出H+=HT(HHT+λI)-1,λ>0是正则化项系数,通过调剂正则化参数,可使得网络的泛化能力得到提高。
由于自编码器的结构本质上可以视为输入等于输出的单隐层神经网络,因此,如果将数据本身作为其输出或标签,即Z=X,那么伪逆学习的计算框架也可以被用于训练自编码器。由于自编码器的目标是从原始数据中学习特征,因此使用伪逆学习算法训练自编码器时不必对数据进行精确重构,仅需要两次伪逆计算就可以得到编码器和解码器的连接权重。
2)截断SVD是一种正则化的方法,强制降维操作可以避免恒等映射而实现特征学习,自编码器的隐层神经元个数小于原始数据输入向量x的维度;因此,不失一般性,本发明中将隐层神经元的个数p设置为小于原始输入数据中向量x的维度d。本发明在训练自编码器时,首先计算解码器权重,然后将解码器连接权重矩阵的转置作为编码器的权重矩阵。这是利用权重捆绑减少权重参数,降低模型的自由度,并实现了快速学习。
与现有技术相比,本发明具有如下有益效果:首先,与传统的基于梯度下降的训练算法相比,使用伪逆学习算法训练自编码器不需要迭代优化,可以直接计算优化目标函数的解析解,因此计算速度较快。其次,伪逆学习算法不需要设置包括如最大重复迭代次数(maximum epoch),学习步长(step length),动量因子(momentum)在内的一系列控制参数,因此本发明中的训练方法易用性强。前期所发明的方法中,采用了SVD算法计算编码器权重,而本发明中通过权重捆绑技术,采用有偏阶跃函数做近似计算,无需使用SVD算法计算编码器权重,极大提高了计算速度。另外,本发明中的训练方法在计算过程中无迭代,主要使用矩阵内积等基本运算,因此便于硬件实现,可以固化为专用的伪逆学习自编码器网络芯片。
附图说明:
图1是一种快速训练伪逆学习自编码网络的方法流程图;
图2是一种带偏移的阶跃激活函数示意图。
具体实施方式
本发明为克服现有对伪逆学习自编码神经网络训练算法的不足,提供一种快速训练自编码网络的近似方法。为了使本发明的目的、技术方案及优点更加清楚明白,以下结合具体实施例及附图1对该方法作进一步详细描述。应当理解,此处的具体实施例的描述仅用以解释本发明,并不用于限定本发明。
具体地,请参阅图1,是本发明实施例的一种快速训练伪逆学习自编码网络的方法流程图。对于由N个d维的样本组成训练样本集X∈Rd×N,表示为矩阵 X=[x1,x2,...,xN],其中代表第i个训练样本。本发明实施例的基于伪逆学习的自编码器的快速训练方法包括以下基本步骤:
步骤1)采用伪逆学习算法计算解码器连接权重Wd=XH+。
步骤2)对编码器权重与解码器权重进行捆绑,令
步骤3)对编码器权重矩阵进行归一化处理:其中U是矩阵XXT的左特征向量矩阵,是其非零特征值。
步骤4)自编码器对训练数据的输出H=f(WeX)。
在步骤1)中,采用伪逆学习算法训练自编码器的解码器权重的具体步骤包括:
步骤1a.对训练自编码器的输入数据用矩阵X表示,X∈Rd×N。设置自编码器的隐层单元个数p<d。通常输入矩阵的秩r≤d,训练样本数N>>d。因此为了提高计算速度,本发明中采用一种近似方法计算解码器权重。
步骤1b.在前期的发明中,通过SVD分解计算编码器权重We后,将X映射到p维的隐层特征空间:
其中,H∈Rp×N代表自编码器的隐层神经元输出矩阵,作为自编码器的编码器连接权值We的初始值,实现将输入矩阵X映射到隐层特征空间。f(·)为激活函数。本实施例中采用类似于带偏移的阶跃激活函数,定义为:
其中δm是一个较小的正数,与具体的数据有关,该函数的示意图参见图2。本实施例中首先不通过SVD分解技术计算编码器权重进行映射,而是对隐层神经元输出矩阵H采用如下的近似计算形式:
即对隐层神经元输出矩阵H采用了矩形单位阵近似。
在前期的伪逆学习自编码器训练方法中,计算X的伪逆矩阵X+是通过SVD 分解实现的。容易由X=UΣVT得到
X+=VΣ'UT,
对矩阵V进行截断,只保留V矩阵的前p行,则截断的矩阵近似后的伪逆矩阵表示为
其中为V的前p行,Σ是r个奇异值组成的对角阵,Σ'为Σ中非零奇异值的倒数组成的对角矩阵。
前期采用伪逆学习后隐层输出矩阵H的元素其中依据SVD分解的基本原理,V矩阵是正交的,如果i=j有如果i≠j则有因此,在p=r=d=N特殊情况时,可严格证明H矩阵精确等于单位矩阵。另一方面说明,近似误差随着N>d增大,r 较小,p较小时,误差会增大。
在矩阵H的对角线上的元素里没有作用激活函数时,由于其元素非负性,显然大于零。而非对角线上则有由于正交性的约束,该等式对任意 d≥r≥1均成立意味着两边等于0或是趋于零的非常小的数值。则依据定义的阶跃激活函数,如果选取适当的δm,则隐层输出矩阵H中的非对角元素将大多数为零,而对角线上的大多数元素值为1。因此对H采用矩形单位阵近似的误差在N~d并且满秩时将非常小。
根据伪逆学习算法的基本思想,由于WdH=X存在最优近似的伪逆解 Wd=XH+,这里的伪逆矩阵采用权重衰减正则化的解H+=HT(HHT+λI)-1来计算。因此,自编码器的解码器权重为Wd=XHT(HHT+λI)-1。
依据上述定义与近似方法,容易计算自编码器的解码器权重Wd:
在步骤2)中,对编码器权重与解码器权重进行捆绑,
在步骤3)中,对编码器权重矩阵进行归一化处理时需要计算矩阵XXT的左特征向量与相应的非零特征值。在样本个数远远大于样本维数时,由于我们需要计算的是d×d维矩阵的特征向量与特征值,可直接用QR分解计算。
至此计算出了编码器权重We和解码器权重Wd,实现了对伪逆学习自编码器的快速训练。
在步骤4)中,自编码器对训练数据的输出在采用公式(9)的近似下,自编码器的输出矩阵为:
容易看出重构矩阵是输入矩阵在p维子空间的投影,尺度上缩小了 1/(1+λ)。
在选取p=d时,容易分析出重构误差为:
显然重构误差与正则化参数,以及样本的性质有关。通常训练神经网络时要对输入数据进行归一化处理,我们只需要调节正则化参数就可控制重构误差的大小。
测试时,自编码器对测试数据X'的输出
这里H'=f(WeX')。
在具体的学习任务,如分类或预测中,可以在堆叠自编码器的网络输出再增加一层感知器用于最终的分类或预测,同样可以使用伪逆学习算法训练最后一层的输出权重。
通过步骤1)和2)计算,通过堆叠得到的深度神经网络也可以结合具体的学习任务,选择与其它模型组合使用。例如在分类或回归问题中,可选择深度神经网络输出的特征作为分类器或回归模型的输入,使用带有类别标签的训练样本,对分类器或预测模型进行微调,最终得到用于具体学习任务的深度神经网络。
为了证明本发明切实可行,我们使用机器学习领域常见的图像识别任务进行对比实验。实验中使用MNIST数据集。MNIST是一个手写数字识别的数据集,在人工智能研究领域被作为一种基准数据验证算法的性能。MNIST数据集包括60000张0-9的手写体数字图像。60000张图像通常分为50000个训练样本和10000个测试样本。每张图像都经过标准化,并被对齐到28×28=784个像素大小的图像块上。对该数据集分析结果表明,用编码器权重将输入数据投影变换到隐层输入空间后,隐层输出矩阵对角线上的元素的平均值为0.9145,方差为0.0782.而非对角线上元素的平均值为2.60000×10-5,方差为2.59989×10-5。在该实例中,取δm=0.008,经过有偏阶跃激活函数后,即可保证非对角线上 99.9974%的元素被抑制为零。
表1 MNIST数据集上的对比实验结果
训练方法 | 训练耗时(秒) | 训练精度 | 测试精度 |
本发明方法 | 31.02 | 96.78 | 95.69 |
计算SVD方法 | 42.55 | 97.05 | 95.44 |
DBN | 688 | 99.02 | 98.1 |
从对比实验结果可以看出,本发明的方法在识别精度上与DBN模型相比,在测试精度上虽然低了2.41%,但是在计算速度上提升了约22倍,在计算效率上具有明显的优势。实验结果表明,本发明的方法能够取得和传统方法相接近的识别性能,同时能够大幅提高神经网路的训练速度,适用于大规模数据集的处理以及计算资源有限的特定应用场景中,例如在今后要发展的边缘计算领域。
对所公开的实施例的上述说明,使熟悉本领域的专业技术人员能够实现或使用本发明。对实施例的修改对本领域的专业技术人员来说将是显而易见的。本专利中所定义的一般原理可以在不脱离本发明的基本思想或适用范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的实施例,凡是利用本发明的设计思路,做一些简单变化的方案,都应计入本发明的保护范围之内。
Claims (6)
1.一种快速训练自编码神经网络的方法,其特征在于:首先采用伪逆学习算法训练自编码器的解码器权重,再利用权重捆绑计算编码器权重矩阵。
2.根据权利要求1所述的一种快速训练自编码器神经网络的近似方法,其特征在于,隐层输出矩阵通过有偏阶跃激活函数后近似为矩形单位阵,然后通过计算伪逆解近似求出解码器权重矩阵。
3.根据权利要求1所述的一种快速训练自编码器神经网络的近似方法,其特征在于,根据权利要求2计算得到的解码器权重,通过权重捆绑得到编码器权重的初始值。再利用输入矩阵的特征值对其进行归一化变换,得到编码器权重的最终值。
4.根据权利要求2和3所述的计算编码器和解码器权重过程中,无需计算输入矩阵的奇异值分解。在计算自编码器的解码器权重时,引入了正则化项防止病态问题解的不稳定性。
5.根据权利要求1或4所述的一种快速训练自编码器神经网络的近似方法,其特征在于,可通过调节正则化参数控制重构误差的大小。
6.根据权利要求1或2所述的一种快速训练自编码器神经网络的近似方法,其特征在于,可通过调节阶跃函数的有偏度δm控制近似误差的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810700269.9A CN109034387A (zh) | 2018-06-29 | 2018-06-29 | 一种基于伪逆学习快速训练自编码器的近似方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810700269.9A CN109034387A (zh) | 2018-06-29 | 2018-06-29 | 一种基于伪逆学习快速训练自编码器的近似方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109034387A true CN109034387A (zh) | 2018-12-18 |
Family
ID=65522121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810700269.9A Pending CN109034387A (zh) | 2018-06-29 | 2018-06-29 | 一种基于伪逆学习快速训练自编码器的近似方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109034387A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064633A (zh) * | 2019-11-28 | 2020-04-24 | 国网甘肃省电力公司电力科学研究院 | 一种云边协同电力信息通信设备自动化测试资源分配方法 |
CN112437349A (zh) * | 2020-11-10 | 2021-03-02 | 杭州时趣信息技术有限公司 | 一种视频流推荐方法及相关装置 |
CN117933499A (zh) * | 2024-03-22 | 2024-04-26 | 中国铁建电气化局集团有限公司 | 高速铁路接触网的入侵风险预测方法、装置和存储介质 |
-
2018
- 2018-06-29 CN CN201810700269.9A patent/CN109034387A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064633A (zh) * | 2019-11-28 | 2020-04-24 | 国网甘肃省电力公司电力科学研究院 | 一种云边协同电力信息通信设备自动化测试资源分配方法 |
CN111064633B (zh) * | 2019-11-28 | 2021-09-24 | 国网甘肃省电力公司电力科学研究院 | 一种云边协同电力信息通信设备自动化测试资源分配方法 |
CN112437349A (zh) * | 2020-11-10 | 2021-03-02 | 杭州时趣信息技术有限公司 | 一种视频流推荐方法及相关装置 |
CN117933499A (zh) * | 2024-03-22 | 2024-04-26 | 中国铁建电气化局集团有限公司 | 高速铁路接触网的入侵风险预测方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Review of image classification algorithms based on convolutional neural networks | |
CN107480777A (zh) | 基于伪逆学习的稀疏自编码器快速训练方法 | |
CN113887610B (zh) | 基于交叉注意力蒸馏Transformer的花粉图像分类方法 | |
Rustamov et al. | Wavelets on graphs via deep learning | |
US20230306276A1 (en) | Generating and managing deep tensor neural networks | |
US10970631B2 (en) | Method and apparatus for machine learning | |
Newman et al. | Stable tensor neural networks for rapid deep learning | |
Yu et al. | Embedding with autoencoder regularization | |
CN107341510B (zh) | 基于稀疏正交的双图非负矩阵分解的图像聚类方法 | |
CN109086802A (zh) | 一种基于八元数卷积神经网络的图像分类方法 | |
CN109034387A (zh) | 一种基于伪逆学习快速训练自编码器的近似方法 | |
Peng et al. | CNN and transformer framework for insect pest classification | |
CN111797911B (zh) | 一种图像数据多标签分类方法 | |
CN104850533A (zh) | 一种带约束的非负矩阵分解方法及求解方法 | |
CN107609637A (zh) | 一种结合数据表示与伪逆学习自编码器的提高模式识别精度的方法 | |
Jiang et al. | Densely connected deep extreme learning machine algorithm | |
CN114611798A (zh) | 一种基于动态超图卷积神经网络的od客流预测方法 | |
CN114937173A (zh) | 一种基于动态图卷积网络的高光谱图像快速分类方法 | |
Du et al. | Discriminative representation learning with supervised auto-encoder | |
Sun et al. | Explicit guiding auto-encoders for learning meaningful representation | |
Lohit et al. | Learning invariant Riemannian geometric representations using deep nets | |
Anselmi et al. | Symmetry regularization | |
Ray et al. | Deep learning and computational physics (lecture notes) | |
Stock | Efficiency and redundancy in deep learning models: Theoretical considerations and practical applications | |
Yuan et al. | A novel hyperspectral unmixing model based on multilayer NMF with Hoyer’s projection |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |