CN108875899A - 用于神经网络的数据处理方法、装置和系统及存储介质 - Google Patents

用于神经网络的数据处理方法、装置和系统及存储介质 Download PDF

Info

Publication number
CN108875899A
CN108875899A CN201810124166.2A CN201810124166A CN108875899A CN 108875899 A CN108875899 A CN 108875899A CN 201810124166 A CN201810124166 A CN 201810124166A CN 108875899 A CN108875899 A CN 108875899A
Authority
CN
China
Prior art keywords
network
neural network
floating
fixed point
data
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.)
Pending
Application number
CN201810124166.2A
Other languages
English (en)
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 Megvii Technology Co Ltd
Original Assignee
Beijing Megvii Technology 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 Beijing Megvii Technology Co Ltd filed Critical Beijing Megvii Technology Co Ltd
Priority to CN201810124166.2A priority Critical patent/CN108875899A/zh
Publication of CN108875899A publication Critical patent/CN108875899A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例提供一种用于神经网络的数据处理方法、装置和系统以及存储介质。用于神经网络的数据处理方法包括:获取待处理数据;利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征;以及利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征。上述方法的数据处理速度快,同时可以应对需要丰富特征表示的任务,因此能够以较小的计算成本获得非常好的数据处理效果。

Description

用于神经网络的数据处理方法、装置和系统及存储介质
技术领域
本发明涉及计算机领域,更具体地涉及一种用于神经网络的数据处理方法、装置和系统以及存储介质。
背景技术
神经网络在图像识别、语音识别等领域中已经有了广泛且成功的应用。目前大多数神经网络在处理数据的时候采用的是浮点运算,浮点运算的信息量大,所需的计算量也大,难以在计算能力有限的平台上运行。
发明内容
考虑到上述问题而提出了本发明。本发明提供了一种用于神经网络的数据处理方法、装置和系统以及存储介质。
根据本发明一方面,提供了一种用于神经网络的数据处理方法。用于神经网络的数据处理方法包括:获取待处理数据;利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征;以及利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征。
示例性地,第一网络结构在采用自定义电路的第一硬件设备上运行,第二网络结构在采用固定电路的第二硬件设备上运行。
示例性地,第一硬件设备包括现场可编程门阵列、专用集成电路和自主设计流片中的一种或多种。
示例性地,第二硬件设备包括微处理器。
示例性地,利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征包括:对于第一网络结构中的至少一个网络层,对网络层的层输出结果执行离散定点化操作,以获得与该网络层相对应的定点化结果,其中,定点化特征为与预设数目的网络层中的最后一个网络层相对应的定点化结果。
示例性地,利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征包括:利用第二网络结构中的浮点化模块将定点化特征转换成浮点化数据;以及将浮点化数据输入第二网络结构中的后续网络层中,以获得浮点化特征。
根据本发明另一方面,提供了一种用于神经网络的数据处理装置,包括:获取模块,用于获取待处理数据;定点处理模块,用于利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征;以及浮点处理模块,用于利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征。
根据本发明另一方面,提供了一种用于神经网络的数据处理系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述用于神经网络的数据处理方法。
示例性地,数据处理系统包括采用自定义电路的第一硬件设备和采用固定电路的第二硬件设备,处理器包括第一硬件设备上的第一处理器和第二硬件设备上的第二处理器,存储器包括第一硬件设备上的第一存储器和第二硬件设备上的第二存储器,第一存储器中存储有第一计算机程序指令,第二存储器中存储有第二计算机程序指令,第一计算机程序指令被第一处理器运行时用于执行获取待处理数据以及利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征的步骤;第二计算机程序指令被第二处理器运行时用于执行利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征的步骤。
示例性地,数据处理系统还包括通信装置,通信装置包括第一硬件设备上的第一通信装置和第二硬件设备上的第二通信装置,第一通信装置用于将定点化特征传送到第二硬件设备;第二通信装置用于接收定点化特征。
根据本发明另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述用于神经网络的数据处理方法。
根据本发明实施例的用于神经网络的数据处理方法、装置和系统以及存储介质,采用第一网络结构提取待处理数据的特征,提取到的特征为定点化特征,后续基于该定点化特征计算待处理数据的处理结果,在该过程中,将定点化信息转化为浮点化信息,获得待处理数据的浮点化特征。通过上述方式,神经网络的主要计算量能够在定点化网络结构上得到满足,再通过浮点化网络结构,将稀疏特征还原成较为丰富的特征表示。这种神经网络的数据处理速度快,同时可以应对需要丰富特征表示的任务(例如图像实例分割),因此这种神经网络能够以较小的计算成本获得非常好的数据处理效果。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出用于实现根据本发明实施例的用于神经网络的数据处理方法和装置的示例电子设备的示意性框图;
图2示出根据本发明一个实施例的用于神经网络的数据处理方法的示意性流程图;
图3示出根据本发明一个实施例的神经网络的结构示意图;
图4示出根据本发明一个实施例的用于神经网络的数据处理装置的示意性框图;以及
图5示出根据本发明一个实施例的用于神经网络的数据处理系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
为了在计算能力受限的平台(例如FPGA)上实现神经网络的功能,可以采用低位宽神经网络。低位宽神经网络是中间网络层的输出结果和/或网络参数的取值为某几个固定数值(可以称作定点化)的神经网络,可以应用于计算能力和存储容量受限的计算平台,以缓解散热、功耗的问题。低位宽神经网络在诸如FPGA的平台上运行时,计算速度非常快,可以实现数据的高效处理。然而,使用低位宽神经网络也存在一定的缺点,即网络输出结果的表示很单一(如二值化等),在一般分类问题中能力突出,但在需要丰富特征表示的任务上就无能为力了。
为了解决上述问题,本发明实施例提供了一种用于神经网络的数据处理方法、装置和系统以及存储介质。根据本发明实施例,将定点运算和浮点运算结合起来,神经网络的前半部分网络结构在实现本身功能(例如卷积、池化等)的同时,对中间获得的特征数据进行定点化处理,神经网络的后半部分网络结构在实现本身功能(例如卷积、池化、全连接、分类等)的同时,将特征数据转化为浮点数据,最终输出浮点化特征。这种神经网络的数据处理速度快,同时可以应对需要丰富特征表示的任务(例如图像实例分割),因此这种神经网络能够以较小的计算成本获得非常好的数据处理效果。根据本发明实施例的用于神经网络的数据处理方法和装置可以应用于任何需要使用神经网络的领域,例如人脸识别、文字识别、语音识别、行人检测、车辆检测等。
首先,参照图1来描述用于实现根据本发明实施例的用于神经网络的数据处理方法和装置的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104。可选地,电子设备100还可以包括输入装置106、输出装置108、以及图像采集装置110。上述组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以采用数字信号处理器(DSP)、现场可编程门阵列
(FPGA)、可编程逻辑阵列(PLA)、微处理器中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(CPU)、图像处理器(GPU)、专用的集成电路(ASIC)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。可选地,所述输入装置106和所述输出装置108可以集成在一起,采用同一交互装置(例如触摸屏)实现。
所述图像采集装置110可以采集图像,并且将所采集的图像存储在所述存储装置104中以供其它组件使用。图像采集装置110可以是单独的相机或移动终端中的摄像头。应当理解,图像采集装置110仅是示例,电子设备100可以不包括图像采集装置110。在这种情况下,可以利用其他具有图像采集能力的器件采集图像,并将采集的图像发送给电子设备100。
示例性地,用于实现根据本发明实施例的用于神经网络的数据处理方法和装置的示例电子设备可以在诸如个人计算机或远程服务器等的设备上实现。
下面,将参考图2描述根据本发明实施例的用于神经网络的数据处理方法。图2示出根据本发明一个实施例的用于神经网络的数据处理方法200的示意性流程图。如图2所示,用于神经网络的数据处理方法200包括以下步骤S210、S220和S230。
在步骤S210,获取待处理数据。
待处理数据可以是任何数据,例如输入整个神经网络的图像(例如人脸图像)或语音等。示例性地,当神经网络用于处理图像时,可以将图像提取为张量的形式,获得图像张量,该图像张量可以代表图像。在这种情况下,待处理数据可以是上述图像张量。
当神经网络用于处理图像时,该图像可以是静态图像,也可以是视频中的视频帧。图像可以是图像采集装置采集到的原始图像,也可以是对原始图像进行预处理(诸如数字化、归一化、平滑等)之后获得的图像。
在步骤S220,利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征。
神经网络可以是任何网络,例如卷积神经网络。神经网络可以划分为两部分,即第一网络结构和第二网络结构。第一网络结构和第二网络结构均可以包括若干网络层,所述网络层可以包括卷积层、池化层、全连接层、softmax层等。示例性地,第一网络结构可以包括第一数目的卷积层。可选地,第一网络结构还可以包括第二数目的池化层。示例性地,第二网络结构可以包括第二数目的卷积层和/或第三数目的全连接层。可选地,第二网络结构还可以包括第五数目的池化层。第一数目、第二数目、第三数目、第四数目和第五数目均可以是任意合适的数目,其均可以根据需要设定,本发明不对此进行限制。此外,本文所述的第一、第二等类似术语并不表示顺序或其他特殊含义,其仅用于区分目的。
示例性地,步骤S220可以包括:对于第一网络结构中的至少一个网络层,对网络层的层输出结果执行离散定点化操作,以获得与该网络层相对应的定点化结果,其中,定点化特征为与预设数目的网络层中的最后一个网络层相对应的定点化结果。
示例性地,第一网络结构可以包括预设数目的网络层。可以理解,预设数目的网络层中的第一个网络层的输入数据即为待处理数据,其余网络层的输入数据为与上一网络层相对应的定点化结果。
离散定点化操作就是将层输出结果中的各元素离散定点化为数种固定的取值之一,而不再是浮点数。例如,任一网络层输出的层输出结果可以用三维张量表示,三个维度分别是长、宽和信道。网络层输出的三维张量中的每个元素可以有很多种不同的取值,取值之间的浮动较大,分布很不规则。为了减少对这个三维张量进行存储和计算的成本,可以将该张量中的每个元素限定到一个给定的集合上。例如,可以将三维张量中任意元素的值x修改为{-5,0,5}这个集合中距离x最近的值。例如,假设任意元素的值x的取值范围是[-9,9],当x落入[-9,-3)内时将值x修改为-5,当x落入[-3,3]内时将值x修改为0,当x落入(3,9]内时将值x修改为5。可选地,还可以进一步将值x分别用二进制数表示,例如可以分别用00、01和10表示-5、0和5。需注意,将值x用二进制数表示时,可以用值x的等价二进制数来表示值x(例如用二进制数101表示十进制数5),也可以用任意的二进制数来对应表示值x(例如用二进制数10而非101表示十进制数5)。
上述集合{-5,0,5}即为本文所述的定点数集合,其中的-5、0和5这三个数为定点数。由于将浮点数进行离散定点化,使得神经网络需要处理的数据量大大减少,从而可以有效降低数据存储和计算的成本。
可选地,在第一网络结构中,在每个网络层后面均可以执行一次离散定点化操作,将网络层的层输出结果转化为定点化结果。定点化特征是由第一网络结构的最后一个网络层输出的层输出结果经离散定点化操作处理之后获得的定点化结果。在每个网络层后面均执行一次离散定点化操作的方式可以使得数据处理速度非常快。当然,也可以仅在第一网络结构的部分网络层后面执行离散定点化操作。
在步骤S230,利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征。在一个示例中,所述浮点化特征可以是神经网络的最终输出结果。在另一个示例中,可以对所述浮点化特征做进一步的处理,以获得神经网络的最终输出结果。
如上文所述,第二网络结构可以包括若干网络层,所述网络层可以包括卷积层、池化层、全连接层、softmax层等。在一个示例中,神经网络是卷积神经网络,用于对图像中的目标对象进行分类,则第二网络结构可以包括全连接层、softmax层等,用于实现分类。当然,在这种情况下,第二网络结构还可以包括卷积层。在另一个示例中,神经网络是全卷积网络,用于图像实例分割,则第二网络结构可以包括卷积层。在又一个示例中,神经网络是区域建议网络
(RPN),用于检测目标对象所在的矩形框,则第二网络结构可以包括分类层(cls层)和回归层(reg层)。当然,在这种情况下,第二网络结构还可以包括卷积层。
示例性地,步骤S230可以包括:利用第二网络结构中的浮点化模块将定点化特征转换成浮点化数据;以及将浮点化数据输入第二网络结构中的后续网络层中,以获得浮点化特征。
第二网络结构根据神经网络的处理任务不同输出不同类型的结果,例如在分类任务下输出分类结果、在目标检测任务下输出目标对象位置、在实例分割任务下输出图像的实例分割结果等。因此,第二网络结构可以包括实现上述处理任务所需的网络层。此外,第二网络结构还可以包括浮点化模块,用于将定点化特征转换成浮点化数据。可选地,浮点化模块也可以视为一个网络层。具体地,在步骤S230中,第二网络结构可以将定点化特征中的各元素的值转化为浮点值,获得定点化特征对应的浮点化数据。随后,将该浮点化数据输入第二网络结构的后续网络层,例如卷积层、池化层或全连接层等。随后,第二网络结构的各后续网络层的层输出结果均为常规的浮点化数据,可以基于这些浮点化数据运行各后续网络层,最终第二网络结构输出的也是浮点化数据,即所述浮点化特征。在一个示例中,第二网络结构的输出即为神经网络的输出结果。在这种情况下,浮点化特征可以为上述分类结果、目标对象位置、实例分割结果等。
图3示出根据本发明一个实施例的神经网络的结构示意图。在图3所示的实施例中,待处理数据为图像,图3中表示为“输入图像”。在图3中,特征A为输入图像的定点化特征,特征B为输入图像的浮点化特征。图3的左半部分由第一网络结构实现,右半部分由第二网络结构实现。如图3所示,第一网络结构包括两个卷积层,每个卷积层后面跟随一次离散定点化操作。如图3所示,第二网络结构包括一个卷积层和一个全连接层。应注意,图3所示的网络结构仅是示例而非对本发明的限制,神经网络可以采用任何合适的网络结构。
根据本发明实施例的用于神经网络的数据处理方法,采用第一网络结构提取待处理数据的特征,提取到的特征为定点化特征,后续基于该定点化特征计算待处理数据的处理结果,在该过程中,将定点化信息转化为浮点化信息,获得待处理数据的浮点化特征。通过上述方式,神经网络的主要计算量能够在定点化网络结构上得到满足,再通过浮点化网络结构,将稀疏特征还原成较为丰富的特征表示。这种神经网络的数据处理速度快,同时可以应对需要丰富特征表示的任务(例如图像实例分割),因此这种神经网络能够以较小的计算成本获得非常好的数据处理效果。
示例性地,根据本发明实施例的用于神经网络的数据处理方法可以在具有存储器和处理器的设备、装置或者系统中实现。
根据本发明实施例的用于神经网络的数据处理方法可以部署在单独的计算平台上,诸如智能电话、平板电脑、个人计算机等。
替代地,根据本发明实施例的用于神经网络的数据处理方法还可以分布地部署在服务器端(或云端)和个人终端处。例如,可以在个人终端收集待处理数据(例如用移动终端的摄像头采集图像),个人终端将收集的待处理数据传送给服务器端(或云端),然后由服务器端(或云端)进行数据处理。
替代地,根据本发明实施例的用于神经网络的数据处理方法还可以分布地部署在不同的计算平台上。例如,可以在诸如现场可编程门阵列(FPGA)的硬件平台上运行第一网络结构,在诸如ARM处理器的硬件平台上运行第二网络结构。
根据本发明实施例,第一网络结构可以在采用自定义电路的第一硬件设备上运行,第二网络结构可以在采用固定电路的第二硬件设备上运行。
示例性地,第一硬件设备可以包括FPGA、专用集成电路(ASIC)和自主设计流片中的一种或多种。自主设计流片是指由用户自己设计的芯片。第一硬件设备不局限于本文列举的示例。第一硬件设备是计算能力和存储容量较小的设备,不适于进行浮点运算,因此可以主要在第一硬件设备上处理定点化数据,例如运行第一网络结构对应的程序部分。
示例性地,第二硬件设备可以包括微处理器。微处理器可以包括ARM处理器、X86处理器等。第二硬件设备也不局限于本文列举的示例。第二硬件设备是计算能力较强、存储容量较大的设备,其能够负担浮点运算所需的计算成本,因此可以主要在第二硬件设备上处理浮点化数据,例如运行第二网络结构对应的程序部分。
可选地,对于需要丰富特征表示的任务,可以在诸如FPGA等设备上运行低位宽神经网络A(即第一网络结构),得到初步的低位宽输出特征X(即定点化特征)。此外,可以在诸如ARM处理器等设备上运行浮点神经网络B(即第二网络结构),输入低位宽输出特征X,输出任务所需的丰富特征表示Y(即浮点化特征),这一步可以称为特征还原。可选地,浮点神经网络B可以轻量化。轻量化是指在维持原有网络功能的情况下,使得神经网络B的网络结构尽量简单,参数尽量少,以保证神经网络B的数据处理速度满足预设要求。
根据本发明另一方面,提供一种用于神经网络的数据处理装置。图4示出了根据本发明一个实施例的用于神经网络的数据处理装置400的示意性框图。
如图4所示,根据本发明实施例的用于神经网络的数据处理装置400包括获取模块410、定点处理模块420和浮点处理模块430。所述各个模块可分别执行上文中结合图2-3描述的用于神经网络的数据处理方法的各个步骤/功能。以下仅对该用于神经网络的数据处理装置400的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
获取模块410用于获取待处理数据。获取模块410可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
定点处理模块420用于利用神经网络中的第一网络结构处理所述待处理数据,以获得所述待处理数据的定点化特征。定点处理模块420可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
浮点处理模块430用于利用所述神经网络中的第二网络结构处理所述定点化特征,以获得所述待处理数据的浮点化特征。浮点处理模块430可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
示例性地,定点处理模块420在采用自定义电路的第一硬件设备上实现,浮点处理模块430在采用固定电路的第二硬件设备上实现。
示例性地,第一硬件设备包括现场可编程门阵列、专用集成电路和自主设计流片中的一种或多种。
示例性地,第二硬件设备包括微处理器。
示例性地,定点处理模块420具体用于:对于第一网络结构中的至少一个网络层,对网络层的层输出结果执行离散定点化操作,以获得与该网络层相对应的定点化结果,其中,定点化特征为与预设数目的网络层中的最后一个网络层相对应的定点化结果。
示例性地,浮点处理模块430具体用于:利用第二网络结构中的浮点化模块将定点化特征转换成浮点化数据;以及将浮点化数据输入第二网络结构中的后续网络层中,以获得浮点化特征。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
图5示出了根据本发明一个实施例的用于神经网络的数据处理系统500的示意性框图。用于神经网络的数据处理系统500包括存储装置(即存储器)510、以及处理器520。
所述存储装置510存储用于实现根据本发明实施例的用于神经网络的数据处理方法中的相应步骤的计算机程序指令。
所述处理器520用于运行所述存储装置520中存储的计算机程序指令,以执行根据本发明实施例的用于神经网络的数据处理方法的相应步骤。
在一个实施例中,所述计算机程序指令被所述处理器530运行时用于执行以下步骤:获取待处理数据;利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征;以及利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征。
示例性地,数据处理系统500包括采用自定义电路的第一硬件设备和采用固定电路的第二硬件设备,处理器520包括第一硬件设备上的第一处理器和第二硬件设备上的第二处理器,存储器530包括第一硬件设备上的第一存储器和第二硬件设备上的第二存储器,第一存储器中存储有第一计算机程序指令,第二存储器中存储有第二计算机程序指令,第一计算机程序指令被第一处理器运行时用于执行获取待处理数据以及利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征的步骤;第二计算机程序指令被第二处理器运行时用于执行利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征的步骤。
第一硬件设备和第二硬件设备分别具有各自的处理器和存储器,并分别利用各自的处理器和存储器上存储的计算机程序指令实现第一网络结构和第二网络结构的功能。
示例性地,数据处理系统500还包括通信装置(未示出),通信装置包括第一硬件设备上的第一通信装置和第二硬件设备上的第二通信装置,第一通信装置用于将定点化特征传送到第二硬件设备;第二通信装置用于接收定点化特征。通信装置可以是任何合适的有线或无线通信装置。第一硬件设备和第二硬件设备可以利用通信装置传输数据。
示例性地,第一硬件设备包括现场可编程门阵列、专用集成电路和自主设计流片中的一种或多种。
示例性地,第二硬件设备包括微处理器。
示例性地,所述计算机程序指令被所述处理器530运行时所用于执行的利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征的步骤包括:对于第一网络结构中的至少一个网络层,对网络层的层输出结果执行离散定点化操作,以获得与该网络层相对应的定点化结果,其中,定点化特征为与预设数目的网络层中的最后一个网络层相对应的定点化结果。
示例性地,所述计算机程序指令被所述处理器530运行时所用于执行的利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征的步骤包括:利用第二网络结构中的浮点化模块将定点化特征转换成浮点化数据;以及将浮点化数据输入第二网络结构中的后续网络层中,以获得浮点化特征。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的用于神经网络的数据处理方法的相应步骤,并且用于实现根据本发明实施例的用于神经网络的数据处理装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
在一个实施例中,所述程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的用于神经网络的数据处理装置的各个功能模块,并和/或者可以执行根据本发明实施例的用于神经网络的数据处理方法。
在一个实施例中,所述程序指令在运行时用于执行以下步骤:获取待处理数据;利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征;以及利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征。
示例性地,第一网络结构在采用自定义电路的第一硬件设备上运行,第二网络结构在采用固定电路的第二硬件设备上运行。
示例性地,第一硬件设备包括现场可编程门阵列、专用集成电路和自主设计流片中的一种或多种。
示例性地,第二硬件设备包括微处理器。
示例性地,所述程序指令在运行时所用于执行的利用神经网络中的第一网络结构处理待处理数据,以获得待处理数据的定点化特征的步骤包括:对于第一网络结构中的至少一个网络层,对网络层的层输出结果执行离散定点化操作,以获得与该网络层相对应的定点化结果,其中,定点化特征为与预设数目的网络层中的最后一个网络层相对应的定点化结果。
示例性地,所述程序指令在运行时所用于执行的利用神经网络中的第二网络结构处理定点化特征,以获得待处理数据的浮点化特征的步骤包括:利用第二网络结构中的浮点化模块将定点化特征转换成浮点化数据;以及将浮点化数据输入第二网络结构中的后续网络层中,以获得浮点化特征。
根据本发明实施例的用于神经网络的数据处理系统中的各模块可以通过根据本发明实施例的实施用于神经网络的数据处理的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用于神经网络的数据处理装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种用于神经网络的数据处理方法,包括:
获取待处理数据;
利用神经网络中的第一网络结构处理所述待处理数据,以获得所述待处理数据的定点化特征;以及
利用所述神经网络中的第二网络结构处理所述定点化特征,以获得所述待处理数据的浮点化特征。
2.如权利要求1所述的方法,其中,所述第一网络结构在采用自定义电路的第一硬件设备上运行,所述第二网络结构在采用固定电路的第二硬件设备上运行。
3.如权利要求2所述的方法,其中,所述第一硬件设备包括现场可编程门阵列、专用集成电路和自主设计流片中的一种或多种。
4.如权利要求2所述的方法,其中,所述第二硬件设备包括微处理器。
5.如权利要求1至4任一项所述的方法,其中,所述利用神经网络中的第一网络结构处理所述待处理数据,以获得所述待处理数据的定点化特征包括:
对于所述第一网络结构中的至少一个网络层,
对所述网络层的层输出结果执行离散定点化操作,以获得与该网络层相对应的定点化结果,其中,所述定点化特征为与所述预设数目的网络层中的最后一个网络层相对应的定点化结果。
6.如权利要求1所述的方法,其中,所述利用所述神经网络中的第二网络结构处理所述定点化特征,以获得所述待处理数据的浮点化特征包括:
利用所述第二网络结构中的浮点化模块将所述定点化特征转换成浮点化数据;以及
将所述浮点化数据输入所述第二网络结构中的后续网络层中,以获得所述浮点化特征。
7.一种用于神经网络的数据处理装置,包括:
获取模块,用于获取待处理数据;
定点处理模块,用于利用神经网络中的第一网络结构处理所述待处理数据,以获得所述待处理数据的定点化特征;以及
浮点处理模块,用于利用所述神经网络中的第二网络结构处理所述定点化特征,以获得所述待处理数据的浮点化特征。
8.一种用于神经网络的数据处理系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至6任一项所述的用于神经网络的数据处理方法。
9.如权利要求8所述的系统,其中,所述数据处理系统包括采用自定义电路的第一硬件设备和采用固定电路的第二硬件设备,所述处理器包括所述第一硬件设备上的第一处理器和所述第二硬件设备上的第二处理器,所述存储器包括所述第一硬件设备上的第一存储器和所述第二硬件设备上的第二存储器,所述第一存储器中存储有第一计算机程序指令,所述第二存储器中存储有第二计算机程序指令,
所述第一计算机程序指令被所述第一处理器运行时用于执行所述获取待处理数据以及所述利用神经网络中的第一网络结构处理所述待处理数据,以获得所述待处理数据的定点化特征的步骤;
所述第二计算机程序指令被所述第二处理器运行时用于执行所述利用所述神经网络中的第二网络结构处理所述定点化特征,以获得所述待处理数据的浮点化特征的步骤。
10.如权利要求9所述的系统,其中,所述数据处理系统还包括通信装置,所述通信装置包括所述第一硬件设备上的第一通信装置和所述第二硬件设备上的第二通信装置,
所述第一通信装置用于将所述定点化特征传送到所述第二硬件设备;
所述第二通信装置用于接收所述定点化特征。
11.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至6任一项所述的用于神经网络的数据处理方法。
CN201810124166.2A 2018-02-07 2018-02-07 用于神经网络的数据处理方法、装置和系统及存储介质 Pending CN108875899A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810124166.2A CN108875899A (zh) 2018-02-07 2018-02-07 用于神经网络的数据处理方法、装置和系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810124166.2A CN108875899A (zh) 2018-02-07 2018-02-07 用于神经网络的数据处理方法、装置和系统及存储介质

Publications (1)

Publication Number Publication Date
CN108875899A true CN108875899A (zh) 2018-11-23

Family

ID=64326014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810124166.2A Pending CN108875899A (zh) 2018-02-07 2018-02-07 用于神经网络的数据处理方法、装置和系统及存储介质

Country Status (1)

Country Link
CN (1) CN108875899A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109685202A (zh) * 2018-12-17 2019-04-26 腾讯科技(深圳)有限公司 数据处理方法及装置、存储介质和电子装置
CN110363287A (zh) * 2019-07-01 2019-10-22 西安交通大学 一种面向内存计算和室内是否有人的神经网络设计方法
WO2021036668A1 (zh) * 2019-08-27 2021-03-04 北京灵汐科技有限公司 神经网络的全局池化方法及众核系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447498A (zh) * 2014-09-22 2016-03-30 三星电子株式会社 配置有神经网络的客户端设备、系统和服务器系统
CN106502626A (zh) * 2016-11-03 2017-03-15 北京百度网讯科技有限公司 数据处理方法和装置
CN106845640A (zh) * 2017-01-12 2017-06-13 南京大学 基于深度卷积神经网络的层内非均匀的等间隔定点量化方法
CN106897734A (zh) * 2017-01-12 2017-06-27 南京大学 基于深度卷积神经网络的层内非均匀的k平均聚类定点量化方法
CN107239826A (zh) * 2017-06-06 2017-10-10 上海兆芯集成电路有限公司 在卷积神经网络中的计算方法及装置
CN107292334A (zh) * 2017-06-08 2017-10-24 北京深瞐科技有限公司 图像识别方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447498A (zh) * 2014-09-22 2016-03-30 三星电子株式会社 配置有神经网络的客户端设备、系统和服务器系统
CN106502626A (zh) * 2016-11-03 2017-03-15 北京百度网讯科技有限公司 数据处理方法和装置
CN106845640A (zh) * 2017-01-12 2017-06-13 南京大学 基于深度卷积神经网络的层内非均匀的等间隔定点量化方法
CN106897734A (zh) * 2017-01-12 2017-06-27 南京大学 基于深度卷积神经网络的层内非均匀的k平均聚类定点量化方法
CN107239826A (zh) * 2017-06-06 2017-10-10 上海兆芯集成电路有限公司 在卷积神经网络中的计算方法及装置
CN107292334A (zh) * 2017-06-08 2017-10-24 北京深瞐科技有限公司 图像识别方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈泰红 等: "《手把手教你学DSP:基于TMS320C55x》", 31 August 2011 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109685202A (zh) * 2018-12-17 2019-04-26 腾讯科技(深圳)有限公司 数据处理方法及装置、存储介质和电子装置
WO2020125236A1 (zh) * 2018-12-17 2020-06-25 腾讯科技(深圳)有限公司 数据处理方法及装置、存储介质和电子装置
US20210042889A1 (en) * 2018-12-17 2021-02-11 Tencent Technology (Shenzhen) Company Limited Data processing method and apparatus, storage medium, and electronic device
US11689607B2 (en) * 2018-12-17 2023-06-27 Tencent Technology (Shenzhen) Company Limited Data processing method and apparatus, storage medium, and electronic device
CN110363287A (zh) * 2019-07-01 2019-10-22 西安交通大学 一种面向内存计算和室内是否有人的神经网络设计方法
CN110363287B (zh) * 2019-07-01 2021-07-13 西安交通大学 一种面向内存计算和室内是否有人的神经网络设计方法
WO2021036668A1 (zh) * 2019-08-27 2021-03-04 北京灵汐科技有限公司 神经网络的全局池化方法及众核系统
CN112446458A (zh) * 2019-08-27 2021-03-05 北京灵汐科技有限公司 一种神经网络的全局池化方法及众核系统

Similar Documents

Publication Publication Date Title
US10621971B2 (en) Method and device for extracting speech feature based on artificial intelligence
US10373312B2 (en) Automated skin lesion segmentation using deep side layers
CN108875932A (zh) 图像识别方法、装置和系统及存储介质
CN108875486A (zh) 目标对象识别方法、装置、系统和计算机可读介质
CN108875722A (zh) 字符识别与识别模型训练方法、装置和系统及存储介质
CN108334644B (zh) 图像识别方法和装置
CN108875537B (zh) 对象检测方法、装置和系统及存储介质
JP2020513637A (ja) データ管理のためのシステム及び方法
CN108664897A (zh) 票据识别方法、装置及存储介质
CN108197532A (zh) 人脸识别的方法、装置及计算机装置
CN108875521A (zh) 人脸检测方法、装置、系统和存储介质
CN106447721A (zh) 图像阴影检测方法和装置
US20170185835A1 (en) Assisting people with understanding charts
CN108875540A (zh) 图像处理方法、装置和系统及存储介质
CN110363091A (zh) 侧脸情况下的人脸识别方法、装置、设备及存储介质
CN109034206A (zh) 图像分类识别方法、装置、电子设备及计算机可读介质
CN108875899A (zh) 用于神经网络的数据处理方法、装置和系统及存储介质
CN111931002B (zh) 一种匹配方法以及相关设备
CN109919211A (zh) 商品识别方法、装置、系统和计算机可读介质
US20220058451A1 (en) Identifying a type of object in a digital image based on overlapping areas of sub-images
CN108875534A (zh) 人脸识别的方法、装置、系统及计算机存储介质
CN111292334B (zh) 一种全景图像分割方法、装置及电子设备
US20210166058A1 (en) Image generation method and computing device
CN106855952A (zh) 基于神经网络的计算方法及装置
CN108875778A (zh) 人脸聚类方法、装置、系统和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181123