CN109034384B - 一种数据处理方法和装置 - Google Patents

一种数据处理方法和装置 Download PDF

Info

Publication number
CN109034384B
CN109034384B CN201710437809.4A CN201710437809A CN109034384B CN 109034384 B CN109034384 B CN 109034384B CN 201710437809 A CN201710437809 A CN 201710437809A CN 109034384 B CN109034384 B CN 109034384B
Authority
CN
China
Prior art keywords
layer
value
data processing
processing rule
fusion
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
Application number
CN201710437809.4A
Other languages
English (en)
Other versions
CN109034384A (zh
Inventor
林志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN201710437809.4A priority Critical patent/CN109034384B/zh
Publication of CN109034384A publication Critical patent/CN109034384A/zh
Application granted granted Critical
Publication of CN109034384B publication Critical patent/CN109034384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning 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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Image Analysis (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层的参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值,具体根据以下公式完成:
Figure BDA0001319082380000031
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
优选的,所述通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值,具体根据以下公式完成:
Figure BDA0001319082380000041
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
优选的,所述通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则,具体根据以下公式完成:
Figure BDA0001319082380000042
其中,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层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值。
优选的,所述修正模块,具体根据以下公式生成融合层的卷积核对应值:
Figure BDA0001319082380000051
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
优选的,所述修正模块,具体根据以下公式生成融合层的偏置值:
Figure BDA0001319082380000061
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
优选的,所述生成模块,具体根据以下公式生成融合层数据处理规则:
Figure BDA0001319082380000062
其中,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层参数来完成,一种具体的处理方案如以下公式所示:
Figure BDA0001319082380000091
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
需要说明的是,上述阐述只是提供了一种基于卷积层的卷积核对应值,生成融合层卷积核对应值的处理方案,在实际应用中,还可以通过BN层的其他参数进行类似的处理,在满足数据处理要求的情况下,这样的变化并不会影响本申请的保护范围。
(2)通过BN层的参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值。
在具体的应用场景中,相应的处理可以通过BN层的缩放因子、偏置值、训练样本的均值、训练样本的标准差,以及极小正值等BN层参数来完成,一种具体的处理方案如以下公式所示:
Figure BDA0001319082380000092
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
需要说明的是,上述阐述只是提供了一种基于卷积层的偏置值,生成融合层偏置值的处理方案,在实际应用中,还可以通过BN层的其他参数进行类似的处理,在满足数据处理要求的情况下,这样的变化并不会影响本申请的保护范围。
步骤S102、通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则。
在具体的应用场景中,本步骤的处理具体可以根据以下公式完成:
Figure BDA0001319082380000101
其中,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)的局部图像块,其卷积后的结果可表示为:
Figure BDA0001319082380000121
其中,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,学习得到的参数为γ、β,则计算后的结果为:
Figure BDA0001319082380000131
代入卷积后的结果conv(i,j),即
Figure BDA0001319082380000132
Figure BDA0001319082380000133
其中,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层融合后的处理规则进行数据处理,具体处理规则说明如下:
Figure BDA0001319082380000141
其中
Figure BDA0001319082380000151
Figure BDA0001319082380000152
其中,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,具体根据以下公式生成融合层的卷积核对应值:
Figure BDA0001319082380000191
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
kernel(x,y)′,表示融合层的卷积核对应值。
优选的,所述修正模块41,具体根据以下公式生成融合层的偏置值:
Figure BDA0001319082380000192
其中,b,表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
∈,表示BN层的极小正值;
b′,表示融合层的偏置值。
优选的,所述生成模块42,具体根据以下公式生成融合层数据处理规则:
Figure BDA0001319082380000201
其中,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 (6)

1.一种数据处理方法,应用于包含卷积层和BN批量标准化层的深度学习网络中,其特征在于,所述方法具体包括:
通过BN层的参数,对卷积层数据处理规则中的参数进行修正;其中,所述通过BN层的参数,对卷积层数据处理规则中的参数进行修正,包括,
通过BN层的第一参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值,所述BN层的第一参数包括BN层的缩放因子、训练样本的标准差以及极小正值;
通过BN层的第二参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值,所述BN层的第二参数包括BN层的缩放因子、偏置值、训练样本的均值、训练样本的标准差以及极小正值;
通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则,其中,所述修正后的参数包括所述融合层的卷积核对应值以及所述融合层的偏置值;所述通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则,具体根据以下公式完成:
Figure FDA0003007661060000011
其中,BN(i,j),表示坐标(i,j)的融合层输出的像素值;
conv(i,j)′,表示修正后的卷积层数据处理规则;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对与坐标(i,j)偏移(x,y)对应的像素值;
kernel(x,y)′,表示融合层的卷积核对应值;
b′,表示融合层的偏置值;
当接收到待处理数据时,通过所述融合层数据处理规则进行处理,并输出处理结果。
2.如权利要求1所述的方法,其特征在于,所述通过BN层的第一参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值,具体根据以下公式完成:
Figure FDA0003007661060000021
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
ε,表示BN层的极小正直;
kernel(x,y)′,表示融合层的卷积核对应值。
3.如权利要求1所述的方法,其特征在于,所述通过BN层的第二参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值,具体根据以下公式完成:
Figure FDA0003007661060000022
其中,b表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
ε,表示BN层的极小正值;
b′,表示融合层的偏置值。
4.一种数据处理装置,应用于包含卷积层和BN批量标准化层的深度学习网络中,其特征在于,具体包括:
修正模块,用于通过BN层的参数,对卷积层数据处理规则中的参数进行修正;其中,所述修正模块具体用于:
通过BN层的第一参数,对卷积层数据处理规则中的卷积核对应值进行修正,生成融合层的卷积核对应值,所述BN层的第一参数包括BN层的缩放因子、训练样本的标准差以及极小正值;
通过BN层的第二参数,对卷积层数据处理规则中的偏置值进行修正,生成融合层的偏置值,所述BN层的第二参数包括BN层的缩放因子、偏置值、训练样本的均值、训练样本的标准差以及极小正值
生成模块,用于通过所述修正模块修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则,其中,所述修正后的参数包括所述融合层的卷积核对应值以及所述融合层的偏置值;所述生成模块,具体根据以下公式生成融合层数据处理规则:
Figure FDA0003007661060000031
其中,BN(i,j),表示坐标(i,j)的融合层输出的像素值;
conv(i,j)′,表示修正后的卷积层数据处理规则;
kh,表示待处理数据的卷积核的高;
kw,表示待处理数据的卷积核的宽;
image(i+x,j+y),表示相对与坐标(i,j)偏移(x,y)对应的像素值;
kernel(x,y)′,表示融合层的卷积核对应值;
b′,表示融合层的偏置值;
处理模块,用于在接收到待处理数据时,通过所述生成模块所生成的融合层数据处理规则进行处理,并输出处理结果。
5.如权利要求4所述的装置,其特征在于,所述修正模块,具体根据以下公式生成融合层的卷积核对应值:
Figure FDA0003007661060000041
其中,kernel(x,y),表示卷积层数据处理规则中的卷积核对应的值;
γ,表示BN层的缩放因子;
σB,表示BN层的训练样本的标准差;
ε,表示BN层的极小正直;
kernel(x,y)′,表示融合层的卷积核对应值。
6.如权利要求4所述的装置,其特征在于,所述修正模块,具体根据以下公式生成融合层的偏置值:
Figure FDA0003007661060000042
其中,b表示卷积层数据处理规则中的偏置值;
γ,表示BN层的缩放因子;
β,表示BN层的偏置值;
μB,表示BN层的训练样本的均值;
σB,表示BN层的训练样本的标准差;
ε,表示BN层的极小正值;
b′,表示融合层的偏置值。
CN201710437809.4A 2017-06-12 2017-06-12 一种数据处理方法和装置 Active CN109034384B (zh)

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 CN109034384A (zh) 2018-12-18
CN109034384B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889497B (zh) * 2018-12-29 2021-04-23 中科寒武纪科技股份有限公司 一种人工智能处理器的学习任务编译方法及相关产品
CN110059733A (zh) * 2019-04-01 2019-07-26 苏州科达科技股份有限公司 卷积神经网络的优化及快速目标检测方法、装置
CN111767204B (zh) * 2019-04-02 2024-05-28 杭州海康威视数字技术股份有限公司 溢出风险检测方法、装置及设备
CN113361703B (zh) * 2020-03-06 2023-09-05 杭州海康威视数字技术股份有限公司 一种数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415492A (zh) * 2014-05-30 2017-02-15 苹果公司 用于图形处理器单元上的图形和非图形计算的语言、函数库和编译器
CN106408562A (zh) * 2016-09-22 2017-02-15 华南理工大学 基于深度学习的眼底图像视网膜血管分割方法及系统
CN106680281A (zh) * 2016-12-31 2017-05-17 中国科学技术大学 一种基于深度残差学习网络的柴油车尾气烟度检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016123409A1 (en) * 2015-01-28 2016-08-04 Google Inc. Batch normalization layers
CN105046278B (zh) * 2015-07-17 2019-04-16 江苏物联网研究发展中心 基于Haar特征的Adaboost检测算法的优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415492A (zh) * 2014-05-30 2017-02-15 苹果公司 用于图形处理器单元上的图形和非图形计算的语言、函数库和编译器
CN106408562A (zh) * 2016-09-22 2017-02-15 华南理工大学 基于深度学习的眼底图像视网膜血管分割方法及系统
CN106680281A (zh) * 2016-12-31 2017-05-17 中国科学技术大学 一种基于深度残差学习网络的柴油车尾气烟度检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift;Sergey Ioffe 等;《Proceedings of the 3}nd International Conference on Machine Learning》;20151231;第1-9页 *
基于深度学习的超声心动图切面识别方法;陶攀 等;《计算机应用》;20170510;第1434-1438、1450页 *

Also Published As

Publication number Publication date
CN109034384A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN109034384B (zh) 一种数据处理方法和装置
US10360664B2 (en) Image processing apparatus and method using machine learning
WO2021088101A1 (zh) 基于改进的条件生成对抗网络的绝缘子分割方法
US20190244100A1 (en) Cascaded computing for convolutional neural networks
US20220083857A1 (en) Convolutional neural network operation method and device
US20220004884A1 (en) Convolutional Neural Network Computing Acceleration Method and Apparatus, Device, and Medium
CN109284761B (zh) 一种图像特征提取方法、装置、设备及可读存储介质
CN112164008B (zh) 图像数据增强网络的训练方法及其训练装置、介质和设备
US20150090794A1 (en) Method and system for correcting qr code image
CN107748915A (zh) 深度神经网络dnn模型的压缩方法、装置、设备及介质
CN112862838A (zh) 基于用户实时点击交互的自然图像抠图方法
CN111783957B (zh) 模型量化训练方法、装置、机器可读存储介质及电子设备
CN107729885B (zh) 一种基于多重残差学习的人脸增强方法
CN114138231B (zh) 执行矩阵乘法运算的方法、电路及soc
CN111461302A (zh) 一种基于卷积神经网络的数据处理方法、设备及存储介质
CN116503686B (zh) 图像矫正模型的训练方法、图像矫正方法、装置及介质
CN116957024A (zh) 利用神经网络模型进行推理的方法和装置
CN116382617A (zh) 基于fpga的带并行排序功能的奇异值分解加速器
CN115660991A (zh) 模型的训练方法、图像曝光矫正方法、装置、设备及介质
JP2020027604A (ja) 情報処理方法、及び情報処理システム
CN114463361A (zh) 网络模型训练方法、装置、设备、介质及程序产品
CN104320659A (zh) 背景建模方法、装置及设备
CN113962332A (zh) 基于自优化融合反馈的显著目标识别方法
US11074712B2 (en) Gradient direction calculation device
CN111382834B (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