神经网络处理器、电子设备及数据处理方法技术

技术编号:23853869 阅读:41 留言:0更新日期:2020-04-18 10:03
本申请实施例提供一种神经网络处理器、电子设备及数据处理方法,该神经网络处理器包括卷积处理单元、多个缓冲寄存单元和池化处理单元,卷积处理单元用于为对待处理数据进行卷积处理以得到第一处理结果,多个缓冲寄存单元均与所述卷积处理单元连接,所述多个缓冲寄存单元用于暂存所述第一处理结果;池化处理单元与所述多个缓冲寄存单元连接,所述池化处理单元用于对存储在所述多个缓冲寄存单元中的第一处理结果进行池化处理以得到第二处理结果。本申请实施例可以减少神经网络处理器的数据吞吐量,进而提高神经网络处理器的处理效率。

Neural network processor, electronic equipment and data processing method

【技术实现步骤摘要】
神经网络处理器、电子设备及数据处理方法
本申请涉及神经网络
,更具体地讲,涉及一种神经网络处理器、电子设备及数据处理方法。
技术介绍
神经网络表示模拟生物大脑的计算架构。近来,随着神经网络技术的发展,已经积极研究了各种类型的电子系统,以用于使用神经网络处理单元来分析输入数据并提取有效信息。神经网络处理单元利用相对大量的计算来处理复杂的输入数据。针对被配置为实时分析高质量输入并提取信息的神经网络处理单元,需要用于高效处理神经网络操作的技术。
技术实现思路
本申请实施例提供一种神经网络处理器、电子设备和数据处理方法,可以提高神经网络处理器的处理效率。本申请实施例提供一种神经网络处理器,包括:卷积处理单元,用于为对待处理数据进行卷积处理以得到第一处理结果;多个缓冲寄存单元,均与所述卷积处理单元连接,所述多个缓冲寄存单元用于暂存所述第一处理结果;以及池化处理单元,与所述多个缓冲寄存单元连接,所述池化处理单元用于对存储在所述多个缓冲寄存单元中的第一处理结果进行池化处理以得到第二处理结果。本申请实施例还提供一种神经网络处理器,包括:卷积处理单元,被配置为对数据进行卷积处理以得到第一处理结果;第一缓冲寄存单元,与所述卷积处理单元连接,所述第一缓冲寄存单元被配置为存储所述第一处理结果;以及池化处理单元,与所述第一缓冲寄存单元连接,所述池化处理单元被配置为在所述第一缓冲寄存单元所存储的第一处理结果的数据量达到第一阈值时,从所述第一缓冲寄存单元中获取所述第一处理结果并对所述第一处理结果进行池化处理以得到第二处理结果。本申请实施例还提供一种电子设备,包括神经网络处理器,所述神经网络处理器为如上所述的神经网络处理器。本申请实施例还提供一种数据处理方法,应用于神经网络处理器,其特征在于,所述神经网络处理器包括第一缓冲寄存单元,所述方法包括:获取待处理数据;对所述待处理数据进行卷积处理以得到第一处理结果;将所述第一处理结果存储到所述第一缓冲寄存单元中;当所述第一缓冲寄存单元中所存储的第一处理结果达到第一阈值时,对所述第一缓冲寄存单元中所存储的第一处理结果进行池化处理。本申请实施例通过设置一个或多个缓冲寄存单元,该缓冲寄存单元可以用于存放经过卷积处理得到的第一处理结果,无需将第一处理结果输出至外部的存储装置中进行存储即可完成待处数据的卷积处理和池化处理,可以减少神经网络处理器的数据吞吐量,进而提高神经网络处理器的处理效率。附图说明图1为本申请实施例提供的神经网络处理器的第一种结构示意图。图2为本申请实施例提供的卷积处理的部分原理图。图3为本申请实施例提供的神经处理器的第二种结构示意图。图4为本申请实施例提供的神经处理器的第三种结构示意图。图5为本申请实施例提供的电子设备的第一种结构示意图。图6为本申请实施例提供的电子设备的第二种结构示意图。图7为本申请实施例提供的数据处理方法的第一种流程示意图。图8为本申请实施例提供的数据处理方法的第二种流程示意图。具体实施方式如图1所示,图1为本申请实施例提供的神经网络处理器的第一种结构示意图。神经网络处理器200(neural-networkprocessingunits,NPU)可生成神经网络模型、可训练(或学习)神经网络模型、可基于接收的待处理数据执行计算并基于计算的结果生成信息信号,或者可重新训练神经网络模型。在一些示例实施例中,神经网络处理器200可基于定点来训练神经网络模型。这将在下面进行详细描述。可以理解的是,神经网络处理器200可以是可执行存储在存储器(例如,存储装置)中的指令的程序的处理器(例如,处理电路的实例)和/或可由可执行存储在存储器(例如,存储装置)中的指令的程序的处理器(例如,处理电路的实例)来实现。因此,在一些示例实施例中,如在此描述的神经网络处理器200可以是实现神经网络处理器200的功能的处理器。神经网络处理器200可经由系统总线从其他的集成模块(或者说集成电路)接收各种种类的待处理数据,并因此可生成信息信号(例如,基于待处理数据执行神经网络计算以生成输出信号)。由神经网络生成的信息信号可包括各种种类的识别信号(诸如,语音识别信号、对象识别信号、图像识别信号和生物信息识别信号)之一。例如,神经网络处理器200可接收包括在视频流中的帧数据作为待处理数据,并可从帧数据生成关于包括在由帧数据表示的图像中的对象的识别信号。然而,本公开不限于此,神经网络处理器200可接收各种种类的待处理数据并可根据待处理数据生成识别数据。在一些示例实施例中,神经网络处理器200可被训练为通过基于待处理数据执行的计算来实现神经网络。对神经网络处理器200进行训练以实现神经网络在此可被称为“训练”神经网络。当神经网络被训练时,待处理数据可以是训练数据。神经网络可以是深度神经网络(DeepNeuralNetworks,DNN)或包括两个或更多个隐藏层的n层神经网络。神经网络可包括但不限于:卷积神经网络(ConvolutionalNeuralNetworks,CNN)、循环神经网络(RecurrentNeuralNetwork,RNN)、深度信念网络、限制玻尔兹曼(Boltzmann)机等。如图1所示,神经网络处理器200可以包括卷积处理单元220、缓冲寄存单元240和池化处理单元260。其中,卷积处理单元220可以对上述所提及的待处理数据进行卷积处理以得到第一处理结果。待处理数据可以是存储在神经网络处理器200外部的数据,其中待处理数据可以是未曾进行处理过的数据,可以是经过部分处理(比如卷积处理或池化处理)后的数据。待处理数据也可以是存储在神经网络处理器200内部的数据,比如待处理数据可以为卷积处理单元220所处理得到的第一处理结果,或者池化处理单元260所处理得到的第二处理结果。卷积处理单元220可以利用一个K*K大小的二维权重卷积核对待处理数据进行扫描,在扫描过程中权重与待处理数据内对应的神经元求内积,并将所有内积值求和,然后通过非线性激活函数处理之后,获得第一处理结果,当每一次卷积处理需处理N个待处理数据时,会有N个K*K大小的卷积核与该待处理数据进行卷积运算,以得到N个第一处理结果。比如,K*K=1*1,一张特征图具有64个待处理数据,卷积处理单元220可以采用64个1*1大小的卷积核与64个待处理数据进行卷积运算,则卷积处理单元220进行一次卷积处理可以输出64个第一处理结果。缓冲寄存单元240与卷积处理单元220连接,缓冲寄存单元240用于暂时存储卷积处理单元220所处理得到的第一处理结果,以便在适当的时间节拍和给定的计算步骤将所暂存的第一处理结果输入或输出到其它单元(比如池化处理单元260)中去。缓冲寄存单元240的数量可以为一个,缓冲寄存单元240的数量也可以为多个,比如两个、四个或六个,该缓冲寄存单元240的数量可以根据实际的需求进行设定本文档来自技高网...

【技术保护点】
1.一种神经网络处理器,其特征在于,包括:/n卷积处理单元,用于为对待处理数据进行卷积处理以得到第一处理结果;/n多个缓冲寄存单元,均与所述卷积处理单元连接,所述多个缓冲寄存单元用于暂存所述第一处理结果;以及/n池化处理单元,与所述多个缓冲寄存单元连接,所述池化处理单元用于对存储在所述多个缓冲寄存单元中的第一处理结果进行池化处理以得到第二处理结果。/n

【技术特征摘要】
1.一种神经网络处理器,其特征在于,包括:
卷积处理单元,用于为对待处理数据进行卷积处理以得到第一处理结果;
多个缓冲寄存单元,均与所述卷积处理单元连接,所述多个缓冲寄存单元用于暂存所述第一处理结果;以及
池化处理单元,与所述多个缓冲寄存单元连接,所述池化处理单元用于对存储在所述多个缓冲寄存单元中的第一处理结果进行池化处理以得到第二处理结果。


2.根据权利要求1所述的神经网络处理器,其特征在于,所述卷积处理单元用于基于多个卷积核对所述待处理数据进行卷积处理,一个所述缓冲寄存单元的深度等于或大于所述卷积核的数量,以使所述缓冲寄存单元可存储所述卷积处理单元进行至少一次卷积处理所得到的第一处理结果。


3.根据权利要求1或2所述的神经网络处理器,其特征在于,一个所述缓冲寄存单元单元的长度与宽度的乘积大于或等于预设值,以使所述缓冲寄存单元所存储的第一处理结果的数据量可供所述池化处理单元进行至少一次池化处理。


4.根据权利要求1所述的神经网络处理器,其特征在于,所述多个缓冲寄存单元包括:
第一缓冲寄存单元,分别与所述卷积处理单元和所述池化处理单元连接,所述第一缓冲寄存单元用于存储所述卷积处理单元进行第N次卷积处理的第一处理结果;和
第二缓冲寄存单元,分别与所述卷积处理单元和所述池化处理单元连接,所述第二缓冲寄存单元用于存储所述卷积处理单元进行第N+1次卷积处理的第一处理结果。


5.根据权利要求1所述的神经网络处理器,其特征在于,所述池化处理单元包括:
第一计算部件,与所述多个缓冲寄存单元连接,所述第一计算部件用于对存储在所述多个缓冲寄存单元内的第一处理结果进行最大值/最小值计算;和
第二计算部件,与所述多个缓冲寄存单元连接,所述第二计算部件用于对存储在所述多个缓冲寄存单元内的第一处理结果进行平均值计算。


6.一种神经网络处理器,其特征在于,包括:
卷积处理单元,被配置为对数据进行卷积处理以得到第一处理结果;
第一缓冲寄存单元,与所述卷积处理单元连接,所述第一缓冲寄存单元被配置为存储所述第一处理结果;以及
池化处理单元,与所述第一缓冲寄存单元连接,所述池化处理单元被配置为在所述第一缓冲寄存单元所存储的第一处理结果的数据量达到第一阈值时,从所述第一缓冲寄存单元中获取所述第一处理结果并对所述第一处理结果进行池化处理以得到第二处理结果。


7.根据权利要求6所述神经网络处理器,其特征在于,所述卷积处理单元还被配置为:所述卷积处理单元的卷积核数量大于或等于所述第一缓冲寄存单元的深度。


8.根据权利要求7所述的神经网络处理器,其特征在于,所述第一缓冲寄存单元还被配置为:所述第一缓冲寄存单元的长度与宽度的乘积大于或等于...

【专利技术属性】
技术研发人员:周明君
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:广东;44

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

1