CN106295803A - 深度神经网络的构建方法 - Google Patents
深度神经网络的构建方法 Download PDFInfo
- Publication number
- CN106295803A CN106295803A CN201610649475.2A CN201610649475A CN106295803A CN 106295803 A CN106295803 A CN 106295803A CN 201610649475 A CN201610649475 A CN 201610649475A CN 106295803 A CN106295803 A CN 106295803A
- Authority
- CN
- China
- Prior art keywords
- node
- neural network
- deep neural
- split vertexes
- branch
- 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/04—Architecture, e.g. interconnection topology
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
本发明公开了一种深度神经网络的构建方法,深度神经网络结构为共享参数的树状结构,包括多个共享参数的分支和多个Softmax层,当某个分支的收敛速度下降时,拥有多个输出的可分裂节点裂变出一个与可裂变节点类型相同的分裂节点,创建新的特征探测器并产生不同的特征,分裂节点的父节点和子节点继承可分裂节点,分裂节点的参数进行初始化。在多模型组合的前提下,既可以减少计算代价,又能分裂得到多个高质量的模型。
Description
技术领域
本发明涉及深度神经网络结构,具体地涉及一种深度神经网络的构建方法。
背景技术
随着深度学习在各个领域的普及,神经网络参数的规模越来越大。
在深度神经网络的结构中,模型组合几乎都可以提高机器学习方法的性能。平均多模型预测可以进一步降低错误率。当前,对于神经网络的研究都集中于静态结构的神经网络,即在训练之前,网络的结构已经完全设计好并固定下来,之后也不会有变化。多列深度神经网络就是这样一个组合模型,它将多个固定结构的深度网络分别训练好,然后再平均预测所有深度网络的结果。虽然该模型相对以前的方法进一步把错误率减少了30%~40%,但是该多模型的计算量几乎相当于每个模型单独训练计算量的总和。随着深度学习的神经网络参数会越来越多,计算量越来越大,这样的多模型组合计算代价是相当昂贵的。而且多列深度神经网络每个模型的质量可能参差不齐,这也会影响到最后的预测的正确率。
发明内容
针对上述存在的技术问题,本发明目的是:提供一种深度神经网络的构建方法,在多模型组合的前提下,既可以减少计算代价,又能分裂得到多个高质量的模型。
本发明的技术方案是:
一种深度神经网络的构建方法,其特征在于,深度神经网络结构为共享参数的树状结构,包括多个共享参数的分支和多个Softmax层,当某个分支的收敛速度下降时,拥有多个输出的可分裂节点裂变出一个与可裂变节点类型相同的分裂节点,创建新的特征探测器并产生不同的特征,分裂节点的父节点和子节点继承可分裂节点,分裂节点的参数进行初始化。
优选的,可裂变节点通过最低共同祖先算法查找,选择收敛最差的叶子节点,然后回溯找到第一个拥有多个子节点的节点作为可分裂节点。
本发明还公开了一种深度神经网络的构建系统,其特征在于,深度神经网络结构为共享参数的树状结构,包括多个共享参数的分支和多个Softmax层,构建系统包括分裂模块,用于当某个分支的收敛速度下降时,拥有多个输出的可分裂节点裂变出一个与可裂变节点类型相同的分裂节点,创建新的特征探测器并产生不同的特征,分裂节点的父节点和子节点继承可分裂节点,对分裂节点的参数进行初始化。
本发明又公开了一种深度神经网络的训练方法,其特征在于,训练方法采用深度优先搜索,当迭代到达一个叶子节点时,其所经过的节点都参与前向传导、反向传导以及更新参数;接着再进行另一个分支的迭代,对共享参数的节点又一次进行更新;如果多个分支中最小的代价函数值在N个epochs后没有变化,在进行下一个epoch之前可分裂节点进行裂变,N为自然数。
优选的,N的值根据数据集和网络结构的复杂度进行设置。
优选的,可裂变节点通过最低共同祖先算法查找,每N个epochs选择收敛最差的叶子节点,然后回溯找到第一个拥有多个子节点的节点作为可分裂节点。
优选的,通过投票层预测结果,每个测试样本被测试的次数等于叶子节点的个数,投票层将所有分支的预测结果进行平均,样本i的概率其中N表示分支的数量,是第j个分支的样本i的概率。
与现有技术相比,本发明的优点是:
传统的神经网络在一次迭代中每个层只能更新一次,然而我们提出的共享参数的新型结构中,可以获得N个模型,在同样的计算代价下,共享层能够被更新多次,使得收敛加快。可裂变神经网络适用于增量学习,每次裂变新的信息都会增加到已训练过的网络之中,一旦裂变,新的特征探测器就会被创建并且产生不同的特征。可裂变的深度神经网络不仅减少了计算代价,还可以避免后期训练分支之间的收敛干扰,而且给那些处于很差局部最优解的分支重新学习的机会。最重要的是在最后能够获得多个高质量的模型。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为一种可裂变的深度神经网络结构示意图;
图2为全连接层-1裂变之前的结构示意图;
图3为全连接层-1裂变之后的结构示意图;
图4为一次覆盖迭代每个节点被遍历的次数示意图;
图5为回溯路径中找到可裂变节点的示意图;
图6为前200个epoch中八种方法的错误率比较示意图;
图7为CIFAR-10可裂变神经网络结构示意图;
图8为两种方法在前1000个epochs的错误率比较示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
实施例:
我们提出一种新的深度神经网络结构,命名为“可裂变深度神经网络”。该网络结构包含多个共享参数的分支和多个Softmax分类器;并且在训练的时候,整个网络的结构动态改变,直到整个网络结构分裂成多个模型为止。
可裂变深度神经网络结构是一个共享参数的树状结构,如图1所示,整个结构包含输入层、卷积层、池化层、全连接层、SoftMax层以及投票层。每层之间连接是通过数据传递进行的。根节点是数据输入层,所有的叶子节点是Softmax层,投票层只是在测试的时候才用到,各层名字后面跟随的数字只是为了更好的区分每一层而已,无其他含义。从根节点到某个叶子节点的路径是一个线性结构的神经网络。
在树形结构中,拥有多个输出的节点我们称之为可分裂的节点。例如图2所示的子网络结构节点全连接层-1。在训练的时候,当SoftMax-3或者SoftMax-4收敛处于一个很差的局部最优解的时候,全连接层-1就开始分裂,如图3所示。全连接层-2是从全连接层-1裂变而来,他的父节点和子节点是继承全连接层-1节点。全连接层-2的参数和全连接层-1不一样,并且独立初始化。
裂变的目的还在于其可以避免收敛干扰,如图1所示,多个分支共享了大部分的参数,因为有多个Softmax层,这就涉及到多个对象函数最优化的问题。然而神经网络能够有效的解决非凸函数最优化的问题。在训练的时候,每个分支使得共享参数的节点快速收敛,而且这些节点提取的特征前向传导到达那些非共享的节点。每个分支的差异是通过那些非共享节点体现的。这也保证了我们通过不同的特征探测器获得不同的特征。经过进一步训练之后,每一个对象函数都尝试着找到最好的梯度下降的方向,所以后期共享节点更新参数会对不同分支产生干扰,所以我们提出的可裂变深度神经网络在后续的训练可以避免干扰。
训练方法:
可裂变神经网络训练每次迭代是从输入层到SoftMax层,先是前向传导,接着是反向传到和参数的更新。训练方法是深度优先搜索,当迭代到达一个叶子节点的时候,他所经过的节点都参与前向传导,反向传导以及更新参数。接着再进行另一个分支的迭代,这样共享参数的节点又一次被更新,进而收敛更快。如图1所示的结构,六次迭代之后,所有的分支节点就遍历了一遍,我们也将这六次迭代称为一次覆盖迭代。如图4所示,可裂变深度神经网络结构的节点在一次覆盖迭代中被遍历的次数是不一样的,显然,每个节点遍历的次数n等于该节点所对应叶子节点的个数。所以每个节点的学习率为原来学习率的1/n倍。
裂变机制:
当某个分支的收敛速度下降的时候开始裂变。如果多个分支中最小的代价函数值在N个epochs(训练完所有数据集称为一个epoch)没有变化,在进行下一个epoch之前可分裂的节点就进行裂变。N的值可以通过使用一个有效的验证集来确定或者简单的设置为10,这样的做法可以认为是普遍适用于大部分可裂变网络结构。N是一个变量,它控制着后续训练收敛干扰的程度。随着N的增长,共享参数的层会收敛得更快,但是当N很大的时候,不同分支在后续训练干扰就很严重,导收敛变慢。N的值根据数据集和网络结构的复杂度进行相应设置。
找到可裂变节点的算法是最低共同祖先算法,如图5所示,每N个epochs就选择收敛最差的叶子节点,然后回溯找到第一个拥有多个孩子的节点作为可分裂节点。
结果预测的方式:
设计一个投票层来预测结果,每个测试样本被测试的次数等于叶子节点的个数。投票层将所有分支的预测结果进行平均。
N表示分支的数量,yi是样本i的概率,是第j个分支的样本i的概率。
为证明我们提出可裂变深度神经网络能够改善神经网络的性能,实验使用MNIST和CIFAR-10两种通用数据集进行验证评估。在设计网络的时候尽可能使得每个分支都不一样。Dropout方法用在了每个分支上,在实验的结构图中都已经标出来。在训练之前我们手动设置学习率和对参数做适当的初始化。实验里,卷积层和全连接层后使用ReLU激活函数。整个实验在不使用数据增强的前提下,使用momentum值为0.9的mini-batch随机梯度下降。针对于数据集复杂度的不同,我们设置了不同的裂变机制。
MNIST:
我们第一个实验是在该数据集上进行,实验所用的网络结构如图1所示,根节点将图像的像素作为输入,分支上具有6个Softmax层,从根节点到一个叶子节点我们称之为一个模型。如表1所示,该结构有六个模型,我们分别称他们为model-1,model-2,model-3,model-4,model-5和model-6。该实验不使用数据增强。
我们的裂变机制如下:在训练的时候,前40个epochs不裂变,这主要使不同分支共享更多参数从而收敛加速。接着每隔10个epochs选择代价该函数值最差的分支进行一次裂变。
按照上面的裂变策机制,该数据集我们获得的错误率为0.43%,和其他六个模型单独训练的结果比较分别改善了0.10%,0.10%,0.22%,0.22%,0.08%,0.08%。再次证明了多模型结合能够改善神经网络的性能。八种方法的比较情况如下表1所示。
表1.八种方法的测试错误率比较
如表1所示,方法F2_NoFission是根据图2的结构进行训练,但是训练过程都不进行裂变,然而F2_Fission则是根据上述裂变的方法进行训练。从图6这两种方式的比较可以得出一个这样的结论:在训练中引入裂变错误率减少了0.05%。改善不是特别的明显,主要是因为MNIST数据集太简单了,错误率已经很低很低了。
CIFAR-10:
对于该数据集,我们设计的网络结构和图2有很大不同,如图7所示,该结构有5个Softmax分类器,所有分类器共享了全部参数,我们加入了NIN技术,Dropout方法也应用在了池化层的后面,对于该数据集,我们也没有使用数据增强。
训练该数据集裂变的策略如下:在前15个epochs中,每个epoch都裂变一次,这主要是为了一开始获得多个不同的分支。接着第16~60个epoch之间不进行裂变,这主要是使得不同分支在共享更多参数情况下收敛更快,再接着第60个epoch之后,每隔10个epochs裂变一次。
按照这种方式,我们获得了13%的错误率,相比F6_NoFission错误率减少3%以上,两种方法的比较见表2所示。这两种方法在前1000个epochs的错误率如图8所示。
表2.CIFAR-10中两种方法的错误率比较
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (7)
1.一种深度神经网络的构建方法,其特征在于,深度神经网络结构为共享参数的树状结构,包括多个共享参数的分支和多个Softmax层,当某个分支的收敛速度下降时,拥有多个输出的可分裂节点裂变出一个与可裂变节点类型相同的分裂节点,创建新的特征探测器并产生不同的特征,分裂节点的父节点和子节点继承可分裂节点,分裂节点的参数进行初始化。
2.根据权利要求1所述的深度神经网络的构建方法,其特征在于,可裂变节点通过最低共同祖先算法查找,选择收敛最差的叶子节点,然后回溯找到第一个拥有多个子节点的节点作为可分裂节点。
3.一种深度神经网络的构建系统,其特征在于,深度神经网络结构为共享参数的树状结构,包括多个共享参数的分支和多个Softmax层,构建系统包括分裂模块,用于当某个分支的收敛速度下降时,拥有多个输出的可分裂节点裂变出一个与可裂变节点类型相同的分裂节点,创建新的特征探测器并产生不同的特征,分裂节点的父节点和子节点继承可分裂节点,对分裂节点的参数进行初始化。
4.一种深度神经网络的训练方法,其特征在于,训练方法采用深度优先搜索,当迭代到达一个叶子节点时,其所经过的节点都参与前向传导、反向传导以及更新参数;接着再进行另一个分支的迭代,对共享参数的节点又一次进行更新;如果多个分支中最小的代价函数值在N个epochs后没有变化,在进行下一个epoch之前可分裂节点进行裂变,N为自然数。
5.根据权利要求4所述的深度神经网络的训练方法,其特征在于,N的值根据数据集和网络结构的复杂度进行设置。
6.根据权利要求4所述的深度神经网络的训练方法,其特征在于,可裂变节点通过最低共同祖先算法查找,每N个epochs选择收敛最差的叶子节点,然后回溯找到第一个拥有多个子节点的节点作为可分裂节点。
7.根据权利要求4所述的深度神经网络的训练方法,其特征在于,通过投票层预测结果,每个测试样本被测试的次数等于叶子节点的个数,投票层将所有分支的预测结果进行平均,样本i的概率其中N表示分支的数量,是第j个分支的样本i的概率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610649475.2A CN106295803A (zh) | 2016-08-10 | 2016-08-10 | 深度神经网络的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610649475.2A CN106295803A (zh) | 2016-08-10 | 2016-08-10 | 深度神经网络的构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106295803A true CN106295803A (zh) | 2017-01-04 |
Family
ID=57667607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610649475.2A Pending CN106295803A (zh) | 2016-08-10 | 2016-08-10 | 深度神经网络的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106295803A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107221320A (zh) * | 2017-05-19 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 训练声学特征提取模型的方法、装置、设备和计算机存储介质 |
CN109189825A (zh) * | 2018-08-10 | 2019-01-11 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
WO2019033381A1 (en) * | 2017-08-18 | 2019-02-21 | Intel Corporation | EFFECTIVE NEURONIC NETWORKS WITH MATRIX STRUCTURES DEVELOPED IN AUTOMATIC LEARNING ENVIRONMENTS |
CN109615073A (zh) * | 2018-12-03 | 2019-04-12 | 郑州云海信息技术有限公司 | 一种神经网络模型的构建方法、设备以及存储介质 |
WO2019114517A1 (zh) * | 2017-12-13 | 2019-06-20 | 腾讯科技(深圳)有限公司 | 一种神经网络模型部署方法、预测方法及设备 |
WO2019114618A1 (zh) * | 2017-12-12 | 2019-06-20 | 杭州海康威视数字技术股份有限公司 | 一种深度神经网络训练方法、装置及计算机设备 |
-
2016
- 2016-08-10 CN CN201610649475.2A patent/CN106295803A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107221320A (zh) * | 2017-05-19 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 训练声学特征提取模型的方法、装置、设备和计算机存储介质 |
US10943582B2 (en) | 2017-05-19 | 2021-03-09 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus of training acoustic feature extracting model, device and computer storage medium |
WO2019033381A1 (en) * | 2017-08-18 | 2019-02-21 | Intel Corporation | EFFECTIVE NEURONIC NETWORKS WITH MATRIX STRUCTURES DEVELOPED IN AUTOMATIC LEARNING ENVIRONMENTS |
WO2019114618A1 (zh) * | 2017-12-12 | 2019-06-20 | 杭州海康威视数字技术股份有限公司 | 一种深度神经网络训练方法、装置及计算机设备 |
US11514315B2 (en) | 2017-12-12 | 2022-11-29 | Hangzhou Hikvision Digital Technology Co., Ltd. | Deep neural network training method and apparatus, and computer device |
WO2019114517A1 (zh) * | 2017-12-13 | 2019-06-20 | 腾讯科技(深圳)有限公司 | 一种神经网络模型部署方法、预测方法及设备 |
CN109189825A (zh) * | 2018-08-10 | 2019-01-11 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
CN109189825B (zh) * | 2018-08-10 | 2022-03-15 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
CN109615073A (zh) * | 2018-12-03 | 2019-04-12 | 郑州云海信息技术有限公司 | 一种神经网络模型的构建方法、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106295803A (zh) | 深度神经网络的构建方法 | |
CN103810101B (zh) | 一种软件缺陷预测方法和软件缺陷预测系统 | |
Caragiannis et al. | Aggregating partial rankings with applications to peer grading in massive online open courses | |
CN107563567A (zh) | 基于稀疏自编码的核极限学习机洪水预报方法 | |
Živković et al. | Analytical network process in the framework of SWOT analysis for strategic decision making (Case study: Technical faculty in Bor, University of Belgrade, Serbia) | |
CN104636801A (zh) | 一种基于优化bp神经网络的预测输电线路可听噪声方法 | |
CN107679748A (zh) | 面向星群观测任务自主规划的星地联合运行方法 | |
CN107797931A (zh) | 一种基于二次评价的软件质量评价方法及系统 | |
CN102855185A (zh) | 一种基于优先级的成对组合测试方法 | |
CN104656620A (zh) | 重型机床再制造综合评价系统 | |
Touqeer et al. | Multi-attribute decision making using grey relational projection method based on interval type-2 trapezoidal fuzzy numbers | |
CN104484548A (zh) | 一种改进的序贯故障诊断策略优化方法 | |
CN104835181A (zh) | 一种基于排序融合学习的目标跟踪方法 | |
Kozak et al. | Have there been forest transitions? Forest transition theory revisited in the context of the Modifiable Areal Unit Problem | |
CN105868115A (zh) | 软件密集型系统软件测试模型的构建方法和系统 | |
Zhu et al. | Structural safety monitoring of high arch dam using improved ABC-BP model | |
Li et al. | Learning approaches to the Witsenhausen counterexample from a view of potential games | |
CN105914752A (zh) | 基于快速搜索与密度峰值聚类的主导节点选择方法 | |
CN103995750B (zh) | 一种多Agent系统非对称分布式约束优化方法 | |
CN105896547A (zh) | 一种风电接入下的大电网分级电压控制方法 | |
Zhiping et al. | Parametric optimization design of aircraft based on hybrid parallel multi-objective tabu search algorithm | |
CN106886788A (zh) | 基于多指标决策的单目标仿真航迹跟踪难度检测方法 | |
CN107769245A (zh) | 一种考虑风电功率波动概率特性的主导节点选择方法 | |
CN109214516B (zh) | 一种模糊推理系统的完备决策生成方法 | |
Pasupulati et al. | An effective methodology for short-term generation scheduling of hydrothermal power system using improved TLBO algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170104 |
|
RJ01 | Rejection of invention patent application after publication |