数据处理方法和装置、芯片制造方法及图纸

技术编号:13779780 阅读:123 留言:0更新日期:2016-10-04 13:11
本发明专利技术实施例公开了一种数据处理方法、数据装置及芯片。其中,数据处理方法包括:在对N层神经网络中的第i层网络进行反向处理时,识别该第i层网络是否为线性网络;若该第i层网络为线性网络,通过第i层网络对该第i层网络的输出数据进行逆运算,获得该第i层网络的输入数据;其中,N为大于1的整数,i为整数、且1<i≤N;通过预设方式,基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i‑1层网络的训练数据;其中,i=N时,第i层网络的输出相关数据为表示第i层网络的输出数据与参考数据之间差异的差异函数;i<N时,第i层网络的输出相关数据为第i层网络的输出数据。本发明专利技术实施例可以节约片上存储资源。

【技术实现步骤摘要】

本专利技术属于数据处理领域,特别是涉及一种数据处理方法和装置、芯片
技术介绍
近年来随着深度学习技术的飞速发展,深度学习技术中的代表性技术——卷积神经网络(Convolutional Neural Networks,简称CNN)在图像识别、语音识别等模式识别领域得到了广泛地应用。为了缩短图像、语音等识别的时间,需要CNN具有强大的数据处理能力。目前通过增加片上存储资源来提高数据处理的速度已经成为一种趋势。但是片上存储资源是一种非常宝贵的资源,并且片上存储资源的增加是有限制的。CNN对数据的处理过程包括:正向处理过程和反向处理过程两部分。对于图像、语音等的识别来说,只需要对数据进行正向处理,不需要对中间数据进行存储,这样对片上存储资源的要求不高。但是,对CNN的训练过程却需要对数据进行正向处理和反向处理两部分操作,并且正向处理过程中的中间数据都要存储下来,以用于通过反向处理过程对网络参数进行优化。因此,对CNN的训练过程需要占用大量的片上存储资源,可能会导致片上存储资源耗尽,从而影响CNN的数据处理能力。
技术实现思路
本专利技术实施例要解决的一个技术问题是:提供一种数据处理方法和装置、芯片,以节约片上存储资源。根据本专利技术实施例的一个方面,提供一种数据处理方法,包括:在对N层神经网络中的第i层网络进行反向处理时,识别该第i层网络是否为线性网络;若该第i层网络为线性网络,通过第i层网络对该第i层网络的输出数据进行逆运算,获得该第i层网络的输入数据;其中,N为大于1的整数,i为整数、且1<i≤N;通过预设方式,基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i-1层网络的训练数据;其中,i=N时,所述第i层网络的输出相关数据为表示第i层网络的输出数据与参考数据之间差异的差异函数;i<N时,所述第i层网络的输出相关数据为第i层网络的输出数据。基于本专利技术上述方法的另一实施例中,还包括:获取第N层网络的输出数据与参考数据之间的差异,获得所述差异函数;计算差异函数对第N层网络的输出数据的导数,获得第N层网络输出数据的导数值。基于本专利技术上述方法的另一实施例中,所述差异函数具体为损失函数。基于本专利技术上述方法的另一实施例中,还包括:若该第i层网络为非线性网络,从存储单元中获取该第i层网络的输入数据;通过预设方式,基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i-1层网络的训练数据。基于本专利技术上述方法的另一实施例中,所述识别该第i层网络是否为线性网络包括:基于预先设置的网络类型标识,识别第i层网络是否为线性网络;所述网络类型标识包括非线性网络标识和/或非线性网络;或者识别存储单元中是否存储有所述第i层网络的输入数据;若存储单元中未存储所述第i层网络的输入数据,所述第i层网络为线性网络;否则,若存储
单元中存储有所述第i层网络的输入数据,所述第i层网络为非线性网络。基于本专利技术上述方法的另一实施例中,所述基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i-1层网络的训练数据包括:基于第i层网络输出数据的导数值,计算第i层网络的输出相关数据对第i层网络的输入数据的导数,获得第i-1层网络输出数据的导数值;所述训练数据具体为输出数据的导数值。基于本专利技术上述方法的另一实施例中,还包括:针对当前待处理的第i层网络,识别第i层网络是否为卷积层;若第i层网络为卷积层,基于第i层网络输出数据的导数值,计算第i层网络的输出相关数据对第i层网络的网络参数的导数,获得第i层网络的网络参数的导数值。基于本专利技术上述方法的另一实施例中,获取第i-1层网络的训练数据之后,还包括:识别i-1的值是否大于1;若i-1的值大于1,以第i-1层网络作为新的第i层网络,执行所述识别该第i层网络是否为线性网络的操作;若i-1的值等于1,识别第1层网络是否为卷积层;若第1层网络为卷积层,基于第1层网络输出数据的导数值,计算第1层网络的输出相关数据对第1层网络的网络参数的导数,获得第1层网络的网络参数的导数值。基于本专利技术上述方法的另一实施例中,获得网络参数的导数值之后,还包括:分别采用各层网络参数的导数值对各自层的卷积系数进行更新。基于本专利技术上述方法的另一实施例中,还包括:在对N层神经网络进行正向处理的过程中,选择性存储各层网络的输入数据。基于本专利技术上述方法的另一实施例中,所述选择性存储各层网络的输入数据包括:分别根据各层网络的网络类型,存储网络类型为非线性网络的输入数据。基于本专利技术上述方法的另一实施例中,所述线性网络包括:卷积层、批量规格化层、局部响应归一化层、激活函数层及全连接层。基于本专利技术上述方法的另一实施例中,所述N层神经网络包括深度神经网络DNN、卷积神经网络CNN、或循环神经网络RNN。根据本专利技术实施例的另一个方面,提供一种数据处理装置,包括:第一识别单元,用于在对N层神经网络中的第i层网络进行反向处理时,识别该第i层网络是否为线性网络;第一处理单元,用于根据第一识别单元的识别结果,若该第i层网络为线性网络,通过第i层网络对该第i层网络的输出数据进行逆运算,获得该第i层网络的输入数据;其中,N为大于1的整数,i为整数、且1<i≤N;以及通过预设方式,基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i-1层网络的训练数据;其中,i=N时,所述第i层网络的输出相关数据为表示第i层网络的输出数据与参考数据之间差异的差异函数;i<N时,所述第i层网络的输出相关数据为第i层网络的输出数据。基于本专利技术上述装置的另一实施例中,还包括:比较单元,用于获取第N层网络的输出数据与参考数据之间的差异,获得所述差异函数;第一计算单元,用于计算差异函数对第N层网络的输出数据的导数,获得第N层网络输出数据的导数值。基于本专利技术上述装置的另一实施例中,所述差异函数具体为损失函数。基于本专利技术上述装置的另一实施例中,所述第一处理单元,还用于根据第一识别单元的识别结果,若该第i层网络为非线性网络,从存储单元中获取该
第i层网络的输入数据;通过预设方式,基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i-1层网络的训练数据。基于本专利技术上述装置的另一实施例中,所述第一识别单元,具体用于基于预先设置的网络类型标识,识别第i层网络是否为线性网络;所述网络类型标识包括非线性网络标识和/或非线性网络;或者识别存储单元中是否存储有所述第i层网络的输入数据;若存储单元中未存储所述第i层网络的输入数据,所述第i层网络为线性网络;否则,若存储单元中存储有所述第i层网络的输入数据,所述第i层网络为非线性网络。基于本专利技术上述装置的另一实施例中,所述第一处理单元基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i-1层网络的训练数据,具体用于基于第i层网络输出数据的导数值,计算第i层网络的输出相关数据对第i层网络的输入数据的导数,获得第i-1层网络输出数据的导数值;所述训练数据具体为输出数据的导数值。基于本专利技术上述装置的另一实施例中,还包括:第二识别单元,用于针对当前待处理的第i层网络,识别第i层网络是否为卷积层;第二处理单元,用于根据第二识别单元的识别结果,若第i层网络为卷积层,基于第i层网络输本文档来自技高网
...

【技术保护点】
一种数据处理方法,其特征在于,包括:在对N层神经网络中的第i层网络进行反向处理时,识别该第i层网络是否为线性网络;若该第i层网络为线性网络,通过第i层网络对该第i层网络的输出数据进行逆运算,获得该第i层网络的输入数据;其中,N为大于1的整数,i为整数、且1<i≤N;通过预设方式,基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i‑1层网络的训练数据;其中,i=N时,所述第i层网络的输出相关数据为表示第i层网络的输出数据与参考数据之间差异的差异函数;i<N时,所述第i层网络的输出相关数据为第i层网络的输出数据。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:在对N层神经网络中的第i层网络进行反向处理时,识别该第i层网络是否为线性网络;若该第i层网络为线性网络,通过第i层网络对该第i层网络的输出数据进行逆运算,获得该第i层网络的输入数据;其中,N为大于1的整数,i为整数、且1<i≤N;通过预设方式,基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i-1层网络的训练数据;其中,i=N时,所述第i层网络的输出相关数据为表示第i层网络的输出数据与参考数据之间差异的差异函数;i<N时,所述第i层网络的输出相关数据为第i层网络的输出数据。2.根据权利要求1所述的方法,其特征在于,还包括:获取第N层网络的输出数据与参考数据之间的差异,获得所述差异函数;计算差异函数对第N层网络的输出数据的导数,获得第N层网络输出数据的导数值。3.根据权利要求2所述的方法,其特征在于,还包括:若该第i层网络为非线性网络,从存储单元中获取该第i层网络的输入数据;通过预设方式,基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i-1层网络的训练数据。4.根据权利要求3所述的方法,其特征在于,所述识别该第i层网络是否为线性网络包括:基于预先设置的网络类型标识,识别第i层网络是否为线性网络;所述网络类型标识包括非线性网络标识和/或非线性网络;或者识别存储单元中是否存储有所述第i层网络的输入数据;若存储单元中未
\t存储所述第i层网络的输入数据,所述第i层网络为线性网络;否则,若存储单元中存储有所述第i层网络的输入数据,所述第i层网络为非线性网络。5.根据权利要求4所述的方法,其特征在于,所述基于该第i层网络的输出相关数据和该第i层网络的输入数据,获取第i-1层网络的训练数据包括:基于第i层网络输出数据的导数值,计算第i层网络的输出相关数据对第i层网络...

【专利技术属性】
技术研发人员:杨存永范靖张力
申请(专利权)人:北京比特大陆科技有限公司
类型:发明
国别省市:北京;11

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

1