一种快速定位深度卷积网络最优层级的方法及终端与流程

文档序号:31054088发布日期:2022-08-06 10:35阅读:34来源:国知局
一种快速定位深度卷积网络最优层级的方法及终端与流程

1.本发明涉及数据处理技术领域,特别涉及一种快速定位深度卷积网络最优层级的方法及终端。


背景技术:

2.目前深度卷积网络整合了低高中不同层次的特征,依靠加深网络层数来丰富特征,获得更加全面的网络特征。然而在构建网络层数时,越多的网络层数越容易产生网络退化,即当在最优层数之后,冗余计算的结果导致非恒等映射,产生的结果污染原有的学习结构,最终使学习方向产生了偏移。反而言之,如果网络层数不够时,又可能导致特征提取太少,无法计算得出最优的神经网络。所以在深度卷积网络中需要对怎么找到最合适的网络层进行深度研究。
3.现有技术通常会通过残差网络的方式,即在深度卷积网络中增加残差网络,使用激活函数找到最优的网络层数,当恒等映射的输入和输出值相同时,即判定已经找到了最优的网络层数。使用这种方式可以解决上述网络退化的方式,当残差f(x)趋近于0时,恒等式等于输入的值,保证后续的网络层中数据不会发生变化,但是依旧会执行完预定的所有网络层结构,比如预设30层深度网络,由于输入的数据较为准确,在5层结构时机器已经完成了深度学习,此时在第六层残差网络计算得出f(x)=0,表明已经找到最优网络,但是依旧会把f(x)+x输入到后面的所有层中,直至完成30层的计算,导致算力的浪费和时间的延长。


技术实现要素:

4.(一)要解决的技术问题
5.为了解决现有技术的上述问题,本发明提供一种快速定位深度卷积网络最优层级的方法及终端,能够更快更节省算力的找到深度卷积网络的最优层级。
6.(二)技术方案
7.为了达到上述目的,本发明采用的技术方案为:
8.一种快速定位深度卷积网络最优层级的方法,包括步骤:
9.s1、由预设在每一层网络层之后的分位数计算模型对当前网络层的输出数据进行分位计算,以得到当前网络层的数据集中率;
10.s2、将当前网络层和相邻的至少一个网络层的数据集中率进行比对,判断数据集中率最高的网络层的层数是否最小,若不是,则向下层网络层传递数据并继续进行数据集中率的比对,直至比对的所有网络层中层数最小的网络层的数据集中率最高,否则停止向下层网络层传递数据,并将数据集中率最高的网络层作为最终最优层级。
11.为了达到上述目的,本发明采用的另一种技术方案为:
12.一种快速定位深度卷积网络最优层级的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步
骤:
13.s1、由预设在每一层网络层之后的分位数计算模型对当前网络层的输出数据进行分位计算,以得到当前网络层的数据集中率;
14.s2、将当前网络层和相邻的至少一个网络层的数据集中率进行比对,判断数据集中率最高的网络层的层数是否最小,若不是,则向下层网络层传递数据并继续进行数据集中率的比对,直至比对的所有网络层中层数最小的网络层的数据集中率最高,否则停止向下层网络层传递数据,并将数据集中率最高的网络层作为最终最优层级。
15.(三)有益效果
16.本发明的有益效果在于:一种快速定位深度卷积网络最优层级的方法及终端,通过分位数计算模型对网络层的输出数据进行分位计算,以根据相邻网络层之后数据集中率来确定找到深度卷积网络的最优层级,之后停止向下层网络层传递数据,即本发明在找到深度卷积网络的最优层级之后不会继续向下寻找,因此相较于残差网络的现有技术来说,减少了算力的浪费,且节约了找到最优层级的时间,从而能够更快更节省算力的找到深度卷积网络的最优层级。
附图说明
17.图1为本发明实施例的一种快速定位深度卷积网络最优层级的方法的主要流程示意图;
18.图2为本发明实施例的一种快速定位深度卷积网络最优层级的方法的整体流程示意图;
19.图3为本发明实施例涉及的分位数计算模型的分位示意图;
20.图4为本发明实施例涉及的深度卷积网络在运行所有网络层之后的数据集中率示意图;
21.图5为本发明实施例涉及的深度卷积网络在运行所有网络层之后是否趋于0的示意图;
22.图6为本发明实施例的一种快速定位深度卷积网络最优层级的终端的结构示意图。
23.【附图标记说明】
24.1:一种快速定位深度卷积网络最优层级的终端;
25.2:处理器;
26.3:存储器。
具体实施方式
27.为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
28.实施例一
29.请参照图1至图5,一种快速定位深度卷积网络最优层级的方法,包括步骤:
30.s0、根据数据数量和数据质量预置网络层数,且所预置的网络层数大于或等于20层。
31.在本实施例中,当收集完数据后,对数据的质量和数量进行评估,用户根据数据的数量级和数据的清晰度等质量情况,大致预置深度卷积网络的层数,在本实施例中由于数据量不多但是数据质量较高,且用于计算的模型较为简单,实验结果及对照参数较为清晰,可预留较多的网络层级,因此预置40层网络结构。。
32.本实施例中预留较多的网路层级是因为本实施例采用中位数离散比较的方式,对比前后多个层级的数据离散情况来判断哪个网络层级的输出数据更加准确,当选出最优的数据模型后,数据不会继续再往下进入到网络层级中,所以预置的网络层级较多并不会浪费算力,也不会影响数据的准确度,相反会让机器学习更具有健壮性。
33.对应到具体的实施案例来说,本实施例以简单数字1-9为样本,进行数字识别的机器学习。在搭建深度卷积神经网络时,我们选择给予40层的网络层数,同时为考虑实验中存在噪音和异常数据,特地加入了字母作为噪声数据。
34.s1、由预设在每一层网络层之后的分位数计算模型对当前网络层的输出数据进行分位计算,以得到当前网络层的数据集中率。
35.如图2所示,即在每一层网络层之后都插入一个分位数计算模型,该分位数计算模型具体为:通过连续分布函数公式p(x≤xa)=α将输入的样本集切分为有着相同概率的连续区间的切分点。
36.其中,数据集中率=100%-数据离散率,因此,数据集中率和数据离散率实质上是可以互相转化的,在本实施例中,统一以数据集中率来判断数据的离散情况,数据集中率是指数据集中在中位数附近的比例。具体的,数据集中率=在[中位数-1,中位数+1]区间数据量/总数据量*100%。其中,将中位数设为0,则数据在[-1,1]区间内是认为是趋近于0,因此数据集中率也可以理解为数据趋近于0的比率。
[0037]
如图3所示,当前网络层的输出数据在经过分位数计算模型的处理之后会分散到不同分位区间内,因此,在本实施例中,所述当前网络层的输出数据向下层网络层传递数据时具体包括以下步骤:
[0038]
将所述当前网络层的输出数据滤除超过预设分位数范围的数据之后再传递到下层网络层,并预存当前网络层和滤除超过预设分位数范围之后的输出数据。
[0039]
在本实施例中,如图3所示,预设分位数范围为四分位,即将四分位之外的数据认为是异常值,这其中包括上下边缘附近的数据。经实验验证,异常值为噪音数据,其特征与正确的样本数据相差较多,通过公式计算后无法与正常数据连续。经试验发现,最多在3层后不会出现四分位外的数据。
[0040]
因此,对于每个网络层输出的内容进行整理,对于在分位数中异常值位置或上下边缘位置的数据进行清除,仅保留上下四分位内部的数据,同时这些数据将会存储在本层网络的分位数模型中,最后将处理好的相对集中的数据传到下一个网络层。
[0041]
s2、将当前网络层和相邻的至少一个网络层的数据集中率进行比对,判断数据集中率最高的网络层的层数是否最小,若不是,则向下层网络层传递数据并继续进行数据集中率的比对,直至比对的所有网络层中层数最小的网络层的数据集中率最高,否则停止向下层网络层传递数据,并将数据集中率最高的网络层作为最终最优层级。
[0042]
若是采用相邻两层对比的方式,则当进入到第二层网络层后,就可以针对两层输出数据的数据集中率作对比,对比两个分位数相对集中率更趋近于0的模型,此时进入判
断,当后一个网络层的输出数据更趋近于0,则保存后一个数据在分位数模型中,同时替换掉前一组数据;当前一个网络层的输出数据更趋近于0,则丢弃后一组数据,依旧保留前一组数据。
[0043]
而在本实施例中,取连续3组数据做比较,选取最合适的输出数据,由此,通过连续三组的中位数集中率比较,更加准确的判断最优网络层,避免噪音数据波动带来的影响。
[0044]
对应到具体的实施案例来说,当全部样本数据进入到第一层网络层后,输出第一批数据,此时发现数据已经将差异较大的字母分离出,所有的样本被简单的进行了分类,但是还未到达线性分类的程度,此时我们将数据通过分位数计算模型,通过分位数计算模型第一次去除异常值和差异较大的上下边缘数据,同时计算出此时的数据约45%趋近于0,此时我们将数据进行保存,同时保存第一个网络层结构,依次向下传输数据。当数据传输到第6层时,分位数趋于0的比例已经到达90%,此时数据已经基本线性分类完毕。接下来重要的是如何让网络层在最优层数时停止,不继续向下进行计算,避免造成网络退化。
[0045]
由此,步骤s2具体包括以下步骤:
[0046]
s21、将当前网络层和所述当前网络层的上两层网络层的数据集中率进行比对;
[0047]
应当知晓的是,当前网络层为网络层1时,则不存在网络层1的上两层网络层的情况,因此图2中在网络层1和2时都无法进行比对,自然不存在数据集中率最高的情况,因此,网络层1和2都无条件的向下层网络层传递数据。
[0048]
s22、判断数据集中率最高的网络层的层数是否最小,若不是,则向下层网络层传递数据,取数据集中率最高的网络层作为当前最优层级,并将所述当前最优层级和其下两层网络层的数据集中率进行比对,直至比对的所有网络层中层数最小的网络层的数据集中率最高;
[0049]
s23、否则停止向下层网络层传递数据,并将数据集中率最高的网络层作为最终最优层级。
[0050]
s24、在得到数据集中率的比对结果之后,将数据集中率最高的网络层的输出数据更新到分位数计算模型;
[0051]
我们假设当前网络层为x+2层,其输出数据为数据集c,则上两层网络层分别为x层和x+1层,对应的输出数据为数据集a和数据集b。
[0052]
当数据集a的数据集中率大于数据集b的集中率且大于数据集c的集中率,此时,数据集a的网络层的层数是三者中最小,表示网络退化,则说明x层就是最终最优层级,因此保存a的数据集,并且停止向下层网络层传递数据,跳出学习过程。
[0053]
当数据集a的集中率小于数据集b的集中率,且数据集b的集中率大于数据集c的集中率,即数据集b的集中率最大,则数据集b为当前最优层级,保存数据集c,此时只需要向下传递一层网络层之后得到x+3层的数据集,然后将x+1层、x+2层、x+3层的数据集的集中率进行下一轮比较
[0054]
当数据集a的集中率大于数据集b的集中率但小于数据集c,或者数据集a的集中率小于数据集b的集中率但数据集b集中率小于数据集c,即数据集c的集中率最大,则数据集c为当前最优层级,保存数据集c,之后取x+3和x+4层数据集,然后将x+2层、x+3和x+4层的数据集的集中率进行下一轮比较。
[0055]
由此可知,在得到最终最优层级时,则停止向下层网络层传递数据,否则取当前最
优层级的后两层继续判定,直到三层中最小层数的数据集的集中率最大,得到最终最优层级。
[0056]
对应到具体的实施案例来说,在跳出学习过程后,查询到最终最优层级为第12层,当前的分位数基本集中在中位数上,接近98.32%的数据趋近于0,即集中率为98.32%。
[0057]
即在具体实施案例中,最优的网络层数为12层,集中率最高为98.32%,此时生成的网络层数为最优网络层。为了验证是否后续其余的28层网络层是否会导致网络退化,本实施例进行了第二个实验,在第二个实验中,使用相同的样本集,采用相同的深度卷积网络结构,依旧在每个网络层级后增加一个分位数计算模型,结果如图4和图5所示。由图4可知,当网络层数为12时,到达峰值,继续学习后,产生网络退化,准确率开始下降,随着网络层数越高,输出值f(x)越小;在图5中,index表示网络层的层数,logerror表示分位数的离散程度,因此,由图5可知,分位数在网络层数到达12层时相对比较稳定集中在趋于0上,而后慢慢由于网络退化,导致数据输出的不准确,数据开始离散,导致最终在40层时数据又变为离散状态,神经网络已经不具备识别的能力。
[0058]
s3、在得到最终最优层级时,将最终最优层级、分位数计算模型所保存的输出数据和所述最终最优层级的数据集中率一并输出。
[0059]
由此,在本实施例中,通过同步分位数计算得出数据的离散程度,来判断出数据每次经过网络层后产生的数据是否趋近于一个中间值,同时针对同步分位数计算中位于异常值和上下边缘的数据进行处理,消除噪音干扰,使数据每次流入到下个节点均会逐渐变为集中,当存在于90%以上的数据趋近于0时,且在上下四分位数外没有数据时,我们即可认为当前已经达到了较优层数,在保存网络层级结构,此时数据继续流入后面的网络层,若下一层网络的输出数据百分比更趋近于0时,则保存下一网络层级结构,覆盖之前的层级结构,依次类推,当下一层级网络输出内容的数据偏离中位数,则结束当前计算,同时不保留此次网络层级输出的结果,直接使用上一个层级的数据,这样就能减少算力的浪费,且节约了找到最优层级的时间,从而能够更快更节省算力的找到深度卷积网络的最优层级。
[0060]
实施例二
[0061]
请参照图6,一种快速定位深度卷积网络最优层级的终端1,包括存储器3、处理器2及存储在存储器3上并可在处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现上述实施例一中的步骤。
[0062]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1