CN110110845B - 一种基于并行多级宽度神经网络的学习方法 - Google Patents
一种基于并行多级宽度神经网络的学习方法 Download PDFInfo
- Publication number
- CN110110845B CN110110845B CN201910331708.8A CN201910331708A CN110110845B CN 110110845 B CN110110845 B CN 110110845B CN 201910331708 A CN201910331708 A CN 201910331708A CN 110110845 B CN110110845 B CN 110110845B
- Authority
- CN
- China
- Prior art keywords
- neural network
- level
- test
- width
- sample set
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 218
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012360 testing method Methods 0.000 claims abstract description 103
- 238000012549 training Methods 0.000 claims abstract description 78
- 238000012795 verification Methods 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 72
- 239000011159 matrix material Substances 0.000 claims description 42
- 239000013598 vector Substances 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 19
- 238000013501 data transformation Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 3
- 230000003190 augmentative effect Effects 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 230000001537 neural effect Effects 0.000 claims 2
- 238000013461 design Methods 0.000 claims 1
- 238000012163 sequencing technique Methods 0.000 claims 1
- 230000010354 integration Effects 0.000 abstract description 2
- 238000010200 validation analysis Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000007637 random forest analysis Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
本发明公开了一种基于并行多级宽度神经网络的学习方法,包括以下步骤:获取验证集,构建基分类器;对并行M级宽度神经网络的每级进行训练和验证,得到训练后的并行M级宽度神经网络和每级宽度神经网络对应的验证输出;通过统计计算得到每级宽度神经网络的决策阈值;通过测试集对验证后的并行多级宽度神经网络进行测试。本发明的神经网络具有多级结构,每级针对数据的不同部分进行学习,且可实现并行化训练和测试。每一级采用一种宽度神经网络在宽度方向进行特征学习;通过多个宽度神经网络作为基分类器在宽度方向的再次连接,实现两个宽度方向上的分类器集成;通过增加新一级的宽度神经网络实现网络的增量学习;且可实现并行化测试。
Description
技术领域
本发明属于人工智能及机器学习技术领域,具体涉及一种基于并行多级宽度神经网络的学习方法。
背景技术
随着以深度学***衡分布、异常获取样本、以及接近分类边界或者线性不可分的样本等。
在现有的深度学习模型里,简单样本和复杂样本均用相同的方式处理,降低了计算资源的使用效率。同时,现有深度学习网络比如卷积神经网络往往具有很多层,所有样本都要经过所有的网络层,在对网络进行泛化或者测试的时候会非常耗时。而早期的并行多级自组织网络在每一级只接收被上一级拒绝的经过非线性变换的样本,这些样本被变换到易于分类的其它空间,从而再一次进行分类。但是,如何实现高维数据针对不同难度的数据样本进行计算资源的调整和分配以提高学习分类的速度和效率这一问题并没有得到很好的解决。
发明内容
针对上述缺陷,本发明提供了一种基于并行多级宽度神经网络的学习方法,本发明的神经网络具有多级结构,每一级针对数据中的不同部分进行学习,且可实现并行化训练和测试。每一级采用一种宽度神经网络在宽度方向进行特征学习;通过多个宽度神经网络作为基分类器在宽度方向的再次连接,实现两个宽度方向上的分类器集成;通过增加新一级的宽度神经网络实现网络的增量学习;且可实现并行化测试,大大缩短了复杂样本的学习分类时间,提高网络运行效率。
为了达到上述目的,本发明采用以下技术方案予以解决。
(二)一种基于并行多级宽度神经网络的学习方法,并行多级宽度神经网络包括多级宽度神经网络,其中,每级宽度神经网络包含依次连接的输入层、隐藏层、决策层和输出层,所述决策层用于确定每个测试样本是否由当前级输出,所述学习方法包括以下步骤:
步骤1,获取原始训练样本集,构建并行M级宽度神经网络 Net1,…Netm,…,NetM(m=1,2…,M),每级宽度神经网络作为对应级的基分类器;通过对原始训练样本集进行M次数据变换,对应得到M个验证集 xv_1,…xv_m,…xv_M;
其中,原始训练样本集的样本总数为Ntr。
步骤2,采用原始训练样本集和M个验证集xv_1,…xv_m,…xv_M分别对并行M 级宽度神经网络的每级进行训练和验证,得到训练后的并行M级宽度神经网络和每级宽度神经网络对应的验证输出yv_m(m=1,2…,M);采用最小误差法得到每个验证输出yv_m对应的标签yv_ind_m,进而得到训练后的并行M级宽度神经网络的每级宽度神经网络的验证集的正确分类样本集yvc_m和错误分类样本集 yvw_m;
步骤3,对训练后的并行M级宽度神经网络的每级宽度神经网络的验证集的正确分类样本集yvc_m和错误分类样本集yvw_m分别进行统计计算,对应得到训练后的每级宽度神经网络的决策阈值Tm;将每级宽度神经网络的决策阈值 Tm作为对应级宽度神经网络的决策依据,得到决策阈值确定的并行M级宽度神经网络;
步骤4,获取测试集,将测试集作为决策阈值确定的并行M级宽度神经网络的输入数据并行输入给决策阈值确定的每级宽度神经网络进行测试,得到决策阈值确定的每级宽度神经网络的输出;获取每级宽度神经网络的误差向量,对决策阈值确定的每级宽度神经网络的输出进行判断,从而得到决策阈值确定的每级宽度神经网络的测试输出对应的标签ytest_ind_m。
本发明技术方案的特点和进一步的改进为:
(1)步骤1中,所述数据变换为通过弹性变换(Elastic)对原始样本集中的样本进行压缩或变形;或所述数据变换为通过仿射变换(Affine)对原始样本集中的样本进行旋转、翻转、放大或缩小。
(2)步骤2中,所述采用原始训练样本集和M个验证集xv_1,…xv_m,…xv_M分别对并行M级宽度神经网络的每级进行训练和验证,其包含以下子步骤:
子步骤2.1,将原始训练样本集作为第1级宽度神经网络Net1的输入样本,对第1级宽度神经网络Net1进行训练,得到训练后的第一级宽度神经网络。
子步骤2.2,采用第一验证集xv_1对训练后的第1级宽度神经网络进行验证,得到第1级宽度神经网络的验证集的错误分类样本集yvw_1。
子步骤2.3,将第一级宽度神经网络的错误分类样本集yvw_1作为第2级宽度神经网络的输入样本Av_1;再从原始训练样本集中随机抽取训练样本集Av_2,使总输入样本集{Av_1+Av_2}中的样本数等于原始训练样本集中的样本数,并将总输入样本集{Av_1+Av_2}作为第2级宽度神经网络的输入样本。
子步骤2.4,采用总输入样本集{Av_1+Av_2}对第2级宽度神经网络进行训练,得到训练后的第2级宽度神经网络;采用第二验证集xv_2对训练后的第2 级宽度神经网络进行验证,得到第2级宽度神经网络的验证集的错误分类样本集yvw_2。
依次类推,对第3级到第M级宽度神经网络分别进行训练,得到训练后的并行M级宽度神经网络和每级宽度神经网络的对应验证输出 yv_m(m=1,2…,M)。
(3)步骤2中,所述最小误差法为:
首先,设定原始训练样本集的总类别数为C,构建参考矩阵Rj(1≤j≤C)。
其中,参考矩阵Rj的第j行的元素都为1,其余元素都为0,每个参考矩阵Rj的维数为C×Ntr。
其次,根据训练后的每级宽度神经网络的验证输出yv_m,获取验证输出 yv_m与对应级的参考矩阵Rj之间的误差向量:
Jv_mj=||softmax(yv_m)-Rj||2,1≤j≤C;
其中,Jv_mj的维数为1×Ntr;yv_m的维数为C×Ntr。
最后,对验证输出yv_m与对应级的参考矩阵Rj之间的误差向量Jv_mj求最小值,得到训练后的每级宽度神经网络对应的类别标签yv_ind_m:
其中,yv_ind_m的维数为1×Ntr。
(4)步骤3中,所述统计计算包含以下子步骤:
子步骤3.1,设定训练后的并行M级宽度神经网络的第m级宽度神经网络的正确分类样本集和错误分类样本集分别为:yvc_m和yvw_m,正确分类样本集和错误分类样本集中的样本总数分别为:Nvc_m和Nvw_m,且Nvc_m+Nvw_m=Ntr,则正确分类样本集和错误分类样本集的误差分别为:
evc_m=||softmax(yvc_m)-tvc_m||2;
evw_m=||softmax(yvw_m)-tvw_m||2;
其中,tvc_m是m级宽度神经网络中正确分类样本yvc_m对应的真实标签, tvw_m是m级宽度神经网络中错误分类样本yvw_m对应的真实标签。
子步骤3.2,根据正确分类样本集yvc_m和错误分类样本集yvw_m,分别计算出正确分类样本集yvc_m的均值和方差分别为μc和σc;错误分类样本集yvw_m的均值和方差分别是:uw和σw;则正确分类样本集yvc_m和错误分类样本集yvw_m对应的高斯分布分别是:
正确分类样本集yvc_m和错误分类样本集yvw_m对应的高斯概率密度函数分别是:
子步骤3.3,根据错误分类样本集yvw_m的误差evw_m和方差σw,获得m级宽度神经网络的决策阈值Tm=min(evw_m)-ασw。
其中,α是一个常数,用来给出裕量,以使所有错误分类样本yvw_m在当前级被拒绝。
(5)步骤4中,所述获取测试集为:获取原始测试样本集xtest;通过M 次数据扩充,对应获取M组测试样本集xtest_1,...,xtest_m,...,xtest_M,即为测试集。
进一步地,所述数据扩充为:对所述原始测试样本集xtest中的每个样本分别进行NtestD次所述数据变换,对应得到NtestD个测试样本集,作为决策阈值确定的并行M级宽度神经网络的第m级宽度神经网络的测试集xtest_m。
其中,原始测试样本集Xtest中测试样本总数为Ntest_saples。
(6)步骤4中,所述获取每级宽度神经网络的误差向量包含以下子步骤:
子步骤4.1,将M组测试样本集xtest_1,xtest_2,...,xtest_M分别并行输入给决策阈值确定的并行M级宽度神经网络,对应得到决策阈值确定的每级宽度神经网络的NtestD个输出ytest_m_d,(d=1,2…NtestD)。
子步骤4.3,设定测试集的总类别数为C,构建参考矩阵Rj(1≤j≤C);获取验证输出yv_m与对应级的参考矩阵Rj之间的误差向量:
Jtest_mj=||softmax(ytest_m)-Rj||2,1≤j≤C;
其中,参考矩阵Rj的第j行的元素都为1,其余元素都为0,每个参考矩阵Rj的维数为C×Ntest_samples;Jtest_mj的维数为1×Ntest_samples,yv_m的维数为 C×Ntest_samples。
(7)所述对决策阈值确定的每级宽度神经网络的输出进行判断为:
当前级宽度神经网络的最小误差小于等于当前级决策阈值时,则判断为当前级为该输出的正确分类输出级:
min(Jtest_mj)≤Tm。
当前级宽度神经网络的最小误差大于当前级决策阈值时,则判断为当前级无法对该输出进行正确分类,将该输出转入下一级宽度神经网络进行测试,如此循环,直到该输出找到正确分类输出级:
min(Jtest_mj)>Tm。
其中,ytest_ind_m的维数为1×Ntest_samples。
与现有技术相比,本发明的有益效果为:
(1)本发明的神经网络具有多级基分类器,每一级用来学习数据集的不同部分样本,能够根据问题及数据集的复杂程度,自适应地确定神经网络的结构,实现计算资源的优化。
(2)本发明的神经网络具有增量学习的优点,在新的训练数据可用时,实现对当前神经网络的判断,根据判断结果,确定是否能对新增训练数据进行正确分类,若不能进行正确分离,则通过增加新的宽度径向基函数作为神经网络新的一级来学习新的样本,而无需重新训练整个网络。
(3)本发明的神经网络在测试的时候可以进行并行测试,也就是把测试数据同时给网络的所有级,由训练过程中得到的每一级的决策阈值来决定每个测试样本最终由哪一级的神经网络输出,并行测试过程大大减少了实际使用网络时候的等待时间。
(4)本发明的神经网络可作为一种通用的学习框架,具有很强的灵活性,其每一级可根据实际需要使用BP神经网络、卷积神经网络或者其他类型的分类器。
附图说明
下面结合附图和具体实施例对本发明做进一步详细说明。
图1是本发明的并行多级神经网络的原理图及其训练测试过程原理图;其中,图1(a)是本发明的并行多级宽度神经网络原理图;图1(b)是本发明的并行多级宽度神经网络的训练和验证过程原理图;图1(c)是本发明的并行多级宽度神经网络的测试过程原理图。
图2是本发明的并行多级宽度神经网络的结构图。
图3(a)是本发明的并行多级宽度神经网络的验证集在其中一级上的误差分布图;图3(b)是图3(a)中的统计参数的高斯概率密度函数。
图4是本发明实施例中的并行26级宽度神经网络在MNIST数据集上的测试结果与现有学习模型的分类结果对比图。
具体实施方式
下面将结合实施例对本发明的实施方案进行详细描述,但是本领域的技术人员将会理解,以下实施例仅用于说明本发明,而不应视为限制本发明的范围。
采用MNIST手写数据集,该数据集每幅图像为8位灰度手写数字0~9的图像,图像大小为28×28,总共10类,有60000张原始训练样本集,10000 张图像作为测试集,是新学习模型训练测试的重要通用图像数据集之一。针对该数据集,参考图1和图2,本实施例采用宽度径向基函数网络作为基分类器,即并行多级宽度神经网络的每级均采用宽度径向基函数网络,选取并行的宽度神经网络的级数为26。
(1)获取验证集,构建基分类器。
首先,对Ntr=60000张原始训练样本集中的图像样本分别进行26次弹性变换,得到M=26个验证集xv_1,xv_2,...,xv_26,本实施例中为了保证有足够多的验证集的错分样本,每个验证集中包括Nval=10个由原始训练集变换得到的数据集。其中,每个验证集的样本数为原始训练样本集的Nval=10倍。
其次,采用宽度径向基函数网络作为基分类器来设计并行多级宽度神经网络;M=26个宽度径向基函数网络连接在一起,形成并行多级宽度神经网络 Net1,Net2,...NetM;每一个基分类器作为一级,专注于数据集中的不同部分。
最后,构建宽度径向基函数网络。具体过程如下:
构建包括N0k=1000个高斯基函数为的径向基函数网络,该径向基函数网络的中心为随机取自原始训练样本集的一个子集,标准差取值为常数。采用滑动窗口获取原始训练样本集中每个图像样本的多组局部特征图像,从而获得多组局部特征矩阵,将多组局部特征矩阵作为高斯基函数的输入数据,得到多个径向基函数网络即为宽度径向基函数网络。
2)对并行M级宽度神经网络的每级进行训练和验证,得到训练后的并行 M级宽度神经网络和每级宽度神经网络对应的验证输出yv_m(m=1,2…,M)。
第1级宽度径向基函数网络使用原始训练样本集来训练,在训练之后,错分的训练样本送到第2级的宽度径向基函数网络,作为第二个训练集的一部分,来训练第2级的网络。采用步骤(1)获得的验证集,对当前级的训练网络验证,同时提供更多的错分样本,作为下一级训练集的一部分。如图1 (a)、(b)所示,具体地,包含以下子步骤:
子步骤2.1,将原始训练样本集作为第1级宽度神经网络Net1的输入样本,对第1级宽度神经网络Net1进行训练,得到训练后的第1级宽度神经网络。
子步骤2.2,采用第一验证集xv_1对训练后的第1级宽度神经网络进行验证,得到第1级宽度神经网络的错误分类样本集yvw_1。
子步骤2.3,将第1级宽度神经网络的错误分类样本集yvw_1作为第2级宽度神经网络的输入样本Av_1;再从原始训练样本集中随机抽取训练样本集Av_2,使总输入样本集{Av_1+Av_2}中的样本数等于原始训练样本集中的样本数,并将总输入样本集{Av_1+Av_2}作为第2级宽度神经网络的输入样本。
子步骤2.4,采用总输入样本集{Av_1+Av_2}对第2级宽度神经网络进行训练,得到训练后的第2级宽度神经网络;采用第二验证集xv_2对训练后的第2 级宽度神经网络进行验证,得到第2级宽度神经网络的错误分类样本集yvw_2。
重复子步骤2.3和2.4,对第3级到第M级宽度神经网络分别进行训练,得到训练后的并行M级宽度神经网络和每级宽度神经网络的对应验证输出 yv_m(m=1,2…,M)。
上述的宽度径向基函数网络的具体训练和验证过程如下:
将原始训练样本集中的图像样本作为输入数据,图像大小为 M1×M2=28×28。滑动窗口大小为r=13×13,滑动窗口的初始位置设在每个图像样本的左上角,选择滑动步长为1个像元,滑动窗口从左到右,从上到下依次滑动,把滑动窗口中的60000个图像样本的3维图像块拉伸成为矩阵 xk∈Rr×N,即将每个局部特征图像分别按像元组成对应的原始矩阵,将每个原始矩阵的第2至最后一列依次顺序排列至第1列后形成一个列向量;将N个列向量顺序排列组成一组训练图像样本的局部特征矩阵xk(1≤k≤K),局部特征矩阵xk的每一列代表一个样本。再把局部特征矩阵xk输入给包括N0k=1000个高斯基函数为的径向基函数网络,输出记为:
滑动窗口每次滑动对应一个径向基函数网络,最终滑动结束后,可得到 K=(M1-m+1)(M2-m+1)=(28-13+1)×(28-13+1)=256个径向基函数网络。
针对每一个径向基函数网络,对其经过高斯基函数的输出引入排序和下采样。针对每一个径向基函数网络,对其经过非线性变换的高斯基函数输出数据Φk引入排序和下采样。对宽度径向基函数网络的输出数据Φk的每一列进行求和,得到一个行向量,行向量的每个元素为每个待处理图像的局部特定位置的像元之和,对每个待处理图像的局部特定位置的像元之和进行降序排列,得到降序向量采用索引sk将降序向量ak中每个待处理图像的局部特定位置对应的原始位置进行标记,得到排序的输出数据Φ′k=sort(Φk,sk)。
对排序的输出数据进行下采样,设定下采样间隔NkS=20,经过采样的输出个数为:
设定期望的输出为D=[D1,D2,…,DC];对宽度径向基函数网络的高斯基函数的输出进行线性层连接,则线性层的权重为:W=[W1,W2,…,WC];
其中,C=10是原始样本的类别总数。
其中,Φ+为宽度径向基函数网络的高斯基函数输出Φ的伪逆矩阵。
最终,计算得到宽度径向基函数网络的类别输出为:
进而获得训练后的宽度径向基函数网络,对每级训练后的宽度径向基函数网络采用对应验证集进行验证,获得训练后的每级宽度径向基函数网络对应的验证输出yv_m(m=1,2…,M)。
通过获得的验证输出yv_m(m=1,2…,M),进一步获得每个验证输出yv_m对应的类别标签yv_ind_m,具体步骤如下:
首先,设定原始训练样本集的总类别数为C,构建参考矩阵Rj(1≤j≤C)。
其中,参考矩阵Rj的第j行的元素都为1,其余元素都为0,每个参考矩阵Rj的维数为C×Ntr。
其次,根据训练后的每级宽度神经网络的验证输出yv_m,获取验证输出 yv_m与对应级的参考矩阵Rj之间的误差向量:
Jv_mj=||softmax(yv_m)-Rj||2,1≤j≤C;
其中,Jv_mj的维数为1×Ntr;yv_m的维数为C×Ntr。
最后,对验证输出yv_m与对应级的参考矩阵Rj之间的误差向量Jv_mj求最小值,得到训练后的每级宽度神经网络对应的类别标签yv_ind_m:
其中,yv_ind_m的维数为1×Ntr。
将训练后的每级宽度神经网络对应的类别标签yv_ind_m与每级的验证输出 yv_m进行比对,即可获得每级宽度神经网络的正确分类样本集yvc_m和错误分类样本集yvw_m。
(3)通过统计计算得到每级宽度神经网络的决策阈值Tm
本网络比较困难的部分是每一级决策阈值的确定,它用来确定在测试的时候,每一个样本应该由哪一级的网络输出。在训练和测试之后,对正确分类样本集和错误分类的样本集分别进行统计计算。假设在m级宽度神经网络,正确分类样本集和错误分类样本集分别为:yvc_m和yvw_m,正确分类样本集和错误分类样本集的样本总数分别为:Nvc_m和Nvw_m,且Nvc_m+Nvw_m=Ntr。
以上验证过程中,为了保证最终样本有足够多的错分样本集,每个验证集可以是包含有Nval个将原始训练样本集经过数据变换得到的验证样本集,即每个验证集可以包含Nval组验证样本集,也就是说每个验证集的样本数为原始训练样本的Nval倍。
两类样本集的误差通过下式计算:
evc_m=||softmax(yvc_m)-tvc_m||2;
evw_m=||softmax(yvw_m)-tvw_m||2;
其中,tvc_m和tvw_m是m级中正确分类样本yvc_m和错误分类样本yvw_m对应的真实标签。假设正确分类和错误分类这两类样本统计的均值和方差分别是:μc,uw,σc,σw,与之对应的两个高斯分布分别是:
其高斯概率密度函数分别是:
在并行多级宽度神经网络的一级上,其验证集误差分布及其概率密度函数如图3(a)和(b)所示,则m级宽度神经网络的决策阈值为:
Tm=min(evw_m)-ασw;
其中,α是一个常数,用来给出裕量,以使所有错误分类样本yvw_m在当前级被拒绝。
(4)通过测试集对决策阈值确定的并行多级宽度神经网络进行测试
如图1(c)所示,具体的测试过程为:
首先,获取测试集,具体过程为:获取原始测试样本集Xtest;通过M次数据扩充,对应获取M组测试样本集xtest_1,...,xtest_m,...,xtest_M,即为测试集;其中,原始测试样本集xtest中测试样本总数为Ntest_samples。
上述的数据扩充为:对所述原始测试样本集Xtest中的每个样本分别进行 NtestD次数据变换,对应得到NtestD个测试样本集,作为决策阈值确定的并行M级宽度神经网络的第m级宽度神经网络的测试集xtest_m。
上述的测试集获取方法能够在后续的测试过程中得到测试的稳定性。
其次,将M组测试样本集xtest_1,...,xtest_m,...,xtest_M并行输入给决策阈值确定的并行M级宽度神经网络,对测试集进行测试,即将每组测试集对应输入给决策阈值确定的每级宽度神经网络进行测试,对应得到决策阈值确定的每级宽度神经网络的NtestD个测试样本集输出;对NtestD个测试样本集的输出取平均值,得到决策阈值确定的每级宽度神经网络的测试输出
再次,设定测试集的总类别数为C,构建参考矩阵Rj(1≤j≤C);获取验证输出yv_m与对应级的参考矩阵Rj之间的误差向量:
Jtest_mj=||softmax(ytest_m)-Rj||2,1≤j≤C;
其中,参考矩阵Rj的第j行的元素都为1,其余元素都为0,每个参考矩阵Rj的维数为C×Ntest_samples;Jtest_mj的维数为1×Ntest_samples,yv_m的维数为 C×Ntest_samples。
最后,对决策阈值确定的每级宽度神经网络的输出进行判断,具体地:当前级宽度神经网络的最小误差小于等于当前级决策阈值时,即 min(Jtest_mj)≤Tm,则判断为当前级为该输出的正确分类输出级。
当前级宽度神经网络的最小误差大于当前级决策阈值时,即 min(Jtest_mj)>Tm,则判断为当前级无法对该输出进行正确分类,将该输出转入下一级宽度神经网络进行测试,如此循环,直到该输出找到正确分类输出级。进而得到决策阈值确定的每级宽度神经网络的测试输出对应的标签其中,ytest_ind_m的维数为1×Ntest_samples。
如果测试样本在前面25级均不能输出,则在最后的第26级直接输出。
最终可得到测试集在整个网络的输出Ltest;其中,正确分类样本和错误分类样本都可以统计算出,进而可以得到本发明并行多级宽度神经网络的样本分类的精度。
对比例
采用与上述实施例相同的原始训练样本集、验证集和测试集,分别采用随机森林(RF),多层感知器(MP),传统径向基函数网络(RBF),支持向量机(SVM),广度学习***(BLS)、条件深度学习模型(CDL),深度信念网络(DBL),卷积神经网络LeNet-5,深度玻尔兹曼机(DBM)以及深度随机深林(gc)作为基分类器,进行学习分类,最终得到的各种学习方法对数据分类的精度如图4所示。
从图4可以看出,相比于目前主流的学习模型:随机森林(RF),多层感知器(MP),传统径向基函数网络(RBF),支持向量机(SVM),广度学习***(BLS)、条件深度学习模型(CDL),深度信念网络(DBL),卷积神经网络LeNet-5,深度玻尔兹曼机(DBM),以及深度随机深林(gc forest),本发明的并行多级宽度神经网络(PMWNN)的分类结果的准确率具有非常高的竞争性,本发明方法最终的分类精度为99.10%,WRBF为宽度径向基函数网络。而相比于深度随机深林学习模型,本发明方法神经网络具有多级基神经网络,每一级用来学习数据集的不同部分样本,能够根据问题及数据集的复杂程度,自适应地确定神经网络的结构,实现计算资源的优化;同时,本发明的神经网络在测试的时候可以进行并行测试,也就是把测试数据同时给网络的所有级,由训练过程中得到的每一级的决策阈值来决定每个测试样本最终由哪一级的神经网络输出,并行测试过程大大减少了实际使用网络时候的等待时间。
此外,本发明的并行多级宽度神经网络可以实现增量学习,即当有新数据来的时候,可以增加新的宽度径向基函数网络来学习新的特性,而无需重新训练整个并行多级宽度神经网络,这个意味着提出的网络可以在不遗忘旧知识的前提下学习新的知识。新的训练数据输入给当前M级网络,如果有错分的样本,那么它们和经过数据扩充的原始训练集一起建立新的训练数据集,训练新的宽度径向基函数网络,同时使用新的验证集进行验证,并且计算决策阈值,从而建立第M+1级网络。最终,新的并行多级宽度神经网络将由M+1 级宽度径向基函数网络组成。同时,本发明设计的并行多级宽度神经网络在测试的时候可以并行测试,所有的测试样本都会送给所有级的宽度径向基函数网络,决策阈值决定了哪一个宽度径向基函数网络分配给相应的测试样本。该过程不需要等待其它级的网络输出,从而在测试的时候并行化,加速了测试过程。
本发明的并行多级宽度神经网络中的每一级宽度神经网络,可以是宽度径向基函数网络、BP神经网络、卷积神经网络或者其他分类器,且多级宽度神经网络的每级基分类器的类型可以不同。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些改动和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种基于并行多级宽度神经网络的学习方法,并行多级宽度神经网络包括多级宽度神经网络,其中,每级宽度神经网络包含依次连接的输入层、隐藏层和输出层,其特征在于,所述学习方法包括以下步骤:
步骤1,获取原始训练样本集,构建并行M级宽度神经网络Net1,…Netm,…,NetM,m=1,2…,M,每级宽度神经网络作为对应级的基分类器;通过对原始训练样本集进行M次数据变换,对应得到M个验证集xv_1,…xv_m,…xv_M;
其中,原始训练样本集的样本总数为Ntr,每个训练样本为一个待学习图像样本;所述构建并行M级宽度神经网络Net1,…Netm,…,NetM具体过程为:
采用宽度径向基函数网络作为基分类器来设计并行多级宽度神经网络;M个宽度径向基函数网络连接在一起,形成并行多级宽度神经网络Net1,Net2,...NetM;每一个基分类器作为一级;
构建宽度径向基函数网络的具体过程为:
构建包括N0k个高斯基函数为的径向基函数网络,该径向基函数网络的中心为随机取自原始训练样本集的一个子集,标准差取值为常数;采用滑动窗口获取原始训练样本集中每个待学习图像样本的多组局部特征图像,从而获得多组局部特征矩阵,将多组局部特征矩阵作为高斯基函数的输入数据,得到多个径向基函数网络即为宽度径向基函数网络;
步骤2,采用原始训练样本集和M个验证集xv_1,…xv_m,…xv_M分别对并行M级宽度神经网络的每级进行训练和验证,得到训练后的并行M级宽度神经网络和每级宽度神经网络对应的验证输出yv_m,m=1,2…,M;采用最小误差法得到每个验证输出yv_m对应的标签yv_ind_m,进而得到训练后的并行M级宽度神经网络的每级宽度神经网络的验证集的正确分类样本集yvc_m和错误分类样本集yvw_m;
所述采用原始训练样本集和M个验证集xv_1,…xv_m,…xv_M分别对并行M级宽度神经网络的每级进行训练和验证,其包含以下子步骤:
子步骤2.1,将原始训练样本集作为第1级宽度神经网络Net1的输入样本,对第1级宽度神经网络Net1进行训练,得到训练后的第一级宽度神经网络;
子步骤2.2,采用第一验证集xv_1对训练后的第1级宽度神经网络进行验证,得到第1级宽度神经网络的验证集的错误分类样本集yvw_1;
子步骤2.3,将第一级宽度神经网络的错误分类样本集yvw_1作为第2级宽度神经网络的输入样本Av_1;再从原始训练样本集中随机抽取训练样本集Av_2,使总输入样本集{Av_1+Av_2}中的样本数等于原始训练样本集中的样本数,并将总输入样本集{Av_1+Av_2}作为第2级宽度神经网络的输入样本;
子步骤2.4,采用总输入样本集{Av_1+Av_2}对第2级宽度神经网络进行训练,得到训练后的第2级宽度神经网络;采用第二验证集xv_2对训练后的第2级宽度神经网络进行验证,得到第2级宽度神经网络的验证集的错误分类样本集yvw_2;
依次类推,对第3级到第M级宽度神经网络分别进行训练,得到训练后的并行M级宽度神经网络和每级宽度神经网络的对应验证输出yv_m;
每级宽度神经网络的训练过程为:
(a)将原始训练样本集中的待学习图像样本作为输入数据,滑动窗口的初始位置设在每个待学习图像样本的左上角,选择滑动步长为1个像元,滑动窗口从左到右,从上到下依次滑动,把滑动窗口中的所有图像样本的3维图像块拉伸成为矩阵xk,即将每个局部特征图像分别按像元组成对应的原始矩阵,将每个原始矩阵的第2至最后一列依次顺序排列至第1列后形成一个列向量;将N个列向量顺序排列组成一组训练图像样本的局部特征矩阵xk,1≤k≤K,局部特征矩阵xk的每一列代表一个待学习图像样本;
滑动窗口每次滑动对应一个径向基函数网络,滑动结束,得到K个径向基函数网络;
(c)针对每一个径向基函数网络,对其经过非线性变换的高斯基函数输出数据Φk引入排序和下采样:
对宽度径向基函数网络的输出数据Φk的每一列进行求和,得到一个行向量,行向量的每个元素为每个待学习图像的局部特定位置的像元之和,对每个待学习图像的局部特定位置的像元之和进行降序排列,得到降序向量采用索引sk将降序向量ak中每个待学习图像的局部特定位置对应的原始位置进行标记,得到排序的输出数据Φ′k=sort(Φk,sk);
对排序的输出数据进行下采样,设定下采样间隔NkS,则采样输出为ΦkS=subsample(Φ′k,NkS),高斯基函数的输出为Φ=[Φ1S,Φ2S,…,ΦKS];
(d)设定期望的输出为D=[D1,D2,…,DC];对宽度径向基函数网络的高斯基函数的输出进行线性层连接,则线性层的权重为:W=[W1,W2,…,WC];
其中,C是原始样本的类别总数;
其中,Φ+为宽度径向基函数网络的高斯基函数输出Φ的伪逆矩阵;
最终,计算得到宽度径向基函数网络的类别输出为:
进而获得训练后的宽度径向基函数网络,完成每级宽度神经网络的训练过程;
步骤3,对训练后的并行M级宽度神经网络的每级宽度神经网络的验证集的正确分类样本集yvc_m和错误分类样本集yvw_m分别进行统计计算,对应得到训练后的每级宽度神经网络的决策阈值Tm;将每级宽度神经网络的决策阈值Tm作为对应级宽度神经网络的决策依据,得到决策阈值确定的并行M级宽度神经网络;
步骤4,获取测试集,将测试集作为决策阈值确定的并行M级宽度神经网络的输入数据,并行输入给决策阈值确定的每级宽度神经网络进行测试,得到决策阈值确定的每级宽度神经网络的输出;获取每级宽度神经网络的误差向量,对决策阈值确定的每级宽度神经网络的输出进行判断,从而得到决策阈值确定的每级宽度神经网络的测试输出对应的标签ytest_ind_m。
2.根据权利要求1所述的基于并行多级宽度神经网络的学习方法,其特征在于,步骤1中,所述数据变换为通过弹性变换对原始样本集中的样本进行压缩或变形;或所述数据变换为通过仿射变换对原始样本集中的样本进行旋转、翻转、放大或缩小。
3.根据权利要求1所述的基于并行多级宽度神经网络的学习方法,其特征在于,步骤2中,所述最小误差法为:
首先,设定原始训练样本集的总类别数为C,构建参考矩阵Rj,1≤j≤C;
其中,参考矩阵Rj的第j行的元素都为1,其余元素都为0,每个参考矩阵Rj的维数为C×Ntr;
其次,根据训练后的每级宽度神经网络的验证输出yv_m,获取验证输出yv_m与对应级的参考矩阵Rj之间的误差向量:
Jv_mj=||softmax(yv_m)-Rj||2,1≤j≤C;
其中,||||2表示矩阵的2范数,softmax()为归一化指数函数;Jv_mj的维数为1×Ntr;yv_m的维数为C×Ntr;
最后,对验证输出yv_m与对应级的参考矩阵Rj之间的误差向量Jv_mj求最小值,得到训练后的每级宽度神经网络对应的类别标签yv_ind_m:
其中,yv_ind_m的维数为1×Ntr。
4.根据权利要求1所述的基于并行多级宽度神经网络的学习方法,其特征在于,步骤3中,所述统计计算包含以下子步骤:
子步骤3.1,设定训练后的并行M级宽度神经网络的第m级宽度神经网络的正确分类样本集和错误分类样本集分别为:yvc_m和yvw_m,正确分类样本集和错误分类样本集中的样本总数分别为:Nvc_m和Nvw_m,且Nvc_m+Nvw_m=Ntr,则正确分类样本集和错误分类样本集的误差分别为:
evc_m=||softmax(yvc_m)-tvc_m||2;
evw_m=||softmax(yvw_m)-tvw_m||2;
其中,tvc_m是m级宽度神经网络中正确分类样本yvc_m对应的真实标签,tvw_m是m级宽度神经网络中错误分类样本yvw_m对应的真实标签;
子步骤3.2,根据正确分类样本集yvc_m和错误分类样本集yvw_m,分别计算出正确分类样本集yvc_m的均值和方差分别为μc和σc;错误分类样本集yvw_m的均值和方差分别是:uw和σw;则正确分类样本集yvc_m和错误分类样本集yvw_m对应的高斯分布分别是:
正确分类样本集yvc_m和错误分类样本集yvw_m对应的高斯概率密度函数分别是:
子步骤3.3,根据错误分类样本集yvw_m的误差evw_m和方差σw,获得m级宽度神经网络的决策阈值Tm=min(evw_m)-ασw;
其中,α是一个常数,用来给出裕量,以使所有错误分类样本yvw_m在当前级被拒绝。
5.根据权利要求2所述的基于并行多级宽度神经网络的学习方法,其特征在于,步骤4中,所述获取测试集为:获取原始测试样本集xtest;通过M次数据扩充,对应获取M组测试样本集xtest_1,...,xtest_m,...,xtest_M,即为测试集。
6.根据权利要求5所述的基于并行多级宽度神经网络的学习方法,其特征在于,所述数据扩充为:对所述原始测试样本集xtest中的每个样本分别进行NtestD次所述数据变换,对应得到NtestD个测试样本集,作为决策阈值确定的并行M级宽度神经网络的第m级宽度神经网络的测试集xtest_m;
其中,原始测试样本集xtest中测试样本总数为Ntest_samples。
7.根据权利要求1所述的基于并行多级宽度神经网络的学习方法,其特征在于,步骤4中,所述获取每级宽度神经网络的误差向量包含以下子步骤:
子步骤4.1,将M组测试样本集xtest_1,xtest_2,...,xtest_M分别并行输入给决策阈值确定的并行M级宽度神经网络,对应得到决策阈值确定的每级宽度神经网络的NtestD个输出ytest_m_d,d=1,2…NtestD;
子步骤4.3,设定测试集的总类别数为C,构建参考矩阵Rj,1≤j≤C;获取验证输出yv_m与对应级的参考矩阵Rj之间的误差向量:
Jtest_mj=||softmax(ytest_m)-Rj||2,1≤j≤C;
其中,参考矩阵Rj的第j行的元素都为1,其余元素都为0,每个参考矩阵Rj的维数为C×Ntest_samples;Jtest_mj的维数为1×Ntest_samples,yv_m的维数为C×Ntest_samples。
8.根据权利要求7所述的基于并行多级宽度神经网络的学习方法,其特征在于,所述对决策阈值确定的每级宽度神经网络的输出进行判断为:
当前级宽度神经网络的最小误差小于等于当前级决策阈值时,则判断为当前级为该输出的正确分类输出级:
min(Jtest_mj)≤Tm;
当前级宽度神经网络的最小误差大于当前级决策阈值时,则判断为当前级无法对该输出进行正确分类,将该输出转入下一级宽度神经网络进行测试,如此循环,直到该输出找到正确分类输出级:
min(Jtest_mj)>Tm。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910331708.8A CN110110845B (zh) | 2019-04-24 | 2019-04-24 | 一种基于并行多级宽度神经网络的学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910331708.8A CN110110845B (zh) | 2019-04-24 | 2019-04-24 | 一种基于并行多级宽度神经网络的学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110110845A CN110110845A (zh) | 2019-08-09 |
CN110110845B true CN110110845B (zh) | 2020-09-22 |
Family
ID=67486407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910331708.8A Active CN110110845B (zh) | 2019-04-24 | 2019-04-24 | 一种基于并行多级宽度神经网络的学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110110845B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008647B (zh) * | 2019-11-06 | 2022-02-08 | 长安大学 | 一种样本提取及基于空洞卷积与残差链接的图像分类方法 |
CN111340184B (zh) * | 2020-02-12 | 2023-06-02 | 北京理工大学 | 基于径向基函数的可变形反射镜面形控制方法及装置 |
CN113449569B (zh) * | 2020-03-27 | 2023-04-25 | 威海北洋电气集团股份有限公司 | 基于分散式深度学习的机械信号健康状态分类方法及*** |
CN112966761B (zh) * | 2021-03-16 | 2024-03-19 | 长安大学 | 一种可扩展的自适应宽度神经网络学习方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784312A (zh) * | 2016-08-24 | 2018-03-09 | 腾讯征信有限公司 | 机器学习模型训练方法及装置 |
CN108351985A (zh) * | 2015-06-30 | 2018-07-31 | 亚利桑那州立大学董事会 | 用于大规模机器学习的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811775B2 (en) * | 2012-12-24 | 2017-11-07 | Google Inc. | Parallelizing neural networks during training |
US10242313B2 (en) * | 2014-07-18 | 2019-03-26 | James LaRue | Joint proximity association template for neural networks |
-
2019
- 2019-04-24 CN CN201910331708.8A patent/CN110110845B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108351985A (zh) * | 2015-06-30 | 2018-07-31 | 亚利桑那州立大学董事会 | 用于大规模机器学习的方法和装置 |
CN107784312A (zh) * | 2016-08-24 | 2018-03-09 | 腾讯征信有限公司 | 机器学习模型训练方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110110845A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110110845B (zh) | 一种基于并行多级宽度神经网络的学习方法 | |
CN110443143B (zh) | 多分支卷积神经网络融合的遥感图像场景分类方法 | |
CN109063724B (zh) | 一种增强型生成式对抗网络以及目标样本识别方法 | |
CN105138973B (zh) | 人脸认证的方法和装置 | |
CN111414849B (zh) | 一种基于演化卷积神经网络的人脸识别方法 | |
CN103605972B (zh) | 一种基于分块深度神经网络的非限制环境人脸验证方法 | |
EP0464327A2 (en) | Neutral network apparatus and method for pattern recognition | |
JPH07296117A (ja) | 減少された要素特徴部分集合を用いたパターン認識システム用の分類重みマトリックスを構成する方法 | |
Yuan et al. | Iterative cross learning on noisy labels | |
CN113222011B (zh) | 一种基于原型校正的小样本遥感图像分类方法 | |
CN106096661B (zh) | 基于相对属性随机森林的零样本图像分类方法 | |
CN112465120A (zh) | 一种基于进化方法的快速注意力神经网络架构搜索方法 | |
JPH06176202A (ja) | 文字認識用の管理されたトレーニング増加多項式法および装置 | |
CN112633382A (zh) | 一种基于互近邻的少样本图像分类方法及*** | |
CN105930834A (zh) | 基于球哈希二值编码的人脸识别方法及装置 | |
Chen et al. | Dictionary learning from ambiguously labeled data | |
CN112819063B (zh) | 一种基于改进的Focal损失函数的图像识别方法 | |
CN112364974B (zh) | 一种基于激活函数改进的YOLOv3算法 | |
Cho et al. | Virtual sample generation using a population of networks | |
CN104598898B (zh) | 一种基于多任务拓扑学习的航拍图像快速识别***及其快速识别方法 | |
CN111371611A (zh) | 一种基于深度学习的加权网络社区发现方法及装置 | |
CN114639000A (zh) | 一种基于跨样本注意力聚合的小样本学习方法和装置 | |
Cho et al. | Genetic evolution processing of data structures for image classification | |
US6934405B1 (en) | Address reading method | |
CN111553424A (zh) | 一种基于cgan的图像数据平衡和分类方法 |
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 |