一种卷积神经网络的数据处理方法和装置制造方法及图纸

技术编号:17364089 阅读:27 留言:0更新日期:2018-02-28 14:27
本发明专利技术实施例公开了一种卷积神经网络的数据处理方法和装置;本发明专利技术实施例获取特征矩阵的矩阵参数,然后,根据该矩阵参数读取图像数据矩阵中相应的数据,得到待展开数据矩阵,根据该矩阵参数对待展开数据矩阵进行数据展开,得到展开后的数据,读取图像数据矩阵中相应数量的未展开数据,并根据该未展开数据更新该待展开数据矩阵,返回执行根据该矩阵参数对待展开数据矩阵进行展开的步骤;该方案可以提升卷积神经网络处理系统的数据处理能力。

A data processing method and device for a convolution neural network

The embodiment of the invention discloses a convolutional neural network data processing method and device; then the matrix parameters, the embodiment of the invention is to obtain the feature matrix according to the matrix parameters, read the corresponding data image data matrix, to obtain the data matrix according to the matrix parameters to expand data matrix data, get after the start of the data, read the corresponding number of image data matrix unfolding data, and according to the unfolding data update the data matrix, returns the matrix parameters according to the array of steps towards data moment; this scheme can improve the convolutional neural network processing system of data processing ability.

【技术实现步骤摘要】
一种卷积神经网络的数据处理方法和装置
本专利技术涉及神经网络
,具体涉及一种卷积神经网络的数据处理方法和装置。
技术介绍
神经网络及深度学习算法已经获得了非常成功的应用,并处于迅速发展的过程中。业界普遍预期这种新的计算方式有助于实现更为普遍和更为复杂的智能应用。其中,卷积神经网络(ConvolutionalNeuralNetwork,CNN)因为其在图像领域的突出效果,在深度学习中有着重要的位置,是运用最为广泛一种神经网络之一。卷积神经网络的卷积运算主要集中在卷积层,卷积神经网络的卷积运算可以分为数据展开和矩阵乘法两个过程。然而,在卷积神经网络的数据展开过程中有些数据会被重复读取多次,容易造成卷积运算所需的数据带宽的增加或者存储空间的增大,降低了卷积神经网络处理系统的数据处理能力。
技术实现思路
本专利技术实施例提供一种卷积神经网络的数据处理方法和装置,可以提升卷积神经网络处理系统的数据处理能力。本专利技术实施例提供一种卷积神经网络的数据处理方法,包括:获取特征矩阵的矩阵参数;根据所述矩阵参数读取图像数据矩阵中相应的数据,得到待展开数据矩阵;根据所述矩阵参数对待展开数据矩阵进行数据展开,得到展开后的数据;读取图像数据矩阵中相应数量的未展开数据,并根据所述未展开数据更新所述待展开数据矩阵;返回执行根据所述矩阵参数对待展开数据矩阵进行展开的步骤。相应的,本专利技术实施例还提一种卷积神经网络的数据处理装置,包括:获取单元,用于获取特征矩阵的矩阵参数;读取单元,用于根据所述矩阵参数读取图像数据矩阵中相应的数据,得到待展开数据矩阵;数据展开单元,用于根据所述矩阵参数对待展开数据矩阵进行数据展开,得到展开后的数据;更新单元,用于读取图像数据矩阵中相应数量的未展开数据,根据所述未展开数据更新所述待展开数据矩阵,并触发所述数据展开单元执行根据所述矩阵参数对待展开数据矩阵进行展开的步骤。本专利技术实施例采用获取特征矩阵的矩阵参数,然后,根据该矩阵参数读取图像数据矩阵中相应的数据,得到待展开数据矩阵,根据该矩阵参数对待展开数据矩阵进行数据展开,得到展开后的数据,读取图像数据矩阵中相应数量的未展开数据,并根据该未展开数据更新该待展开数据矩阵,返回执行根据该矩阵参数对待展开数据矩阵进行展开的步骤;该方案在卷积过程中可以复用读出的图像数据以实现数据展开,避免对某些数据重复读取,降低了卷积神经网络数据展开对数据带宽或存储空间的需求,因此,可以提升卷积神经网络处理系统的数据处理能力。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的卷积神经网络的数据处理方法的流程图;图2a至图2d是本专利技术实施例提供的数据滑动展开的示意图;图3a至图3i是现有卷积神经网络的数据展开的示意图;图4是现有卷积神经网络的矩阵乘法的示意图;图5是本专利技术实施例提供的卷积神经网络处理系统的架构示意图;图6a是现有在CPU上进行卷积神经网络的数据展开的示意图;图6b是现有在FPGA上进行卷积神经网络的数据展开的示意图;图7a至图7c是本专利技术实施例提供的卷积神经网络的数据展开的示意图;图8a是本专利技术实施例提供的卷积神经网络的数据处理方法的另一流程图;图8b是本专利技术实施例提供的环形缓冲器的读写示意图;图8c是本专利技术实施例提供的基于卷积神经网络的业务场景的架构示意图;图9a是本专利技术实施例提供的卷积神经网络的数据处理装置的结构示意图;图9b是本专利技术实施例提供的卷积神经网络的数据处理装置的另一结构示意图;图9c是本专利技术实施例提供的一种协处理器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种卷积神经网络的数据处理方法和装置。以下分别进行详细说明。实施例一、本实施例将卷积神经网络的数据处理装置的角度进行描述,该数据处理装置具体可以集成处理器中,该处理器可以为CPU、FPGA(FieldProgrammableGateArray,现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)、GPU(GraphicsProcessingUnit,图形处理器)或者协处理器中。一种卷积神经网络的数据处理方法,获取特征矩阵的矩阵参数,然后,根据该矩阵参数读取图像数据矩阵中相应的数据,得到待展开数据矩阵,根据该矩阵参数对待展开数据矩阵进行数据展开,得到展开后的数据,读取图像数据矩阵中相应数量的未展开数据,并根据该未展开数据更新该待展开数据矩阵,返回执行根据该矩阵参数对待展开数据矩阵进行展开的步骤。如图1所示,一种卷积神经网络的数据处理方法,具体流程可以如下:101、获取特征矩阵的矩阵参数。该特征矩阵为卷积运算的卷积核,也称为权重矩阵,该特征矩阵可以根据实际需求设定。其中,特征矩阵的矩阵参数可以包括矩阵行列数,可称为卷积核的尺寸。102、根据该矩阵参数读取图像数据矩阵中相应的数据,得到待展开数据矩阵。该图像数据矩阵中元素为图像像素对应的像素数据,如经过处理后的像素值。图像数据矩阵的行列数表示图像的大小。其中,该图像数据矩阵可以存在卷积神经网络处理系统的加速卡,比如,存储在加速卡的DDR(DoubleDataRate,双倍速率同步动态随机存储器)存储器中。也即步骤“根据该矩阵参数读取图像数据矩阵中相应行数的数据”可以包括:根据矩阵参数从DDR读取图像数据矩阵中相应的数据。本实施例中,可以根据矩阵参数读取图像数据矩阵中相应行数或者列数的矩阵。在矩阵参数包括:特征矩阵行列数时,读取的行数可以与特征矩阵行数对应,或者读取的列数可以与特征矩阵列数对应。比如,图像数据矩阵为N*N的矩阵,特征矩阵为K*K的矩阵时,可以读取N*N图像数据矩阵中K行数据,得到K*N的待展开数据矩阵;该K和N为正整数,且K≤N。该读取数据的起始位置可以根据实际需求设定,比如,可以从图像数据矩阵的第一行开始读取K行数据,也可以是从第2行开始读取K行数据等等。又比如,图像数据矩阵为N*N的矩阵,特征矩阵为K*M的矩阵时,可以读取N*N图像数据矩阵中M列数据,得到N*M的待展开数据矩阵,该M为正整数,且M≤N。103、根据该矩阵参数对待展开数据矩阵进行数据展开,得到展开后的数据。具体地,可以根据特征矩阵的行列数对待展开数据矩阵进行数据展开,展开之后可以得到若干数据组,在完成图像数据矩阵的数据展开后,可以根据该数据组形成一个数据矩阵,即展开后数据矩阵。后续可以根据展开后数据矩阵和特征矩阵作矩阵乘法,得到相应的数据,完成数据的卷积运算。比如,在得到K*N的待展开数据矩阵之后,可以根据特征矩阵的行列数对该K*N的待展开数据矩阵进行展开。可选地,步骤102和103之间,本实施例方法还可以包括:将该待展开数据矩阵保存至预设缓冲空本文档来自技高网...
一种卷积神经网络的数据处理方法和装置

【技术保护点】
一种卷积神经网络的数据处理方法,其特征在于,包括:获取特征矩阵的矩阵参数;根据所述矩阵参数读取图像数据矩阵中相应的数据,得到待展开数据矩阵;根据所述矩阵参数对待展开数据矩阵进行数据展开,得到展开后的数据;读取图像数据矩阵中相应数量的未展开数据,并根据所述未展开数据更新所述待展开数据矩阵;返回执行根据所述矩阵参数对待展开数据矩阵进行展开的步骤。

【技术特征摘要】
1.一种卷积神经网络的数据处理方法,其特征在于,包括:获取特征矩阵的矩阵参数;根据所述矩阵参数读取图像数据矩阵中相应的数据,得到待展开数据矩阵;根据所述矩阵参数对待展开数据矩阵进行数据展开,得到展开后的数据;读取图像数据矩阵中相应数量的未展开数据,并根据所述未展开数据更新所述待展开数据矩阵;返回执行根据所述矩阵参数对待展开数据矩阵进行展开的步骤。2.如权利要求1所述的数据处理方法,其特征在于,在得到所述待展开数据矩阵之后,对待展开数据矩阵进行数据展开之前,所述数据处理方法还包括:将所述待展开数据矩阵保存至预设缓冲空间中;所述根据所述矩阵参数对待展开数据矩阵进行数据展开,包括:根据所述矩阵参数和所述待展开数据矩阵的数据在预设缓冲空间内的存储地址,对所述待展开数据矩阵进行数据展开。3.如权利要求2所述的数据处理方法,其特征在于,根据所述矩阵参数和所述待展开数据矩阵的数据在预设缓冲空间内的存储地址,对所述待展开数据矩阵进行数据展开,包括:根据所述矩阵参数确定滑动窗口;根据预设滑动方向和预设滑动步长在所述待展开数据矩阵上滑动所述滑动窗口;在每次滑动后获取所述滑动窗口内数据在所述预设缓冲空间内的存储地址;根据所述存储地址从所述预设缓冲空间读出相应的数据,以完成数据展开。4.如权利要求2所述的数据处理方法,其特征在于,所述读取图像数据矩阵中相应数量的未展开数据,包括:根据第一预定数据量读取图像数据矩阵中相应数量的未展开数据;将所述未展开数据保存至所述预设缓冲空间内。5.如权利要求4所述的数据处理方法,其特征在于,所述根据第一预定数据量读取图像数据矩阵中相应数量的未展开数据,包括:获取所述预设缓冲空间的剩余可用容量;当所述预设缓冲空间的剩余可用容量大于或等于所述第一预定数据量时,根据第一预定数据量读取图像数据矩阵中相应数量的未展开数据。6.如权利要求4所述的数据处理方法,其特征在于,根据所述未展开数据更新所述待展开数据矩阵,包括:从所述未展开数据中选取相应数量的目标数据;根据所述目标数据更新所述待展开数据矩阵。7.如权利要求5所述的数据处理方法,其特征在于,根据所述矩阵参数和所述待展开数据矩阵的数据在预设缓冲空间内的存储地址,对所述待展开数据矩阵进行数据展开,包括:获取所述预设缓冲空间当前的缓存数据量;当所述缓存数据量大于或等于第二预定数据量时,根据所述矩阵参数和所述待展开数据矩阵的数据在预设缓冲空间内的存储地址,对所述待展开数据矩阵进行数据展开。8.一种卷积神经网络的数据处理装置,其...

【专利技术属性】
技术研发人员:张阳明高剑林章恒
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1