CN106355247B - 数据处理方法和装置、芯片和电子设备 - Google Patents

数据处理方法和装置、芯片和电子设备 Download PDF

Info

Publication number
CN106355247B
CN106355247B CN201610677041.3A CN201610677041A CN106355247B CN 106355247 B CN106355247 B CN 106355247B CN 201610677041 A CN201610677041 A CN 201610677041A CN 106355247 B CN106355247 B CN 106355247B
Authority
CN
China
Prior art keywords
output neuron
neuron
output
preset mark
convolution
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
CN201610677041.3A
Other languages
English (en)
Other versions
CN106355247A (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.)
Beijing suneng Technology Co.,Ltd.
Original Assignee
Feng Feng Technology (beijing) 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 Feng Feng Technology (beijing) Co Ltd filed Critical Feng Feng Technology (beijing) Co Ltd
Priority to CN201610677041.3A priority Critical patent/CN106355247B/zh
Publication of CN106355247A publication Critical patent/CN106355247A/zh
Application granted granted Critical
Publication of CN106355247B publication Critical patent/CN106355247B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

本发明实施例公开了一种数据处理方法和装置、芯片和电子设备。其中,方法包括:在最大池化层进行反向处理时,获取输出神经元的梯度值及所述输出神经元预设的标识;根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;将输出神经元的梯度值与所述卷积系数进行卷积处理,以获得输出神经元对应的输入神经元的梯度值。本发明实施例在卷积神经网络的训练过程中,不需要设置单独的电路来进行最大池化层的反向处理,结构简单,减小了整体电路的面积,成本低。

Description

数据处理方法和装置、芯片和电子设备
技术领域
本发明属于数据处理领域,特别是涉及一种数据处理方法和装置、芯片和电子设备。
背景技术
近年来,随着深度学习技术的飞速发展,深度学习技术中的代表性技术——卷积神经网络(Convolutional Neural Networks,CNN)在图像识别等模式识别领域得到了广泛地应用。
最大池化层(Max Pooling)是卷积神经网络中最常见的一种下采样层,它是通过抽取若干在邻域中具有最大得分的特征值作为池化层的保留值,因此最大池化层能够保证网络模型位置与旋转的不变性,减少网络模型参数的数量,并且有利于减少网络模型的过拟合问题。
目前,在卷积神经网络的训练过程中,对最大池化层进行反向处理都是采用单独的硬件电路来实现,电路结构非常复杂。
发明内容
本发明实施例要解决的一个技术问题是:提供一种数据处理方法和装置、芯片和电子设备。
根据本发明实施例的一个方面,提供一种数据处理方法,包括:
在最大池化层进行反向处理时,获取输出神经元的梯度值及所述输出神经元预设的标识;
根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;
将输出神经元的梯度值与所述卷积系数进行卷积处理,以获得所述输出神经元对应的输入神经元的梯度值。
在基于本发明上述方法的另一实施例中,所述获得卷积系数包括:
检测总线上广播的信息与输出神经元预设的标识是否一致;
若总线上广播的信息与输出神经元预设的标识一致,获得第一卷积系数;
若总线上广播的信息与输出神经元预设的标识不一致,获得第二卷积系数。
在基于本发明上述方法的另一实施例中,所述第一卷积系数的取值为1,所述第二卷积系数的取值为0。
在基于本发明上述方法的另一实施例中,所述预设的标识与所述广播的信息均采用数字表示。
在基于本发明上述方法的另一实施例中,所述预设的标识具体为在最大池化层进行前向处理时,获得所述输出神经元时设置的、与最大值在池化窗口中的位置相关的数字。
在基于本发明上述方法的另一实施例中,所述广播的信息具体为与系统时钟相关的数字。
在基于本发明上述方法的另一实施例中,在最大池化层进行反向处理时,分别在每一个系统时钟,开始执行所述获取输出神经元的梯度值及所述输出神经元预设的标识的操作,直至获得所述输出神经元对应的输入神经元的梯度值所述方法还包括:
获得所述输出神经元对应的输入神经元的梯度值后,判断是否完成对所有输出神经元梯度值的累加;
若完成对所有输出神经元梯度值的累加,将累加后的数据输出;
若未完成对所有输出神经元梯度值的累加,在下一个系统时钟,开始执行所述获取输出神经元的梯度值及所述输出神经元预设的标识的操作。
根据本发明实施例的另一个方面,提供一种数据处理装置,包括:
获取单元,用于在最大池化层进行反向处理时,获取输出神经元的梯度值及所述输出神经元预设的标识;
系数产生单元,用于根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;
卷积单元,用于将输出神经元的梯度值与所述卷积系数进行卷积处理,以获得所述输出神经元对应的输入神经元的梯度值。
在基于本发明上述装置的另一实施例中,所述系数产生单元包括:
检测模块,用于检测总线上广播的信息与输出神经元预设的标识是否一致;
第一系数产生模块,用于根据所述检测模块的检测结果,响应于总线上广播的信息与输出神经元预设的标识一致,获得第一卷积系数;
第二系数产生模块,用于根据所述检测模块的检测结果,响应于总线上广播的信息与输出神经元预设的标识不一致,获得第二卷积系数。
在基于本发明上述装置的另一实施例中,所述第一卷积系数的取值为1,所述第二卷积系数的取值为0。
在基于本发明上述装置的另一实施例中,所述预设的标识与所述广播的信息均以数字表示。
在基于本发明上述装置的另一实施例中,所述预设的标识具体为在最大池化层进行前向处理时,获得所述输出神经元时设置的、与最大值在池化窗口中的位置相关的数字。
在基于本发明上述装置的另一实施例中,所述广播的信息具体为与系统时钟相关的数字。
在基于本发明上述装置的另一实施例中,在最大池化层进行反向处理时,分别在每一个系统时钟,
所述获取单元开始执行所述获取输出神经元的梯度值及所述输出神经元预设的标识的操作,直至
所述卷积单元获得所述输出神经元对应的输入神经元的梯度值;
所述装置还包括:
判断单元,用于获得所述输出神经元对应的输入神经元的梯度值后,判断是否完成对所有输出神经元梯度值的累加;
输出单元,用于根据所述判断单元的判断结果,响应于完成对所有输出神经元梯度值的累加,将累加后的数据输出;
所述获取单元,用于根据所述判断单元的判断结果,响应于未完成对所有输出神经元梯度值的累加,在下一个系统时钟,开始执行所述获取输出神经元的梯度值及所述输出神经元预设的标识的操作。
根据本发明实施例的又一个方面,提供一种芯片,包括:上述任意一项所述的数据处理装置。
在基于本发明上述芯片的另一实施例中,包括:专用集成电路ASIC、现场可编程门阵列FPGA、中央处理单元CPU或图形处理单元GPU。
根据本发明实施例的再一个方面,提供一种电子设备,包括:上述的芯片。
基于本发明实施例提供的数据处理方法和装置、芯片和电子设备,在最大池化层进行反向处理时,通过获取输出神经元的梯度值及所述输出神经元预设的标识;根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;将输出神经元的梯度值与所述卷积系数进行卷积处理,获得与所述输出神经元对应的输入神经元的梯度值。本发明实施例在卷积神经网络的训练过程中,不需要设置单独的电路来进行最大池化层的反向处理,结构简单,减小了整体电路的面积,成本低。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明数据处理方法一个实施例的流程图。
图2为本发明数据处理方法另一个实施例的流程图。
图3为本发明数据处理方法又一个实施例的流程图。
图4为本发明数据处理装置一个实施例的结构图。
图5为本发明数据处理装置另一个实施例的结构图。
图6为本发明数据处理装置又一个实施例的结构图。
图7为本发明芯片一个实施例的局部结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本发明数据处理方法一个实施例的流程图。如图1所示,该实施例的数据处理方法,包括:
102,在最大池化层进行反向处理时,获取输出神经元的梯度值及输出神经元预设的标识。
具体实现中,在最大池化层进行前向处理时,获得输出神经元时,根据最大值在池化窗口中的位置,设置输出神经元预设的标识,输出神经元预设的标识反映了在最大池化层进行前向处理时输出神经元是从池化窗口中的什么位置选取的。
104,根据总线上广播的信息与输出神经元预设的标识,获得卷积系数。
106,将输出神经元的梯度值与卷积系数进行卷积处理,以获得输出神经元对应的输入神经元的梯度值。
基于本发明实施例提供的数据处理方法,在最大池化层进行反向处理时,通过获取输出神经元的梯度值及所述输出神经元预设的标识;根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;将输出神经元的梯度值与所述卷积系数进行卷积处理,获得与所述输出神经元对应的输入神经元的梯度值。本发明实施例在卷积神经网络的训练过程中,不需要设置单独的电路来进行最大池化层的反向处理,结构简单,减小了整体电路的面积,成本低。
图2为本发明数据处理方法另一个实施例的流程图。如图2所示,该实施例的数据处理方法,包括:
202,在最大池化层进行反向处理时,获取输出神经元的梯度值及输出神经元预设的标识。
具体实现中,在最大池化层进行前向处理时,获得输出神经元时,根据最大值在池化窗口中的位置,设置输出神经元预设的标识,输出神经元预设的标识反映了在最大池化层进行前向处理时输出神经元是从池化窗口中的什么位置选取的。
204,检测总线上广播的信息与输出神经元预设的标识是否一致。
若总线上广播的信息与输出神经元预设的标识一致,执行操作206;否则,若总线上广播的信息与输出神经元预设的标识不一致,执行操作208。
206,获得第一卷积系数。
208,获得第二卷积系数。
具体实现中,第一卷积系数的取值例如可以为1,第二卷积系数的取值例如可以为0。
具体地,可以根据下面的公式获得卷积系数:
ker nel(p,q)(kx,ky)=(index(p+kx,q+ky)==(-kx,-ky)?1:0)
其中,kernel(p,q)为卷积系数,index为输出神经元预设的标识,(kx,ky)为卷积系数在当前卷积窗口中的坐标,(p+kx,q+ky)为输出神经元在特征图中的坐标。
210,将输出神经元的梯度值与卷积系数进行卷积处理,以获得与输出神经元对应的输入神经元的梯度值。
具体地,可以根据下面的公式获得输入神经元的梯度值:
其中,od为输出神经元的梯度值,id为输入神经元的梯度值,(p,q)为输入神经元在特征图中的坐标。
基于本发明实施例提供的数据处理方法,通过检测总线上广播的信息与输出神经元预设的标识是否一致,在总线上广播的信息与输出神经元预设的标识一致时,将所获取的输出神经元的梯度进行累加,在总线上广播的信息与输出神经元预设的标识不一致时,丢弃所获取的输出神经元的梯度,可以实现对存储器有规律的访问,减少访存的次数,加快处理速度。
图3为本发明数据处理方法又一个实施例的流程图。如图3所示,该实施例的数据处理方法,在最大池化层进行反向处理时,分别在每一个系统时钟,执行以下操作:
302,获取输出神经元的梯度值及输出神经元预设的标识。
具体实现中,可以利用多个累加器分别获取输出神经元的梯度值及输出神经元预设的标识,其中各累加器所获取的输出神经元的梯度值为不同输出神经元的梯度值。
具体地,各累加器可以是在当前系统时钟的时钟上升沿,获取输出神经元的梯度值及输出神经元预设的标识。
304,检测总线上广播的信息与所获取的输出神经元预设的标识是否一致。
若总线上广播的信息与输出神经元预设的标识一致,执行操作306;否则,若总线上广播的信息与输出神经元预设的标识不一致,执行操作308。
具体实现中,输出神经元预设的标识与总线上广播的信息可以采用数字表示。
具体地,在最大池化层进行前向处理时,以数字表示池化窗口中的各个位置,在获得输出神经元时,根据最大值在池化窗口中的位置,设置输出神经元预设的标识。
例如,在一个具体应用中,对于前向处理时一个3*3的池化窗口,池化窗口中的各个位置可以1、2、3、4、5、6、7、8、9表示,在获得输出神经元时,输出神经元预设的标识可以设置为最大值在池化窗口中的位置对应的数字。
具体地,系统时钟用作计数,每经过一个系统时钟,计数器就会自动加1,根据计数器记录的数字,设置总线上广播的信息。
例如,在一个具体应用中,对于前向处理时一个3*3的池化窗口,池化窗口中的各个位置可以0、1、2、3、4、5、6、7、8表示,在获得输出神经元时,输出神经元预设的标识可以设置为最大值在池化窗口中的位置对应的数字,对应的,总线上广播的信息可以根据计数器最初的记录,设置为0,并在经过一个系统时钟后,计数器自动加1,总线上广播的信息也根据计数器记录的数字变为1,在又经过一个系统时钟后,计数器自动加1,总线上广播的信息也根据计数器记录的数字变为2,以此类推。
具体实现中,可以利用多个累加器分别检测总线上广播的信息与所获取的输出神经元预设的标识是否一致。
306,获得的卷积系数为1。
308,获得的卷积系数为0。
310,将输出神经元的梯度值与卷积系数进行卷积处理,以获得与输出神经元对应的输入神经元的梯度值。
具体实现中,可以利用多个累加器分别将所获取的输出神经元的梯度值与卷积系数进行卷积处理。
312,判断是否完成对所有输出神经元梯度的累加。
若完成对所有输出神经元梯度的累加,执行操作314;否则,若未完成对所有输出神经元梯度的累加,在下一个系统时钟,执行操作302。
314,将累加的数据输出。
具体实现中,可以将多个累加器中累加的数据输出,获得最大池化层所有输入神经元的梯度值。
基于本发明实施例提供的数据处理方法,通过以数字表示的最大值在池化窗口中的位置作为输出神经元预设的标识,同时采用计数器记录的系统时钟的数字作为总线上广播的信息,便于利用系统时钟的累加实现总线上广播的信息的自增加,从而在每一个系统时钟各累加器可以通过判断输出神经元预设的标识与总线上广播的信息是否一致,来确定是否对所获取的在自己卷积窗口中同样位置的输出神经元的梯度进行累加。
图4为本发明数据处理装置一个实施例的结构图。该实施例的数据处理装置可用于实现本发明上述各实施例的数据处理方法。如图4所示,该实施例的数据处理装置,包括:获取单元、系数产生单元和卷积单元。其中:
获取单元,用于在最大池化层进行反向处理时,获取输出神经元的梯度值及输出神经元预设的标识。
具体实现中,在最大池化层进行前向处理时,获得输出神经元时,根据最大值在池化窗口中的位置,设置输出神经元预设的标识,输出神经元预设的标识反映了在最大池化层进行前向处理时输出神经元是从池化窗口中的什么位置选取的。
系数产生单元,用于根据总线上广播的信息与输出神经元预设的标识,获得卷积系数。
卷积单元,用于将输出神经元的梯度值与卷积系数进行卷积处理,以获得输出神经元对应的输入神经元的梯度值。
基于本发明实施例提供的数据处理装置,在最大池化层进行反向处理时,通过获取输出神经元的梯度值及所述输出神经元预设的标识;根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;将输出神经元的梯度值与所述卷积系数进行卷积处理,获得与所述输出神经元对应的输入神经元的梯度值。本发明实施例在卷积神经网络的训练过程中,不需要设置单独的电路来进行最大池化层的反向处理,结构简单,减小了整体电路的面积,成本低。
图5为本发明数据处理装置另一个实施例的结构图。如图5所示,与图4所示的实施例相比,该实施例中,系数产生单元具体包括:检测模块、第一系数产生模块和第二系数产生模块。其中:
检测模块,用于检测总线上广播的信息与输出神经元预设的标识是否一致。
第一系数产生模块,用于根据所述检测模块的检测结果,响应于总线上广播的信息与输出神经元预设的标识一致,获得第一卷积系数。
第二系数产生模块,用于根据所述检测模块的检测结果,响应于总线上广播的信息与输出神经元预设的标识不一致,获得第二卷积系数。
具体实现中,第一卷积系数的取值例如可以为1,第二卷积系数的取值例如可以为0。
具体地,可以根据下面的公式获得卷积系数:
ker nel(p,q)(kx,ky)=(index(p+kx,q+ky)==(-kx,-ky)?1:0),
其中,kernel(p,q)为卷积系数,index为输出神经元预设的标识,(kx,ky)为卷积系数在当前卷积窗口中的坐标,(p+kx,q+ky)为输出神经元在特征图中的坐标。
具体地,可以根据下面的公式获得输入神经元的梯度值:
其中,od为输出神经元的梯度值,id为输入神经元的梯度值,(p,q)为输入神经元在特征图中的坐标。
基于本发明实施例提供的数据处理装置,通过检测总线上广播的信息与输出神经元预设的标识是否一致,在总线上广播的信息与输出神经元预设的标识一致时,将所获取的输出神经元的梯度进行累加,在总线上广播的信息与输出神经元预设的标识不一致时,丢弃所获取的输出神经元的梯度,可以实现对存储器有规律的访问,减少访存的次数,加快处理速度。
图6为本发明数据处理装置又一个实施例的结构图。如图6所示,该实施例的数据处理装置包括:获取单元、系数产生单元、卷积单元、判断单元和输出单元。其中,在最大池化层进行反向处理时,分别在每一个系统时钟,:
获取单元,用于获取输出神经元的梯度值及输出神经元预设的标识。
具体实现中,可以利用多个累加器分别获取输出神经元的梯度值及输出神经元预设的标识,其中各累加器所获取的输出神经元的梯度值为不同输出神经元的梯度值。
具体地,各累加器可以是在当前系统时钟的时钟上升沿,获取输出神经元的梯度值及输出神经元预设的标识。
系数产生单元,用于检测总线上广播的信息与所获取的输出神经元预设的标识是否一致;若总线上广播的信息与输出神经元预设的标识一致,获得的卷积系数为1;若总线上广播的信息与输出神经元预设的标识不一致,获得的卷积系数为0。
具体实现中,输出神经元预设的标识与总线上广播的信息可以采用数字表示。
具体地,在最大池化层进行前向处理时,以数字表示池化窗口中的各个位置,在获得输出神经元时,根据最大值在池化窗口中的位置,设置输出神经元预设的标识。
例如,在一个具体应用中,对于前向处理时一个3*3的池化窗口,池化窗口中的各个位置可以1、2、3、4、5、6、7、8、9表示,在获得输出神经元时,输出神经元预设的标识可以设置为最大值在池化窗口中的位置对应的数字。
具体地,系统时钟用作计数,每经过一个系统时钟,计数器就会自动加1,根据计数器记录的数字,设置总线上广播的信息。
例如,在一个具体应用中,对于前向处理时一个3*3的池化窗口,池化窗口中的各个位置可以0、1、2、3、4、5、6、7、8表示,在获得输出神经元时,输出神经元预设的标识可以设置为最大值在池化窗口中的位置对应的数字,对应的,总线上广播的信息可以根据计数器最初的记录,设置为0,并在经过一个系统时钟后,计数器自动加1,总线上广播的信息也根据计数器记录的数字变为1,在又经过一个系统时钟后,计数器自动加1,总线上广播的信息也根据计数器记录的数字变为2,以此类推。
具体实现中,可以利用多个累加器分别检测总线上广播的信息与所获取的输出神经元预设的标识是否一致。
卷积单元,用于将输出神经元的梯度值与卷积系数进行卷积处理,以获得输出神经元对应的输入神经元的梯度值。
具体实现中,可以利用多个累加器分别将所获取的输出神经元的梯度值与卷积系数进行卷积处理。
判断单元,用于判断是否完成对所有输出神经元梯度的累加。
输出单元,用于根据判断单元的判断结果,响应于完成对所有输出神经元梯度的累加,将累加的数据输出。
具体实现中,可以将多个累加器中累加的数据输出,获得最大池化层所有输入神经元的梯度值。
获取单元,用于根据判断单元的判断结果,响应于未完成对所有输出神经元梯度的累加,在下一个系统时钟,获取输出神经元的梯度值及输出神经元预设的标识。
基于本发明实施例提供的数据处理装置,,通过以数字表示的最大值在池化窗口中的位置作为输出神经元预设的标识,同时采用计数器记录的系统时钟的数字作为总线上广播的信息,便于利用系统时钟的累加实现总线上广播的信息的自增加,从而在每一个系统时钟各累加器可以通过判断输出神经元预设的标识与总线上广播的信息是否一致,来确定是否对所获取的在自己卷积窗口中同样位置的输出神经元的梯度进行累加。
本发明实施例还提供了一种芯片,包括:上述任意一个实施例的数据处理装置。
如图7所示,图7为本发明芯片一个实施例的局部结构示意图。该实施例的芯片包括:累加器MAC0至MACN-1、存储器BREG0至BREG0N-1、缓存器AREG0至AREGN-1和总线L。其中,存储器BREG0至BREG0N-1与缓存器AREG0至AREGN-1为全相连,输出神经元的梯度值及输出神经元预设的标识存储于存储器中,由累加器执行上述实施例中的操作102至106、202至210、或302至314。
本发明实施例的芯片可以包括:专用集成电路ASIC、现场可编程门阵列FPGA、中央处理单元CPU或图形处理单元GPU。
基于本发明实施例提供的芯片,包括:上述任意一个实施例的数据处理装置,在最大池化层进行反向处理时,通过获取输出神经元的梯度值及所述输出神经元预设的标识;根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;将输出神经元的梯度值与所述卷积系数进行卷积处理,获得与所述输出神经元对应的输入神经元的梯度值。本发明实施例在卷积神经网络的训练过程中,不需要设置单独的电路来进行最大池化层的反向处理,结构简单,减小了整体电路的面积,成本低。
本发明实施例还提供了一种电子设备,包括:上述任意一个实施例的芯片。
基于本发明实施例提供的电子设备,包括:上述任意一个实施例的芯片,在最大池化层进行反向处理时,通过获取输出神经元的梯度值及所述输出神经元预设的标识;根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;将输出神经元的梯度值与所述卷积系数进行卷积处理,获得与所述输出神经元对应的输入神经元的梯度值。本发明实施例在卷积神经网络的训练过程中,不需要设置单独的电路来进行最大池化层的反向处理,结构简单,减小了整体电路的面积,成本低,。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法、装置和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、装置和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (17)

1.一种数据处理方法,其特征在于,包括:
在最大池化层进行反向处理时,获取输出神经元的梯度值及所述输出神经元预设的标识;
根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;
将输出神经元的梯度值与所述卷积系数进行卷积处理,以获得所述输出神经元对应的输入神经元的梯度值;
其中,所述根据总线上广播的信息与输出神经元预设的标识,获得卷积系数具体包括:检测总线上广播的信息与输出神经元预设的标识是否一致,获得卷积系数。
2.根据权利要求1所述的方法,其特征在于,所述获得卷积系数包括:
检测总线上广播的信息与输出神经元预设的标识是否一致;
若总线上广播的信息与输出神经元预设的标识一致,获得第一卷积系数;
若总线上广播的信息与输出神经元预设的标识不一致,获得第二卷积系数。
3.根据权利要求2所述的方法,其特征在于,所述第一卷积系数的取值为1,所述第二卷积系数的取值为0。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述预设的标识与所述广播的信息均采用数字表示。
5.根据权利要求4所述的方法,其特征在于,所述预设的标识具体为在最大池化层进行前向处理时,获得所述输出神经元时设置的、与最大值在池化窗口中的位置相关的数字。
6.根据权利要求5所述的方法,其特征在于,所述广播的信息具体为与系统时钟相关的数字。
7.根据权利要求6所述的方法,其特征在于,在最大池化层进行反向处理时,分别在每一个系统时钟,开始执行所述获取输出神经元的梯度值及所述输出神经元预设的标识的操作,直至获得所述输出神经元对应的输入神经元的梯度值;
所述方法还包括:
获得所述输出神经元对应的输入神经元的梯度值后,判断是否完成对所有输出神经元梯度值的累加;
若完成对所有输出神经元梯度值的累加,将累加后的数据输出;
若未完成对所有输出神经元梯度值的累加,在下一个系统时钟,开始执行所述获取输出神经元的梯度值及所述输出神经元预设的标识的操作。
8.一种数据处理装置,其特征在于,包括:
获取单元,用于在最大池化层进行反向处理时,获取输出神经元的梯度值及所述输出神经元预设的标识;
系数产生单元,用于根据总线上广播的信息与输出神经元预设的标识,获得卷积系数;
卷积单元,用于将输出神经元的梯度值与所述卷积系数进行卷积处理,以获得所述输出神经元对应的输入神经元的梯度值;
其中,所述系数产生单元,具体用于检测总线上广播的信息与输出神经元预设的标识是否一致,获得卷积系数。
9.根据权利要求8所述的装置,其特征在于,所述系数产生单元包括:
检测模块,用于检测总线上广播的信息与输出神经元预设的标识是否一致;
第一系数产生模块,用于根据所述检测模块的检测结果,响应于总线上广播的信息与输出神经元预设的标识一致,获得第一卷积系数;
第二系数产生模块,用于根据所述检测模块的检测结果,响应于总线上广播的信息与输出神经元预设的标识不一致,获得第二卷积系数。
10.根据权利要求9所述的装置,其特征在于,所述第一卷积系数的取值为1,所述第二卷积系数的取值为0。
11.根据权利要求8至10任意一项所述的装置,其特征在于,所述预设的标识与所述广播的信息均以数字表示。
12.根据权利要求11所述的装置,其特征在于,所述预设的标识具体为在最大池化层进行前向处理时,获得所述输出神经元时设置的、与最大值在池化窗口中的位置相关的数字。
13.根据权利要求12所述的装置,其特征在于,所述广播的信息具体为与系统时钟相关的数字。
14.根据权利要求13所述的装置,其特征在于,在最大池化层进行反向处理时,分别在每一个系统时钟,所述获取单元开始执行所述获取输出神经元的梯度值及所述输出神经元预设的标识的操作,直至所述卷积单元获得所述输出神经元对应的输入神经元的梯度值;
所述装置还包括:
判断单元,用于获得所述输出神经元对应的输入神经元的梯度值后,判断是否完成对所有输出神经元梯度值的累加;
输出单元,用于根据所述判断单元的判断结果,响应于完成对所有输出神经元梯度值的累加,将累加后的数据输出;
所述获取单元,用于根据所述判断单元的判断结果,响应于未完成对所有输出神经元梯度值的累加,在下一个系统时钟,开始执行所述获取输出神经元的梯度值及所述输出神经元预设的标识的操作。
15.一种芯片,其特征在于,包括:根据权利要求8至14任意一项所述的数据处理装置。
16.根据权利要求15所述的芯片,其特征在于,包括:专用集成电路ASIC、现场可编程门阵列FPGA、中央处理单元CPU或图形处理单元GPU。
17.一种电子设备,其特征在于,包括:根据权利要求15或16所述的芯片。
CN201610677041.3A 2016-08-16 2016-08-16 数据处理方法和装置、芯片和电子设备 Active CN106355247B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610677041.3A CN106355247B (zh) 2016-08-16 2016-08-16 数据处理方法和装置、芯片和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610677041.3A CN106355247B (zh) 2016-08-16 2016-08-16 数据处理方法和装置、芯片和电子设备

Publications (2)

Publication Number Publication Date
CN106355247A CN106355247A (zh) 2017-01-25
CN106355247B true CN106355247B (zh) 2019-03-08

Family

ID=57844097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610677041.3A Active CN106355247B (zh) 2016-08-16 2016-08-16 数据处理方法和装置、芯片和电子设备

Country Status (1)

Country Link
CN (1) CN106355247B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107657312B (zh) * 2017-09-18 2021-06-11 东南大学 面向语音常用词识别的二值网络实现系统
CN109978130A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 集成电路芯片装置及相关产品
CN108986453A (zh) * 2018-06-15 2018-12-11 华南师范大学 一种基于情境信息的交通状况预测方法、系统及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463324A (zh) * 2014-11-21 2015-03-25 长沙马沙电子科技有限公司 一种基于大规模高性能集群的卷积神经网络并行处理方法
CN105488565A (zh) * 2015-11-17 2016-04-13 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747070B2 (en) * 2005-08-31 2010-06-29 Microsoft Corporation Training convolutional neural networks on graphics processing units
US20160026912A1 (en) * 2014-07-22 2016-01-28 Intel Corporation Weight-shifting mechanism for convolutional neural networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463324A (zh) * 2014-11-21 2015-03-25 长沙马沙电子科技有限公司 一种基于大规模高性能集群的卷积神经网络并行处理方法
CN105488565A (zh) * 2015-11-17 2016-04-13 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于FPGA的卷积神经网络并行结构研究;陆志坚;《中国博士学位论文全文数据库 信息科技辑》;20140415(第4期);I140-12

Also Published As

Publication number Publication date
CN106355247A (zh) 2017-01-25

Similar Documents

Publication Publication Date Title
CN109658455A (zh) 图像处理方法和处理设备
US20160062456A1 (en) Method and apparatus for live user recognition
CN108983979B (zh) 一种手势跟踪识别方法、装置和智能设备
CN106355247B (zh) 数据处理方法和装置、芯片和电子设备
CN107483834A (zh) 一种图像处理方法、连拍方法及装置和相关介质产品
CN107368820B (zh) 一种精细化手势识别方法、装置及设备
CN106326853A (zh) 一种人脸跟踪方法及装置
CN109413023A (zh) 机器识别模型的训练及机器识别方法、装置、电子设备
CN106096524A (zh) 一种汉字美观度的获取方法及装置
CN111126216A (zh) 风险检测方法、装置及设备
CN103473492A (zh) 权限识别方法和用户终端
CN110222780A (zh) 物体检测方法、装置、设备和存储介质
EP3937076A1 (en) Activity detection device, activity detection system, and activity detection method
CN107516105A (zh) 图像处理方法及装置
CN104281831B (zh) 一种笔迹验证的方法和装置
CN111652017A (zh) 一种动态手势识别方法及系统
CN106371999B (zh) 程序代码测试方法及装置
CN104679967B (zh) 一种判断心理测试可靠性的方法
CN111814573A (zh) 一种人脸信息的检测方法、装置、终端设备及存储介质
CN106155540A (zh) 电子毛笔笔形处理方法和装置
CN106372652A (zh) 发型识别方法及发型识别装置
CN104573737B (zh) 特征点定位的方法及装置
CN111160251A (zh) 一种活体识别方法及装置
CN105844204A (zh) 人体行为识别方法和装置
CN110007764A (zh) 一种手势骨架识别方法、装置、系统及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180329

Address after: 100029 Beijing city Haidian District Baosheng Road No. 1 Building No. 25 hospital three layer 301

Applicant after: Feng Feng Technology (Beijing) Co., Ltd.

Address before: 100029 Beijing, Haidian District North Austrian industrial base project, building 2, floor 6

Applicant before: BEIJING BITMAIN TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190418

Address after: 100192 2nd Floor, Building 25, No. 1 Hospital, Baosheng South Road, Haidian District, Beijing

Patentee after: BEIJING BITMAIN TECHNOLOGY CO., LTD.

Address before: 300029 Building No. 25, No. 1 Hospital, Baosheng South Road, Haidian District, Beijing, 301

Patentee before: Feng Feng Technology (Beijing) Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210818

Address after: 100192 Building No. 25, No. 1 Hospital, Baosheng South Road, Haidian District, Beijing, No. 301

Patentee after: SUANFENG TECHNOLOGY (BEIJING) Co.,Ltd.

Address before: 100192 2nd Floor, Building 25, No. 1 Hospital, Baosheng South Road, Haidian District, Beijing

Patentee before: BITMAIN TECHNOLOGIES Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220224

Address after: 100176 901, floor 9, building 8, courtyard 8, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing (Yizhuang group, high-end industrial area of Beijing Pilot Free Trade Zone)

Patentee after: Beijing suneng Technology Co.,Ltd.

Address before: 100192 Building No. 25, No. 1 Hospital, Baosheng South Road, Haidian District, Beijing, No. 301

Patentee before: SUANFENG TECHNOLOGY (BEIJING) CO.,LTD.