一种数据处理方法和装置制造方法及图纸

技术编号:19824263 阅读:42 留言:0更新日期:2018-12-19 15:35
本申请实施例公开了一种数据处理方法和装置,该方法通过BN层的参数,对卷积层数据处理规则中的参数进行了修正,并基于修正后的参数生成了融合层数据处理规则,从而,在接收到待处理数据时,可以直接根据融合层数据处理规则进行处理,输出正常的处理结果,通过应用本申请实施例所提出的技术方案,可以在包含BN层的深度学习网络中,实现正常的数据处理,避免BN层权重数值超过half实数范围而导致结果错误的问题,同时也减少了整个网络的计算量。

【技术实现步骤摘要】
一种数据处理方法和装置
本申请涉及网络数据处理领域,特别涉及一种数据处理方法和装置。
技术介绍
原始深度学习网络框架Caffe只支持float(单精度浮点型)数据类型(4字节)和double(双精度浮点型)数据类型(8字节)两种数据类型,目前大部分训练(train)、测试(test)以及应用过程(inference)都是基于float数据类型来完成的。但是某些大网络,耗时和显存消耗很严重,尤其是在嵌入式设备中,很多网络无法直接应用,这就对降低计算耗时和显存提出了更高的要求。解决方案之一是利用half(半精度浮点型)数据类型(2字节)来优化整个Caffe框架,由于每个数据的内存占用降低了一倍,整个网络的内存消耗也几乎降低了一倍,带宽消耗减小到原来的1/2,性能也可提升近一倍。越来越多的深度学习网络中开始用到BN(BatchNormalization,批量标准化)层,可以用来减小协方差偏移并带来很多好处,例如:可以使用更高的学习速率;不再那么小心翼翼地对待初始化的问题;还可以作为正则项,不再依赖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为本申请实施例所提本文档来自技高网
...

【技术保护点】
1.一种数据处理方法,应用于包含卷积层和BN批量标准化层的深度学习网络中,其特征在于,所述方法具体包括:通过BN层的参数,对卷积层数据处理规则中的参数进行修正;通过修正后的参数,对卷积层数据处理规则进行修正,生成融合层数据处理规则;当接收到待处理数据时,通过所述融合层数据处理规则进行处理,并输出处理结果。

【技术特征摘要】
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)对应的像素值;kern...

【专利技术属性】
技术研发人员:林志
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1