CN108875924A - 基于神经网络的数据处理方法、装置、系统及存储介质 - Google Patents
基于神经网络的数据处理方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN108875924A CN108875924A CN201810134878.2A CN201810134878A CN108875924A CN 108875924 A CN108875924 A CN 108875924A CN 201810134878 A CN201810134878 A CN 201810134878A CN 108875924 A CN108875924 A CN 108875924A
- Authority
- CN
- China
- Prior art keywords
- neural network
- data
- matrix
- setting value
- value
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明的实施例提供了一种基于神经网络的数据处理方法、装置、系统及存储介质。该方法包括:获取待处理的数据;利用神经网络处理所述数据,得到最终处理结果;其中,在利用所述神经网络处理所述数据的过程中,将至少一次矩阵乘法运算得到的结果矩阵中、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值。上述技术方案能够在保证数据处理精度的前提下,显著简化神经网络的计算逻辑,相应地减少神经网络的乘法器中的逻辑门。由此,能够降低对平台计算能力和存储空间方面的要求,进而降低对系统功耗、散热等性能方面的要求。
Description
技术领域
本发明涉及人工智能领域,更具体地涉及一种基于神经网络的数据处理方法、装置、系统及存储介质。
背景技术
人工神经网络是一种基于模仿生物神经网络的结构和功能的数学模型,可以对某一类或者一些问题进行函数的模拟和近似。由于大数据的发展,神经网络目前在图像、语音以及自然语言处理等具有海量数据库的方向上有着非常广泛的应用。
目前,由于神经网络的准确度的要求,不断地增加网络的复杂度并且拓展网络的空间结构。由此,造成了网络模型的计算量以及尺寸的不断攀升。在开发板,手机等嵌入式平台上,计算能力以及存储空间等方面的限制会对功耗、面积、散热等问题带来非常大的挑战。
因此,迫切需要减少利用神经网络进行数据处理时的计算量,以解决上述问题。
发明内容
考虑到上述问题而提出了本发明。本发明提供了一种基于神经网络的数据处理方法、装置、系统及存储介质。
根据本发明一方面,提供了一种基于神经网络的数据处理方法,包括:
获取待处理的数据;
利用神经网络处理所述数据,得到最终处理结果;
其中,在利用所述神经网络处理所述数据的过程中,将至少一次矩阵乘法运算得到的结果矩阵中、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值。
示例性地,在所述将至少一次矩阵乘法运算得到的结果矩阵中的、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值,所述方法还包括:
计算所述结果矩阵中元素的均值并确定所述设定值为所述均值;或者
确定所述设定值为0。
示例性地,所述方法还包括:利用训练样本对所述神经网络进行训练,以确定所述阈值。
示例性地,所述利用训练样本对所述神经网络进行训练还包括:在训练过程中,量化所述神经网络的权重参数。
示例性地,所述矩阵乘法运算是所述神经网络的网络层的权重参数和所述网络层的输入数据之间的矩阵乘法运算。
示例性地,所述矩阵乘法运算为所述神经网络的卷积层的矩阵乘法运算。
根据本发明另一方面,还提供了一种基于神经网络的数据处理装置,包括:
获取模块,用于获取待处理的数据;
处理模块,用于利用神经网络处理所述数据,得到最终处理结果;
其中,在利用所述神经网络处理所述数据的过程中,将至少一次矩阵乘法运算得到的结果矩阵中、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值。
根据本发明又一方面,还提供了一种基于神经网络的数据处理系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述基于神经网络的数据处理方法。
根据本发明再一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述基于神经网络的数据处理方法。
根据本发明实施例的基于神经网络的数据处理方法、装置、系统及存储介质,通过在利用神经网络处理数据时压缩乘法运算的计算量,能够在保证数据处理结果的精度的前提下,显著简化神经网络的计算逻辑,相应地减少神经网络的乘法器中的逻辑门。由此,本申请的技术方案能够降低对平台计算能力和存储空间方面的要求,进而降低对系统功耗、散热等性能方面的要求。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出了用于实现根据本发明实施例的基于神经网络的数据处理方法和装置的示例电子设备的示意性框图;
图2示出了根据本发明一个实施例的基于神经网络的数据处理方法的示意性流程图;
图3示出了根据本发明一个实施例的利用神经网络处理数据的示意图;
图4示出了根据本发明一个实施例的乘法器的示意图;
图5示出了根据本发明一个实施例的基于神经网络的数据处理装置的示意性框图;以及
图6示出了根据本发明一个实施例的基于神经网络的数据处理系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
首先,参照图1来描述用于实现根据本发明实施例的基于神经网络的数据处理方法和装置的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104。可选地,电子设备100还可以包括输入装置106、输出装置108和数据获取装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以是中央处理单元(CPU)、图形处理器(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述数据获取装置110可以采集图像或声音等各种形式的数据,并且将所采集的数据存储在所述存储装置104中以供其它组件使用。数据获取装置110可以是摄像头、麦克风等。应当理解,数据获取装置110仅是示例,电子设备100可以不包括数据获取装置110。在这种情况下,可以利用其他数据获取装置获取数据,并将所获取的数据发送给电子设备100。
示例性地,用于实现根据本发明实施例的基于神经网络的数据处理方法和装置的示例电子设备可以在诸如个人计算机或远程服务器等的设备上实现。
根据本发明实施例的基于神经网络的数据处理方法、装置、系统及存储介质可以应用于各种场景。例如,待处理的数据可以是待识别或检测的图像、待识别声音、待分析文本等等。利用神经网络对这些待处理的数据进行相应地处理操作。具体例如,利用神经网络对待检测图像进行人脸检测,以获得人脸检测结果。利用神经网络对待识别声音进行识别,以将声音转换为文本输出。利用神经网络对待分析文本进行分类。
下面,将参考图2描述根据本发明实施例的基于神经网络的数据处理方法。图2示出根据本发明一个实施例的基于神经网络的数据处理方法200的示意性流程图。如图2所示,该方法200包括以下步骤。
步骤S210,获取待处理的数据。
待处理的数据可以是任何合适的、需要利用神经网络的进行处理的数据。如前所述,待处理的数据可以是图像、声音、文本等各种格式的数据。
待处理的数据可以由电子设备100包括的数据获取装置110(例如摄像头)采集并传送到处理器102进行处理。待处理的数据也可以由客户端设备(诸如包括摄像头的图像采集设备)采集最后发送到电子设备100以由电子设备100的处理器102进行处理。
步骤S220,利用神经网络处理步骤S210所获取的数据,以得到最终处理结果。图3示出了根据本发明一个实施例的利用神经网络处理数据的示意图。在该步骤S220中,首先,将步骤S210所获取的数据输入神经网络。在图3中,神经网络示出为3层的神经网络,神经网络的每一网络层的神经元由一列圆圈表示。本领域普通技术人员可以理解,图3所示的3层神经网络仅为示意,并非对本发明的限制。然后,利用神经网络对输入数据进行处理后,输出最终处理结果。
如前所述,这里的处理操作可以根据应用场景不同而不同。具体可以包括,针对待检测图像进行人脸检测操作、对人脸图像进行人脸识别、针对待识别声音进行识别操作或针对待识别文本进行文本分析操作等等。相应地,最终处理结果可以是待检测图像中的人脸检测框、人脸相似度、待识别声音所对应的文本或文本的分类结果等等。
在利用神经网络处理所述数据的过程中,将处理操作所涉及的至少一次矩阵乘法运算得到的结果矩阵中的、与设定值的差值的绝对值小于或等于阈值的元素置为该设定值。其中该阈值为大于0的实数。而结果矩阵中的其他元素保持不变。结果矩阵可以用于神经网络的下一次计算。
可以理解,利用神经网络处理数据的操作涉及到很多矩阵乘法运算。这些矩阵乘法运算所涉及的数据量非常多,进而不可避免地使得处理操作的计算量大。典型地,对于神经网络的一些网络层来说,该网络层的权重参数和输入数据之间的矩阵乘法运算的计算量就很大。下面的表1示出了根据本发明一个实施例的3位的权重参数W与2位的输入数据X的乘法运算。
表1
如表1所示,仅仅是3位的权值与2位的输入数据就要进行如此大的计算量。而在实际应用中,神经网络的权重参数可能是更多位的,例如32位浮点数,并且也可能有更多个,输入数据也一样。因此,神经网络的处理操作所涉及的矩阵乘法运算的计算量是惊人的。
可以理解,上述乘法运算可以用逻辑电路搭建的乘法器来实现,那么该乘法器将需要大量的逻辑门。图4示出了根据本发明一个实施例的乘法器的示意图,其中的逻辑门根据表1进行设置。其中3位的权重参数W的三个位分别为w3、w2和w1,2位的输入数据X的两个位分别是x2和x1。这些位的数据是乘法器的输入数据。如表2所示,乘法器的输出数据O也可以用5位数据来表示,例如表示为o5o4o3o2o1。
根据本发明的实施例,将处理操作所涉及的至少一次矩阵乘法运算得到的结果矩阵中的部分元素置为设定值。其中该部分元素是与该设定值的差值的绝对值小于或等于阈值的元素。换言之,将结果矩阵中一些大小相差不多的元素置为相同的数值。表2示出了将表1所示的乘法运算结果矩阵中部分元素置为设定值。
表2
如表2所示,在该实施例中,将结果矩阵中的小于或等于4的元素置为0。换言之,如果一个元素减去0的差值的绝对值小于或等于4,那么将该元素置为0。即在该实施例中,设定值为0,阈值为4。本领域普通技术人员可以理解,前述数值仅为示意,而非对本发明的限制。表3示出了根据表1得到的真值表到根据表2得到的真值表的变化。
表3
如前所述,可以用逻辑门来搭建逻辑电路,以实现上述乘法器。下面以输出数据O的第2位数据o2为例来说明其与输入数据X的逻辑关系。本领域普通技术人员可以理解,输出数据O的其他位数据与此类似,为了简洁,不再赘述。
对于输出数据O的第2位数据o2来说,根据表1得到的真值表确定o2如下公式1)所示:
然而,同样对于输出数据O的第2位数据o2来说,根据表2得到的真值表确定o2如下公式2)所示:
如表3中输出数据O的第2位数据o2所在的倒数第二列以及以上公式1)和公式2)中第一步所示,通过将矩阵乘法运算得到的结果矩阵中的部分元素置0,即设定值,显著减少了输出数据O的第2位数据o2所在列中1的个数。公式2)中第一个“等号”右边的项的个数为8个,其少于公式1)中第一个“等号”右边的项的个数“12”。在上述公式2)的第二步中,可以更理想地通过逻辑优化来减少实现该乘法器的逻辑门的个数。上述技术方案更显著地减少了神经网络的乘法器所需的逻辑门,节省了大量逻辑计算资源,提升了神经网络的计算效率。
可以理解,上述实现过程中,可以利用卡诺图来优化乘法器。卡诺图是逻辑函数的一种图形表示。因为将乘法结果矩阵中的部分元素置为设定值,所以在乘法结果矩阵中可能存在多个设定值处于相邻位置,由此,可以使用卡诺图优化合并逻辑,使用更少的硬件逻辑门来实现矩阵乘法的逻辑功能。
在本申请的实施例中,在利用神经网络对数据进行处理的过程中,将乘法结果矩阵中的部分元素置为相同的设定值,其中这部分元素在[设定值-阈值,设定值+阈值]的区间内。因为被置为设定值的元素在前述范围内,即其与设定值之间的差值小于或等于阈值,所以仍能够基本保证神经网络对待处理数据进行处理的精度。
可以理解,上述方法200可以基于硬件实现,尤其是基于专用集成电路(ASIC)实现。上述乘法运算可以用基于基本逻辑门搭建的逻辑电路来实现。
根据本发明实施例的上述方法200,能够在保证神经网络的处理精度的前提下,显著简化神经网络的计算逻辑,相应地减少神经网络的乘法器中的逻辑门。由此,本申请的技术方案能够降低对平台计算能力和存储空间方面的要求,进而降低对系统功耗、散热等性能方面的要求。
可选地,上述方法200还包括以下步骤:计算结果矩阵中元素的均值并确定前述设定值是该均值。
利用神经网络获得矩阵乘法运算的结果矩阵后,可以计算其中所有元素的均值。在很多情况中,结果矩阵中的元素的分布大致呈现正态分布。换言之,如果用一个固定大小的窗口在数轴上滑动,该固定大小例如为2倍的阈值,那么当窗口中心位于均值处时,该窗口所涵盖的元素最多。因此,当设定值为均值时,采用本发明的实施例置为设定值的元素将最多,进而将使得乘法器能够用最少的逻辑门来实现,神经网络的计算效率最高。
替代地,上述方法200包括确定设定值为0。即在该实施例中,将结果矩阵中的绝对值小于或等于阈值的元素置为0。一方面,结果矩阵中所有元素的均值的绝对值一般较小。这样,可以用相对较少的逻辑门来实现乘法器。另一方面,避免了计算结果矩阵中元素的均值的操作,减少了计算量。
如前所述,神经网络的网络层的权重参数和该网络层的输入数据之间的矩阵乘法运算的计算量非常惊人。可选地,上述将其结果矩阵中的部分元素置为设定值的矩阵乘法运算是神经网络的网络层的权重参数和该网络层的输入数据之间的矩阵乘法运算。该矩阵乘法运算所得到的结果矩阵中的部分满足条件的元素被置为设定值,其他元素保持不变。该结果矩阵可以作为神经网络的下一个网络层的输入数据。在实际应用中,网络层的权重参数和输入数据的维度都比较大。将二者的乘法结果矩阵中的部分满足条件的元素置为设定值可以显著降低其计算量,进而降低整个神经网络处理数据的计算量。
可选地,上述神经网络是卷积神经网络,其一个或多个网络层是卷积层。卷积神经网络是一种深度前馈人工神经网络,已成功地应用于大型图像识别等各个领域。卷积神经网络的卷积层通常涉及大规模的乘法运算。上述将其结果矩阵中的部分元素置为设定值的矩阵乘法运算可以是卷积层的矩阵乘法运算。上述技术方案可以显著减小卷积神经网络的计算量。
可选地,上述方法200还包括利用训练样本对前述神经网络进行训练以确定所述阈值的步骤。根据本发明一个实施例,前述的神经网络是利用训练数据进行训练获得的。在神经网络的训练过程中确定所述阈值。
首先,将神经网络的参数随机初始化或利用已经训练好的其他网络进行初始化,并且将阈值随机初始化或根据经验赋初始值。其中,对于利用已经训练好的其他网络进行初始化的情况,可以选取其中的一部分作为上述神经网络的一部分。
然后,利用经标注的训练数据,对神经网络进行训练。在该训练过程中,可以不断地基于损失函数调整神经网络的权重和阈值,直至神经网络的性能满足训练条件。由此,获得了经训练的神经网络和期望的阈值。
经训练获得的神经网络和阈值能够在保证神经网络的处理性能的基础上,简化神经网络的计算逻辑。经训练获得的神经网络和阈值可以使神经网络的乘法器能够用较少的硬件逻辑门实现。
可选地,在上述训练过程中,量化神经网络的权重参数。通过量化操作,可以将神经网络的权重转换为低位宽的整数,例如8位、4位甚至更低位宽的整数。因为量化神经网络的权重参数都是整数,所以在此基础上执行前述方法200,能够进一步减少数据存储量和计算量。因此,能够降低对运行平台计算能力和存储空间方面的要求。
示例性地,根据本发明实施例的基于神经网络的数据处理方法可以在具有存储器和处理器的设备、装置或者系统中实现。根据本发明实施例的基于神经网络的数据处理方法还可以分布地部署在服务器端(或云端)和客户端处。
根据本发明另一方面,还提供了一种基于神经网络的数据处理装置。图5示出了根据本发明一个实施例的基于神经网络的数据处理装置500的示意性框图。
如图5所示,装置500包括获取模块510和处理模块520。所述各个模块可分别执行上文中所述的基于神经网络的数据处理方法的各个步骤/功能。以下仅对该装置500的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
获取模块510用于获取待处理的数据。图像获取模块510可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
处理模块520用于利用神经网络处理所述数据,得到最终处理结果。其中,在利用所述神经网络处理所述数据的过程中,将至少一次矩阵乘法运算得到的结果矩阵中、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值。处理模块520可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
示例性地,所述矩阵乘法运算是所述神经网络的网络层的权重参数和所述网络层的输入数据之间的矩阵乘法运算。
示例性地,所述矩阵乘法运算为所述神经网络的卷积层的矩阵乘法运算。
示例性地,所述装置500还包括第一确定模块或第二确定模块。第一确定模块用于计算所述结果矩阵中元素的均值并确定所述设定值为所述均值。第二确定模块用于确定所述设定值为0。第一确定模块和第二确定模块可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
示例性地,所述装置500还包括训练模块,用于利用训练样本对所述神经网络进行训练,以确定所述阈值。训练模块可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
示例性地,所述训练模块还用于在训练过程中,量化所述神经网络的权重参数。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
图6示出了根据本发明一个实施例的基于神经网络的数据处理系统600的示意性框图。如图6所示,系统600包括输入装置610、存储装置620、处理器630以及输出装置640。
所述输入装置610用于接收用户所输入的操作指令以及采集数据。输入装置610可以包括键盘、鼠标、麦克风、触摸屏和图像采集装置等中的一个或多个。
所述存储装置620存储用于实现根据本发明实施例的基于神经网络的数据处理方法中的相应步骤的计算机程序指令。
所述处理器630用于运行所述存储装置620中存储的计算机程序指令,以执行根据本发明实施例的基于神经网络的数据处理方法的相应步骤,并且用于实现根据本发明实施例的基于神经网络的数据处理装置中的获取模块510和处理模块520。
在本发明的一个实施例中,在所述计算机程序指令被所述处理器630运行时使所述系统600执行以下步骤:
获取待处理的数据;
利用神经网络处理所述数据,得到最终处理结果;
其中,在利用所述神经网络处理所述数据的过程中,将至少一次矩阵乘法运算得到的结果矩阵中、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值。
示例性地,所述矩阵乘法运算是所述神经网络的网络层的权重参数和所述网络层的输入数据之间的矩阵乘法运算。
示例性地,所述矩阵乘法运算为所述神经网络的卷积层的矩阵乘法运算。
示例性地,在所述计算机程序指令被所述处理器630运行时还使所述系统600执行以下步骤:
计算所述结果矩阵中元素的均值并确定所述设定值为所述均值;或者
确定所述设定值为0。
示例性地,在所述计算机程序指令被所述处理器630运行时还使所述系统600执行以下步骤:
利用训练样本对所述神经网络进行训练,以确定所述阈值。
示例性地,在所述计算机程序指令被所述处理器630运行时使所述系统600执行的所述利用训练样本对所述神经网络进行训练的步骤还包括:
在训练过程中,量化所述神经网络的权重参数。
此外,根据本发明再一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的基于神经网络的数据处理方法的相应步骤,并且用于实现根据本发明实施例的基于神经网络的数据处理装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
在本发明的一个实施例中,所述计算机程序指令被计算机或处理器运行时,使得所述计算机或处理器执行以下步骤:
获取待处理的数据;
利用神经网络处理所述数据,得到最终处理结果;
其中,在利用所述神经网络处理所述数据的过程中,将至少一次矩阵乘法运算得到的结果矩阵中、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值。
示例性地,所述矩阵乘法运算是所述神经网络的网络层的权重参数和所述网络层的输入数据之间的矩阵乘法运算。
示例性地,所述矩阵乘法运算为所述神经网络的卷积层的矩阵乘法运算。
在本发明的一个实施例中,所述计算机程序指令被计算机或处理器运行时,还使得所述计算机或处理器执行以下步骤:
计算所述结果矩阵中元素的均值并确定所述设定值为所述均值;或者
确定所述设定值为0。
在本发明的一个实施例中,所述计算机程序指令被计算机或处理器运行时,还使得所述计算机或处理器执行以下步骤:
利用训练样本对所述神经网络进行训练,以确定所述阈值。
示例性地,所述计算机程序指令被计算机或处理器运行时,使得所述计算机或处理器执行的所述利用训练样本对所述神经网络进行训练的步骤还包括:
在训练过程中,量化所述神经网络的权重参数。
根据本发明实施例的基于神经网络的数据处理系统中的各模块可以通过根据本发明实施例实施基于神经网络的数据处理的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
根据本发明实施例的基于神经网络的数据处理方法、装置、系统和存储介质,通过在利用神经网络处理数据时压缩乘法运算的计算量,能够在保证处理结果的精度的前提下,显著简化神经网络的计算逻辑,相应地减少神经网络的乘法器中的逻辑门。由此,本申请的技术方案能够降低对平台计算能力和存储空间方面的要求,进而降低对系统功耗、散热等性能方面的要求。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于神经网络的数据处理装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种基于神经网络的数据处理方法,所述方法包括:
获取待处理的数据;
利用神经网络处理所述数据,得到最终处理结果;
其中,在利用所述神经网络处理所述数据的过程中,将至少一次矩阵乘法运算得到的结果矩阵中、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值。
2.如权利要求1所述的方法,其中,在所述将至少一次矩阵乘法运算得到的结果矩阵中的、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值,所述方法还包括:
计算所述结果矩阵中元素的均值并确定所述设定值为所述均值;或者
确定所述设定值为0。
3.如权利要求1或2所述的方法,其中,所述方法还包括:
利用训练样本对所述神经网络进行训练,以确定所述阈值。
4.如权利要求3所述的方法,其中,所述利用训练样本对所述神经网络进行训练还包括:
在训练过程中,量化所述神经网络的权重参数。
5.如权利要求1或2所述的方法,其中,所述矩阵乘法运算是所述神经网络的网络层的权重参数和所述网络层的输入数据之间的矩阵乘法运算。
6.如权利要求5所述的方法,其中,所述矩阵乘法运算为所述神经网络的卷积层的矩阵乘法运算。
7.一种基于神经网络的数据处理装置,包括:
获取模块,用于获取待处理的数据;
处理模块,用于利用神经网络处理所述数据,得到最终处理结果;
其中,在利用所述神经网络处理所述数据的过程中,将至少一次矩阵乘法运算得到的结果矩阵中、与设定值的差值的绝对值小于或等于阈值的元素置为所述设定值。
8.一种基于神经网络的数据处理系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至6任一项所述的基于神经网络的数据处理方法。
9.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至6任一项所述的基于神经网络的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810134878.2A CN108875924A (zh) | 2018-02-09 | 2018-02-09 | 基于神经网络的数据处理方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810134878.2A CN108875924A (zh) | 2018-02-09 | 2018-02-09 | 基于神经网络的数据处理方法、装置、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108875924A true CN108875924A (zh) | 2018-11-23 |
Family
ID=64325970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810134878.2A Pending CN108875924A (zh) | 2018-02-09 | 2018-02-09 | 基于神经网络的数据处理方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108875924A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191303A (zh) * | 2019-06-21 | 2019-08-30 | Oppo广东移动通信有限公司 | 基于屏幕发声的视频通话方法及相关产品 |
CN111027674A (zh) * | 2019-11-21 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 应用于多智能体系统的测试方法和装置 |
CN112085177A (zh) * | 2019-06-12 | 2020-12-15 | 安徽寒武纪信息科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112508165A (zh) * | 2019-09-13 | 2021-03-16 | 富士通株式会社 | 用于信息处理的设备、方法及非暂态计算机可读存储介质 |
CN113159267A (zh) * | 2020-01-07 | 2021-07-23 | Tcl集团股份有限公司 | 一种图像数据处理方法、装置及终端设备 |
CN113168557A (zh) * | 2019-03-30 | 2021-07-23 | 华为技术有限公司 | 一种数据处理方法、服务器和可读介质 |
CN113222097A (zh) * | 2020-01-21 | 2021-08-06 | 上海商汤智能科技有限公司 | 数据处理方法和相关产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176767A (zh) * | 2013-03-01 | 2013-06-26 | 浙江大学 | 一种低功耗高吞吐的浮点数乘累加单元的实现方法 |
CN106611216A (zh) * | 2016-12-29 | 2017-05-03 | 北京旷视科技有限公司 | 基于神经网络的计算方法及装置 |
CN107622305A (zh) * | 2017-08-24 | 2018-01-23 | 中国科学院计算技术研究所 | 用于神经网络的处理器和处理方法 |
-
2018
- 2018-02-09 CN CN201810134878.2A patent/CN108875924A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176767A (zh) * | 2013-03-01 | 2013-06-26 | 浙江大学 | 一种低功耗高吞吐的浮点数乘累加单元的实现方法 |
CN106611216A (zh) * | 2016-12-29 | 2017-05-03 | 北京旷视科技有限公司 | 基于神经网络的计算方法及装置 |
CN107622305A (zh) * | 2017-08-24 | 2018-01-23 | 中国科学院计算技术研究所 | 用于神经网络的处理器和处理方法 |
Non-Patent Citations (1)
Title |
---|
黄友丹: "高移动环境下LTE上行信道估计仿真及DSP实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113168557A (zh) * | 2019-03-30 | 2021-07-23 | 华为技术有限公司 | 一种数据处理方法、服务器和可读介质 |
CN113168557B (zh) * | 2019-03-30 | 2024-04-30 | 华为技术有限公司 | 一种数据处理方法、服务器和可读介质 |
CN112085177A (zh) * | 2019-06-12 | 2020-12-15 | 安徽寒武纪信息科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110191303A (zh) * | 2019-06-21 | 2019-08-30 | Oppo广东移动通信有限公司 | 基于屏幕发声的视频通话方法及相关产品 |
CN110191303B (zh) * | 2019-06-21 | 2021-04-13 | Oppo广东移动通信有限公司 | 基于屏幕发声的视频通话方法、设备、装置及计算机可读存储介质 |
CN112508165A (zh) * | 2019-09-13 | 2021-03-16 | 富士通株式会社 | 用于信息处理的设备、方法及非暂态计算机可读存储介质 |
CN111027674A (zh) * | 2019-11-21 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 应用于多智能体系统的测试方法和装置 |
CN111027674B (zh) * | 2019-11-21 | 2023-02-07 | 腾讯科技(深圳)有限公司 | 应用于多智能体系统的测试方法和装置 |
CN113159267A (zh) * | 2020-01-07 | 2021-07-23 | Tcl集团股份有限公司 | 一种图像数据处理方法、装置及终端设备 |
CN113159267B (zh) * | 2020-01-07 | 2024-08-27 | Tcl科技集团股份有限公司 | 一种图像数据处理方法、装置及终端设备 |
CN113222097A (zh) * | 2020-01-21 | 2021-08-06 | 上海商汤智能科技有限公司 | 数据处理方法和相关产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108875924A (zh) | 基于神经网络的数据处理方法、装置、系统及存储介质 | |
US11295208B2 (en) | Robust gradient weight compression schemes for deep learning applications | |
CN109816009B (zh) | 基于图卷积的多标签图像分类方法、装置及设备 | |
CN108351984B (zh) | 硬件高效的深度卷积神经网络 | |
CN109671020B (zh) | 图像处理方法、装置、电子设备和计算机存储介质 | |
US20170316312A1 (en) | Systems and methods for deep learning processor | |
CN107977665A (zh) | 一种发票中关键信息的识别方法及计算设备 | |
CN108875722A (zh) | 字符识别与识别模型训练方法、装置和系统及存储介质 | |
CN113822209B (zh) | 高光谱图像识别方法、装置、电子设备及可读存储介质 | |
JP2020513637A (ja) | データ管理のためのシステム及び方法 | |
CN107506828A (zh) | 计算装置和方法 | |
CN112580720B (zh) | 一种模型训练方法及装置 | |
CN105989330A (zh) | 一种图片检测方法及设备 | |
WO2022228425A1 (zh) | 一种模型训练方法及装置 | |
CN111105017B (zh) | 神经网络量化方法、装置及电子设备 | |
CN112257578B (zh) | 人脸关键点检测方法、装置、电子设备及存储介质 | |
CN113822207B (zh) | 高光谱遥感图像识别方法、装置、电子设备及存储介质 | |
Kim et al. | Label-preserving data augmentation for mobile sensor data | |
CN108875767A (zh) | 图像识别的方法、装置、系统及计算机存储介质 | |
US11373043B2 (en) | Technique for generating and utilizing virtual fingerprint representing text data | |
CN106855952A (zh) | 基于神经网络的计算方法及装置 | |
CN107863111A (zh) | 面向交互的语音语料处理方法及装置 | |
CN112465141B (zh) | 模型压缩方法、装置、电子设备及介质 | |
CN107402905B (zh) | 基于神经网络的计算方法及装置 | |
CN115238909A (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 |
Application publication date: 20181123 |
|
RJ01 | Rejection of invention patent application after publication |