CN109034384A - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- CN109034384A CN109034384A CN201710437809.4A CN201710437809A CN109034384A CN 109034384 A CN109034384 A CN 109034384A CN 201710437809 A CN201710437809 A CN 201710437809A CN 109034384 A CN109034384 A CN 109034384A
- Authority
- CN
- China
- Prior art keywords
- layers
- data processing
- indicates
- parameter
- processing rule
- 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.)
- Granted
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)
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种数据处理方法和装置,该方法通过BN层的参数,对卷积层数据处理规则中的参数进行了修正,并基于修正后的参数生成了融合层数据处理规则,从而,在接收到待处理数据时,可以直接根据融合层数据处理规则进行处理,输出正常的处理结果,通过应用本申请实施例所提出的技术方案,可以在包含BN层的深度学习网络中,实现正常的数据处理,避免BN层权重数值超过half实数范围而导致结果错误的问题,同时也减少了整个网络的计算量。
Description
技术领域
本申请涉及网络数据处理领域,特别涉及一种数据处理方法和装置。
背景技术
原始深度学习网络框架Caffe只支持float(单精度浮点型)数据类型(4字节)和double(双精度浮点型)数据类型(8字节)两种数据类型,目前大部分训练(train)、测试(test)以及应用过程(inference)都是基于float数据类型来完成的。但是某些大网络,耗时和显存消耗很严重,尤其是在嵌入式设备中,很多网络无法直接应用,这就对降低计算耗时和显存提出了更高的要求。解决方案之一是利用half(半精度浮点型)数据类型(2字节)来优化整个Caffe框架,由于每个数据的内存占用降低了一倍,整个网络的内存消耗也几乎降低了一倍,带宽消耗减小到原来的1/2,性能也可提升近一倍。
越来越多的深度学习网络中开始用到BN(Batch Normalization,批量标准化)层,可以用来减小协方差偏移并带来很多好处,例如:可以使用更高的学习速率;不再那么小心翼翼地对待初始化的问题;还可以作为正则项,不再依赖Dropout;等等。尤其是目前使用广泛的ResNet基础网络中,也用到了BN层。
申请人在实现本申请的过程中发现,上述现有的处理方案至少存在如下的问题:
用half数据类型优化了Caffe框架后,训练过程仍然使用float来保持精度,但在inference过程中(即实际应用过程中)使用half数据类型来提高计算效率,降低内存和带宽消耗。但在实际使用过程中会遇到一个与BN层相关的问题,即BN层的权重数据variance(方差)值太大,超过了half的示数范围,造成数据溢出,以致于BN层之后的结果都不正确,无法正常使用。
在训练和应用过程中不使用BN层可以避免上述问题,但显然不能满足深度学习网络的设计需求。
由此可见,如何在仍然使用BN层的情况下,解决BN层权重(主要是variance)数值超过half(半精度浮点型,最大值为65504)的示数范围,而导致结果错误的问题,成为了本领域技术人员亟待解决的难题。
发明内容
本申请实施例提供一种数据处理方法和装置,在包含BN层的深度学习网络中,实现正常的数据处理,避免BN层权重数值超过half实数范围而导致结果错误的问题,同时也减少了整个网络的计算量。
为了达到上述技术目的,本申请提供了一种数据处理方法,应用于包含卷积层和BN层的深度学习网络中,所述方法具体包括:
通过BN层的参数,对卷积层数据处理规则中的参数进行修正;
通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则;
当接收到待处理数据时,通过所述融合层数据处理规则进行处理,并输出处理结果。
优选的,所述通过BN层的参数,对卷积层数据处理规则中的参数进行修正,具体包括:
通过BN层的参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值;
通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值。
优选的,所述通过BN层的参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值,具体根据以下公式完成:
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
优选的,所述通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值,具体根据以下公式完成:
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
优选的,所述通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则,具体根据以下公式完成:
其中,BN(i,j),表示坐标为(i,j)的融合层输出的像素值;
conv(i,j)′,表示修正后的卷积层数据处理规则;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对于坐标(i,j)偏移(x,y)对应的像素值;
kernel(x,y)′,表示融合层的卷积核对应值;
b′,表示融合层的偏置值。
另一方面,本申请实施例还提出了一种数据处理装置,应用于包含卷积层和BN层的深度学习网络中,具体包括:
修正模块,用于通过BN层的参数,对卷积层数据处理规则中的参数进行修正;
生成模块,用于通过所述修正模块修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则;
处理模块,用于在接收到待处理数据时,通过所述生成模块所生成的融合层数据处理规则进行处理,并输出处理结果。
优选的,所述修正模块,具体用于:
通过BN层的参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值;
通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值。
优选的,所述修正模块,具体根据以下公式生成融合层的卷积核对应值:
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
优选的,所述修正模块,具体根据以下公式生成融合层的偏置值:
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
优选的,所述生成模块,具体根据以下公式生成融合层数据处理规则:
其中,BN(i,j),表示坐标为(i,j)的融合层输出的像素值;
conv(i,j)′,表示修正后的卷积层数据处理规则;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对于坐标(i,j)偏移(x,y)对应的像素值;kernel(x,y)′,表示融合层的卷积核对应值;
b′,表示融合层的偏置值。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
本申请实施例公开了一种数据处理方法和装置,该方法通过BN层的参数,对卷积层数据处理规则中的参数进行了修正,并基于修正后的参数生成了融合层数据处理规则,从而,在接收到待处理数据时,可以直接根据融合层数据处理规则进行处理,输出正常的处理结果,通过应用本申请实施例所提出的技术方案,可以在包含BN层的深度学习网络中,实现正常的数据处理,避免BN层权重数值超过half实数范围而导致结果错误的问题,同时也减少了整个网络的计算量。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提出的一种数据处理方法的流程示意图;
图2为本申请实施例所提出的一种未进行融合处理的包含BN层的深度学习网络的数据处理过程示意图;
图3为本申请实施例所提出的一种融合处理后的包含BN层的深度学习网络的数据处理过程示意图;
图4为本申请实施例所提出的一种数据处理装置的结构示意图。
具体实施方式
正如本申请背景技术所陈述的,在现有技术的处理方案中,对于存在BN层的深度学习网络,会出现由于BN层的权重数据variance(方差)值太大,超过了half的示数范围,造成数据溢出,以致于BN层之后的结果都不正确,无法正常使用的问题,而又因为BN层对于深度学习网络的重要性,所以不能直接放弃使用BN层,由此,导致没有有效的方法可以在存在BN层的深度学习网络中,保证数据处理过程的正常进行。
本申请的发明人希望通过本申请所提供的方法,可以在包含BN层的深度学习网络中,实现正常的数据处理,避免BN层权重数值超过half实数范围而导致结果错误的问题,同时也减少了整个网络的计算量。
如图1所示,为本申请实施例所提出的一种数据处理方法的流程示意图,该方法应用于包含卷积层和BN层的深度学习网络中,具体包括:
步骤S101、通过BN层的参数,对卷积层数据处理规则中的参数进行修正。
在具体的应用场景中,本步骤的处理包括以下两方面的处理:
(1)通过BN层的参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值。
在具体的应用场景中,相应的处理可以通过BN层的缩放因子、训练样本的标准差,以及极小正值等BN层参数来完成,一种具体的处理方案如以下公式所示:
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
需要说明的是,上述阐述只是提供了一种基于卷积层的卷积核对应值,生成融合层卷积核对应值的处理方案,在实际应用中,还可以通过BN层的其他参数进行类似的处理,在满足数据处理要求的情况下,这样的变化并不会影响本申请的保护范围。
(2)通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值。
在具体的应用场景中,相应的处理可以通过BN层的缩放因子、偏置值、训练样本的均值、训练样本的标准差,以及极小正值等BN层参数来完成,一种具体的处理方案如以下公式所示:
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
需要说明的是,上述阐述只是提供了一种基于卷积层的偏置值,生成融合层偏置值的处理方案,在实际应用中,还可以通过BN层的其他参数进行类似的处理,在满足数据处理要求的情况下,这样的变化并不会影响本申请的保护范围。
步骤S102、通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则。
在具体的应用场景中,本步骤的处理具体可以根据以下公式完成:
其中,BN(i,j),表示坐标为(i,j)的融合层输出的像素值;
conv(i,j)′,表示修正后的卷积层数据处理规则;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对于坐标(i,j)偏移(x,y)对应的像素值;
kernel(x,y)′,表示融合层的卷积核对应值;
b′,表示融合层的偏置值。
当接收到待处理数据时,执行步骤S103。
步骤S103、通过所述融合层数据处理规则进行处理,并输出处理结果。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
本申请实施例公开了一种数据处理方法和装置,该方法通过BN层的参数,对卷积层数据处理规则中的参数进行了修正,并基于修正后的参数生成了融合层数据处理规则,从而,在接收到待处理数据时,可以直接根据融合层数据处理规则进行处理,输出正常的处理结果,通过应用本申请实施例所提出的技术方案,可以在包含BN层的深度学习网络中,实现正常的数据处理,避免BN层权重数值超过half实数范围而导致结果错误的问题,同时也减少了整个网络的计算量。
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如背景技术所述,卷积神经网络是深度学习里一个重要的分支,但在参数训练过程容易出现梯度消失或爆炸问题,即梯度变为0或无穷大,导致训练不能收敛,引入BN层不仅解决了梯度消失或爆炸问题,而且能够加快收敛速度,在深度学习领域得到较广泛的使用,但同时也引入一个问题即推理过程的计算量加大,甚至可能出现BN层权重(主要是variance)数值超过half(半精度浮点型,最大值为65504)的示数范围,而导致结果错误的问题。
本申请实施例提出了一种将卷积层和BN层融合的方法来减少推理过程的计算量。为了方便说明,本申请实施例采用融合前后处理过程直接对比的方式进行阐述。
首先,如图2所示,为本申请实施例所提出的一种未进行融合处理的包含BN层的深度学习网络的数据处理过程示意图。
在该场景下,如果采用现有技术的处理过程,需要分别进行卷积计算和BN层计算,具体说明如下:
1、卷积计算(对应于图2的卷基层)。
假设对任意一幅尺寸为Hi×Wi的图像(image)进行卷积计算,卷积核(kernel)大小为kh×kw,偏置为b,则对左上角坐标为(i,j)的局部图像块,其卷积后的结果可表示为:
其中,conv(i,j),表示坐标为(i,j)的卷积层输出的像素值;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i,j),表示坐标为(i,j)的图像的像素值;
image(i+x,j+y),表示相对于坐标(i,j)偏移(x,y)对应的像素值,其中,0≤x<kw,0≤y<kw;
kernel(x,y),表示坐标点为(x,y)对应的kernel值,即卷积核当前所对应的值;
b,表示bias偏置值。
2、Batch Normalization计算(对应于图2的BN层)。
对卷积后的结果conv(i,j)进行BN层计算,BN层的训练样本的均值为μB,标准差为σB,学习得到的参数为γ、β,则计算后的结果为:
代入卷积后的结果conv(i,j),即
即
其中,BN(i,j),表示坐标为(i,j)的BN层输出的像素值;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对于坐标(i,j)偏移(x,y)对应的像素值;
kernel(x,y),表示卷积层的卷积核对应的值;
b,表示卷积层的bias偏置值;
∈,表示BN层的极小正值,防止除零;
γ,表示BN层的缩放因子,是BN层引入的可学习参数;
β,表示BN层的偏置值,是BN层引入的可学习参数;
μB,表示BN层的训练样本的均值,为全局统计量;
σB,表示BN层的训练样本的标准差,为全局统计量。
基于上述的处理,可以实现未进行融合处理的包含BN层的深度学习网络的数据处理过程,但是,该过程推理过程的计算量加大,甚至可能出现BN层权重(主要是variance)数值超过half(半精度浮点型,最大值为65504)的示数范围,而导致结果错误的问题。
为了解决上述的问题,本申请实施例提出了相应的解决方案,将卷积层和BN层的处理相融合,在包含BN层的深度学习网络中,实现正常的数据处理,避免BN层权重数值超过half实数范围而导致结果错误的问题。
如图3所示,为本申请实施例所提出的一种融合处理后的包含BN层的深度学习网络的数据处理过程示意图,在该场景中,对于如图2所示的卷积层和BN层进行了融合处理(对应于图3的融合层),这样的融合是一种处理逻辑上的融合,即将前述的两个层中独立的处理过程进行合并,减少数据处理量,提升数据处理的效率。
在该场景下,只需要通过卷积层和BN层融合后的处理规则进行数据处理,具体处理规则说明如下:
其中
其中,BN(i,j),表示坐标为(i,j)的融合层输出的像素值;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对于坐标(i,j)偏移(x,y)对应的像素值;
kernel(x,y),表示卷积层的卷积核对应的值;
b,表示卷积层的bias偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值,防止除零;
kernel(x,y)′,表示融合层的卷积核对应值;
b′,表示融合层的偏置值。
从公式中可以看出,卷积层和BN层的运算最终可以转换为一个单纯的卷积运算,修正后的卷积核对应值和偏置值的获得方式也是基于BN层的参数修正来完成。
综上所述,在现有技术中,为了提高推理性能需要将模型参数从float精度转换成half精度(最大值为65504),但可能导致参数溢出(超出half所能表示的最大值),从而使结果不正确,本申请实施例所提出的技术方案可以解决BN层variance值σB 2较大导致溢出(即超出half的最大值)的问题,即通过将BN层的参数融合卷积层参数中来解决。
典型例子如下:
融合前(根据现有技术方案进行数据处理):
卷积层参数(以3x3卷积为例,即kh=kw=3):
kernel参数,即修正前卷积核的值:
{{0.0943,0.1035,0.32078},
{0.6903,0.3892,0.29345},
{0.2307,0.4598,0.739}}
b参数:24.7
BN层参数:γ=149.265;β=27.9125;μB=15;σB 2=483451;∈=1e-6
需要将上面的参数用half来表示,发现BN层的σB 2超出了half(最大值65504)的表示范围,为了解决这个问题需要卷积层和BN层融合,即本申请实施例所提出的技术方案。
融合后(根据本申请实施例所提出的技术方案进行处理):
卷积层参数:
kernel参数,即修正后卷积核对应的值:
{{0.0203,0.0222,0.0689},
{0.1482,0.0836,0.063},
{0.0495,0.0987,0.1581}}
b参数:29.995
BN层:无
融合后的卷积层参数未超出half的最大值,可以用half来表示。
由此可见,在使用本申请实施例所提出的技术方案时,在推理过程中,BN计算被省略,性能得到较大提升,以基础网络为ResNet18的R-FCN网络的处理过程为例:
在BN层进行融合前,计算一个输出值需要的乘加次数为:2*kh*kw+4,其中还包括开方和除法,计算效率较低。
但在BN层进行融合后,计算一个输出值需要的乘加次数为:2*kh*kw,只有乘加运算,计算效率得到提升。
在以上的处理过程中,BN层在推理过程中被去掉,但其效果通过基于BN层参数的修正过程,仍然在相应的处理结果中得以存在,因此,基于本申请实施例所提出的技术方案进行相应的处理,并不会影响训练过程的实现。
需要进一步说明的是,本申请实施例所提出的技术方案即使在基于float或者double数据类型的网络中同样适用,虽然权重溢出问题不存在,但可以提升性能,相应的,该技术方案也可以用于训练,提升训练速度。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
本申请实施例公开了一种数据处理方法和装置,该方法通过BN层的参数,对卷积层数据处理规则中的参数进行了修正,并基于修正后的参数生成了融合层数据处理规则,从而,在接收到待处理数据时,可以直接根据融合层数据处理规则进行处理,输出正常的处理结果,通过应用本申请实施例所提出的技术方案,可以在包含BN层的深度学习网络中,实现正常的数据处理,避免BN层权重数值超过half实数范围而导致结果错误的问题,同时也减少了整个网络的计算量。
为更清楚地说明本申请前述实施例提供的方案,基于与上述方法同样的发明构思,本申请实施例还提出了一种数据处理装置,应用于包含卷积层和BN层的深度学习网络中,其结构示意图如图4所示,具体包括:
修正模块41,用于通过BN层的参数,对卷积层数据处理规则中的参数进行修正;
生成模块42,用于通过所述修正模块41修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则;
处理模块43,用于在接收到待处理数据时,通过所述生成模块42所生成的融合层数据处理规则进行处理,并输出处理结果。
优选的,所述修正模块41,具体用于:
通过BN层的参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值;
通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值。
优选的,所述修正模块41,具体根据以下公式生成融合层的卷积核对应值:
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
优选的,所述修正模块41,具体根据以下公式生成融合层的偏置值:
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
优选的,所述生成模块42,具体根据以下公式生成融合层数据处理规则:
其中,BN(i,j),表示坐标为(i,j)的融合层输出的像素值;
conv(i,j)′,表示修正后的卷积层数据处理规则;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对于坐标(i,j)偏移(x,y)对应的像素值;
kernel(x,y)′,表示融合层的卷积核对应值;
b′,表示融合层的偏置值。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
本申请实施例公开了一种数据处理方法和装置,该方法通过BN层的参数,对卷积层数据处理规则中的参数进行了修正,并基于修正后的参数生成了融合层数据处理规则,从而,在接收到待处理数据时,可以直接根据融合层数据处理规则进行处理,输出正常的处理结果,通过应用本申请实施例所提出的技术方案,可以在包含BN层的深度学习网络中,实现正常的数据处理,避免BN层权重数值超过half实数范围而导致结果错误的问题,同时也减少了整个网络的计算量。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络侧设备等)执行本发明实施例各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的业务限制范围。
Claims (10)
1.一种数据处理方法,应用于包含卷积层和BN批量标准化层的深度学习网络中,其特征在于,所述方法具体包括:
通过BN层的参数,对卷积层数据处理规则中的参数进行修正;
通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则;
当接收到待处理数据时,通过所述融合层数据处理规则进行处理,并输出处理结果。
2.如权利要求1所述的方法,其特征在于,所述通过BN层的参数,对卷积层数据处理规则中的参数进行修正,具体包括:
通过BN层的参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值;
通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值。
3.如权利要求2所述的方法,其特征在于,所述通过BN层的参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值,具体根据以下公式完成:
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
4.如权利要求2所述的方法,其特征在于,所述通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值,具体根据以下公式完成:
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
5.如权利要求1所述的方法,其特征在于,所述通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则,具体根据以下公式完成:
其中,BN(i,j),表示坐标为(i,j)的融合层输出的像素值;
conv(i,j)′,表示修正后的卷积层数据处理规则;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对于坐标(i,j)偏移(x,y)对应的像素值;
kernel(x,y)′,表示融合层的卷积核对应值;
b′,表示融合层的偏置值。
6.一种数据处理装置,应用于包含卷积层和BN批量标准化层的深度学习网络中,其特征在于,具体包括:
修正模块,用于通过BN层的参数,对卷积层数据处理规则中的参数进行修正;
生成模块,用于通过所述修正模块修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则;
处理模块,用于在接收到待处理数据时,通过所述生成模块所生成的融合层数据处理规则进行处理,并输出处理结果。
7.如权利要求6所述的装置,其特征在于,所述修正模块,具体用于:
通过BN层的参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值;
通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值。
8.如权利要求7所述的装置,其特征在于,所述修正模块,具体根据以下公式生成融合层的卷积核对应值:
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
9.如权利要求7所述的装置,其特征在于,所述修正模块,具体根据以下公式生成融合层的偏置值:
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
10.如权利要求6所述的装置,其特征在于,所述生成模块,具体根据以下公式生成融合层数据处理规则:
其中,BN(i,j),表示坐标为(i,j)的融合层输出的像素值;
conv(i,j)′,表示修正后的卷积层数据处理规则;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对于坐标(i,j)偏移(x,y)对应的像素值;
kernel(x,y)′,表示融合层的卷积核对应值;
b′,表示融合层的偏置值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710437809.4A CN109034384B (zh) | 2017-06-12 | 2017-06-12 | 一种数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710437809.4A CN109034384B (zh) | 2017-06-12 | 2017-06-12 | 一种数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109034384A true CN109034384A (zh) | 2018-12-18 |
CN109034384B CN109034384B (zh) | 2021-06-22 |
Family
ID=64629224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710437809.4A Active CN109034384B (zh) | 2017-06-12 | 2017-06-12 | 一种数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109034384B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059733A (zh) * | 2019-04-01 | 2019-07-26 | 苏州科达科技股份有限公司 | 卷积神经网络的优化及快速目标检测方法、装置 |
CN110889497A (zh) * | 2018-12-29 | 2020-03-17 | 中科寒武纪科技股份有限公司 | 一种人工智能处理器的学习任务编译方法及相关产品 |
CN111767204A (zh) * | 2019-04-02 | 2020-10-13 | 杭州海康威视数字技术股份有限公司 | 溢出风险检测方法、装置及设备 |
CN113361703A (zh) * | 2020-03-06 | 2021-09-07 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046278A (zh) * | 2015-07-17 | 2015-11-11 | 江苏物联网研究发展中心 | 基于Haar特征的Adaboost检测算法的优化方法 |
US20160217368A1 (en) * | 2015-01-28 | 2016-07-28 | Google Inc. | Batch normalization layers |
CN106415492A (zh) * | 2014-05-30 | 2017-02-15 | 苹果公司 | 用于图形处理器单元上的图形和非图形计算的语言、函数库和编译器 |
CN106408562A (zh) * | 2016-09-22 | 2017-02-15 | 华南理工大学 | 基于深度学习的眼底图像视网膜血管分割方法及系统 |
CN106680281A (zh) * | 2016-12-31 | 2017-05-17 | 中国科学技术大学 | 一种基于深度残差学习网络的柴油车尾气烟度检测方法 |
-
2017
- 2017-06-12 CN CN201710437809.4A patent/CN109034384B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106415492A (zh) * | 2014-05-30 | 2017-02-15 | 苹果公司 | 用于图形处理器单元上的图形和非图形计算的语言、函数库和编译器 |
US20160217368A1 (en) * | 2015-01-28 | 2016-07-28 | Google Inc. | Batch normalization layers |
CN105046278A (zh) * | 2015-07-17 | 2015-11-11 | 江苏物联网研究发展中心 | 基于Haar特征的Adaboost检测算法的优化方法 |
CN106408562A (zh) * | 2016-09-22 | 2017-02-15 | 华南理工大学 | 基于深度学习的眼底图像视网膜血管分割方法及系统 |
CN106680281A (zh) * | 2016-12-31 | 2017-05-17 | 中国科学技术大学 | 一种基于深度残差学习网络的柴油车尾气烟度检测方法 |
Non-Patent Citations (2)
Title |
---|
SERGEY IOFFE 等: "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift", 《PROCEEDINGS OF THE 3}ND INTERNATIONAL CONFERENCE ON MACHINE LEARNING》 * |
陶攀 等: "基于深度学习的超声心动图切面识别方法", 《计算机应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110889497A (zh) * | 2018-12-29 | 2020-03-17 | 中科寒武纪科技股份有限公司 | 一种人工智能处理器的学习任务编译方法及相关产品 |
CN110059733A (zh) * | 2019-04-01 | 2019-07-26 | 苏州科达科技股份有限公司 | 卷积神经网络的优化及快速目标检测方法、装置 |
CN111767204A (zh) * | 2019-04-02 | 2020-10-13 | 杭州海康威视数字技术股份有限公司 | 溢出风险检测方法、装置及设备 |
CN111767204B (zh) * | 2019-04-02 | 2024-05-28 | 杭州海康威视数字技术股份有限公司 | 溢出风险检测方法、装置及设备 |
CN113361703A (zh) * | 2020-03-06 | 2021-09-07 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
CN113361703B (zh) * | 2020-03-06 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109034384B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034384A (zh) | 一种数据处理方法和装置 | |
KR102231058B1 (ko) | 데이터베이스 상태 결정 방법 및 디바이스, 및 일관성 검증 방법 및 디바이스 | |
US9600763B1 (en) | Information processing method, information processing device, and non-transitory recording medium for storing program | |
CN105630590B (zh) | 一种业务信息处理方法及装置 | |
CN110473249A (zh) | 一种网页用户界面与设计稿的对比方法、装置及终端设备 | |
WO2021110147A1 (zh) | 一种图像处理,图像训练以通道混洗方法和装置 | |
CN109409432B (zh) | 一种图像处理方法、装置和存储介质 | |
CN106446223A (zh) | 地图数据的处理方法和装置 | |
US20240062469A1 (en) | Data processing method, apparatus, device, and medium | |
CN107748913A (zh) | 一种深度神经网络的通用小型化方法 | |
CN114169508A (zh) | 一种神经网络系统中数据处理的方法及系统 | |
EP2940576B1 (en) | Approximating functions | |
CN113160041A (zh) | 一种模型训练方法及模型训练装置 | |
US9898228B2 (en) | Write method and write apparatus for storage device | |
CN110245994B (zh) | 一种负荷区域确定方法、系统及相关装置 | |
CN104484404B (zh) | 一种改善分布式文件系统中地理栅格数据文件处理方法 | |
JP7137067B2 (ja) | 演算処理装置、学習プログラム及び学習方法 | |
CN116109481A (zh) | 缩放方法、芯片、存储介质及电子设备 | |
CN115693684A (zh) | 电网暂态电压稳定方法、装置、设备及存储介质 | |
CN115983366A (zh) | 面向联邦学习的模型剪枝方法及系统 | |
CN114723024A (zh) | 用于存算一体芯片的基于线性规划的神经网络映射方法 | |
CN113112400A (zh) | 一种模型训练方法及模型训练装置 | |
CN108429640B (zh) | 一种网络设备的节点的显示方法及装置 | |
CN106157252A (zh) | 一种图像处理方法和图像处理装置 | |
WO2019127480A1 (zh) | 用于处理数值数据的方法、设备和计算机可读存储介质 |
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 |