CN110955405A - 一种输入数据的处理及指数值获取方法、装置及电子设备 - Google Patents
一种输入数据的处理及指数值获取方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110955405A CN110955405A CN201911174377.8A CN201911174377A CN110955405A CN 110955405 A CN110955405 A CN 110955405A CN 201911174377 A CN201911174377 A CN 201911174377A CN 110955405 A CN110955405 A CN 110955405A
- Authority
- CN
- China
- Prior art keywords
- input data
- prediction
- floating point
- index value
- neural network
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Nonlinear Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公布了提供一种输入数据的处理及指数值获取方法、装置及电子设备,所述输入数据的处理方法包括:获取目标卷积神经网络的输入数据;将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值;根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数;将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络。通过指数预测网络对输入数据的指数进行预测,通过预测得到的预测指数值对输入数据进行对齐,避免块浮点数和浮点数的转化以及求最大指数值的操作,提高指数值的获取速度,从而提高卷积神经网络推理速度。
Description
技术领域
本发明涉及人工智能领域,更具体的说,是涉及一种输入数据的处理及指数值获取方法、装置及电子设备。
背景技术
随着深度学习的快速发展,卷积神经网络已经大量应用于机器视觉应用,例如图像识别与图像分类。然而,卷积神经网络的算法复杂度导致其推理运行时间过长,阻碍了卷积神经网络在日常应用中的部署,量化作为一种卷积神经网络压缩技术,能效降低算法复杂度,从而大大减低运行推理时间,其中,块浮点数作为量化技术的一种,能有效降低做法复杂度,同时保持图像分类准确率,从而使卷积神经网络部署在日常应用成为可能。输入数据在块浮点数的表示之下,由于量化的过程中,会损失部分数据,导致块浮点数中的指数值并非为量化后的块浮点数的指数值,卷积操作的输入需要进行段浮点数对齐操作,其中包括了块浮点数和浮点数的转化,求最大指数值操作,由于块浮点数和浮点数的转化以及求最大指数值操作会花费较多的时间进行计算,从而增加卷积神经网络的推理时间,导致卷积神经网络推理速度慢。
申请内容
本发明的目的是针对上述现有技术存在的缺陷,提供一种输入数据的处理方法,解决卷积神经网络推理速度慢的问题。
本发明的目的是通过以下技术方案来实现的:
第一方面,提供一种输入数据的处理方法,所述输入数据用于卷积神经网络的输入,所述方法包括:
获取目标卷积神经网络的输入数据,所述输入数据为批量浮点数或块浮点数,所述目标卷积神经网络为量化卷积神经网络;
将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值;
根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数;
将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络。
进一步的,所述预设的指数预测网络包括预设的预测卷积神经网络,所述将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值,包括:
获取随机指数值;
根据所述随机指数值对所述输入数据进行对齐,并输入到预设的预测卷积神经网络进行预测,得到对应的结果预测值;
若所述结果预测值满足预设条件,则确定所述结果预测值对应的随机指数值为预测指数值。
进一步的,所述获取随机指数值,包括:
获取初始随机指数值;
以所述初始随机指数值为起点,在单调递增和/或单调递减方向上,依次获取多个随机指数值。
进一步的,所述预设的预测卷积网络为预设的图像分类网络或图像识别网络,所述结果预测值为与所述图像分类网络或图像识别网络对应的分类准确率或识别准确率,所述根据所述随机指数值对所述输入数据进行对齐,并输入到预设的预测卷积神经网络进行预测,得到对应的结果预测值,包括:
根据所述随机指数值对所述输入数据进行位移,以使所述输入数据对齐;
将对齐后的输入数据输入到所述预设的图像分类网络或图像识别网络中进行预测,得到所述图像分类网络或图像识别网络对应的分类准确率或识别准确率。
进一步的,所述方法还包括:
判断所述分类准确率或识别准确率是否达到预设的准确率条件;
所述若所述结果预测值满足预设条件,则确定所述结果预测值对应的随机指数值为预测指数值,包括:
若所述分类准确率或识别准确率达到预设的准确率条件,则确定所述分类准确率或识别准确率对应的随机指数值为预测指数值。
进一步的,所述目标神经网络包括至少一层卷积计算层,所述获取目标卷积神经网络的输入数据,包括:
获取目标卷积计算层的输入数据;
所述将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络,包括:
将所述目标输入块浮点数作为输入数据,输入到所述目标卷积计算层。
第二方面,提供一种输入数据的指数值获取方法,所述输入数据用于卷积神经网络的输入,所述方法包括:
获取待对齐块浮点数;
将所述待对齐块浮点数输入到预设的指数预测网络中对所述待对齐块浮点数的指数进行预测,得到预测指数值,所述预测指数值用于所述待对齐块浮点数的对齐操作。
第三方面,提供一种输入数据的处理装置,所述输入数据用于卷积神经网络的输入,所述装置包括:
获取模块,用于获取目标卷积神经网络的输入数据,所述输入数据为批量浮点数或块浮点数,所述目标卷积神经网络为量化卷积神经网络;
指数预测模块,用于将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值;
对齐模块,用于根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数;
输入模块,用于将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络。
第四方面,提供一种输入数据的指数值获取装置,所述输入数据用于卷积神经网络的输入,所述装置包括:
获取模块,用于获取待对齐的输入数据;
指数预测模块,用于将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值,所述预测指数值用于输入数据的对齐。
第五方面,提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的输入数据的处理方法中的步骤。
第六方面,提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的输入数据的指数值获取方法中的步骤。
第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的输入数据的处理方法中的步骤。
第八方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的输入数据的指数值获取方法中的步骤。
本发明带来的有益效果:获取目标卷积神经网络的输入数据;将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值;根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数;将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络。通过指数预测网络对输入数据的指数进行预测,通过预测得到的预测指数值对输入数据进行对齐,避免块浮点数和浮点数的转化以及求最大指数值的操作,提高指数值的获取速度,从而提高卷积神经网络推理速度。
附图说明
图1为本发明实施例提供的一种输入数据的处理方法的流程示意图;
图2为本发明实施例提供的一种预测指数值获取方法的流程示意图;
图3为本发明实施例提供的一种输入数据的指数值获取方法的流程示意图;
图4为本发明实施例提供的一种输入数据的处理装置的结构示意图;
图5为本发明实施例提供的一种指数预测模块的结构示意图;
图6为本发明实施例提供的一种获取单元的结构示意图;
图7为本发明实施例提供的一种预测单元的结构示意图;
图8为本发明实施例提供的另一种预测单元的结构示意图;
图9为本发明实施例提供的一种输入数据的指数值获取装置。
具体实施方式
下面描述本发明的优选实施方式,本领域普通技术人员将能够根据下文所述用本领域的相关技术加以实现,并能更加明白本发明的创新之处和带来的益处。
本发明提供了一种输入数据的处理方法。本发明的目的是通过以下技术方案来实现的:
请参见图1,图1是本发明实施例提供的一种输入数据的处理方法的流程示意图,如图1所示,所述方法包括以下步骤:
101、获取目标卷积神经网络的输入数据。
该步骤中,上述的目标卷积神经网络可以是量化卷积神经网络,可以实现对块浮点数的推理。上述的量化卷积神经网络可以理解为对卷积神经网络的压缩,使得到输入参数在进入卷积神经网络时,与量化的卷积神经网络参数进行计算,量化卷积神经网络可以有效降低算法的复杂度。上述的输入数据为量化后的输入数据。
上述的输入数据可以是浮点类型的批量浮点数,也可以是由其他类型转换得到的批量浮点数,比如,由定点类型转换为浮点类型得到的批量浮点数。在本发明实施例中,上述的输入数据可以是输入图像对应的批量浮点数,该批量浮点数可以认为是输入图像的数字信号。应当知道的是,图像中每个像素点对应一个像素值,一个输入图像对应的批量浮点数的数量,与图像中像素点的数量正相关。
上述的输入数据还可以是块浮点数,上述的块浮点数可以理解为批量浮点数共享一个指数值,该指数值为批量浮点数中绝对值最大的数的指数,可以称为最大指数值。在块浮点数输入到量化卷积神经网络中时,会对浮点数进行量化,量化的过程会损失一些浮点数,因此需要对量化后的块浮点数重新确定最大指数值,在这个确定最大指数值过程中,需要将块浮点数转换为浮点数,然后遍历所有浮点数,找到绝对值最大的浮点数,并以该绝对值最大的浮点数对应的指数值作为量化后的块浮点数共享的指数值。
上述的块浮点数是对一批数据进行处理,求出这一批数据中对应绝对值最大的数,按照这个数逐个处理每个数据,使其都移动相应位,使得每个数据都共用该绝对值最大的数的指数。比如,对于任意进制的数a,其写成浮点数的数据结构为a=m×be,其中,m为数a尾数,是一个纯小数,用定点小数来表示,e为数a的阶码,也称为指数,是一个整数,b是底数,也就是采用的进制数。假设有10进制数13.46,可以写成13.46=0.1346×102,其中,0.1346×102为数a的浮点数。
在将批量浮点数转换为块浮点数时,或在块浮点数量化后,由于块浮点数共用一个指数值,则需要对浮点数进行对齐,比如,以批量的十进制数13.46、6.3、2.52、120.34为例,其浮点数的表示如表1所示:
十进制数表示 | 浮点数表示 | 尾数 | 指数 |
13.46 | 0.1346×10<sup>2</sup> | 0.1346 | 2 |
6.3 | 0.63×10<sup>1</sup> | 0.63 | 1 |
2.52 | 0.252×10<sup>1</sup> | 0.252 | 1 |
120.34 | 0.12034×10<sup>3</sup> | 0.12034 | 3 |
表1
由表1可以看出,绝对值最大的数为120.34,其对应的指数位为3,则转换为块浮点时,需要共享指数位3,则对其他三个十进制数的小数点进行位移,具体小数点为向左位移3位,将13.46的小数点向左位移3位后,得到浮点数0.01346×103,将6.3的小数点向左位移3位后,得到浮点数0.0063×103,将2.52的小数点向左位移3位后,得到浮点数0.00252×103,得到对齐后的块浮点数0.01346、0.0063、0.00252、0.12034,以及共享指数3,在卷积神经网络对块浮点数进行计算时,只需要计算块浮点数的尾数进行计算即可。
需要说明的是,上述的十进制举例为便于理解所采用,而不应当理解为是对本发明的限制,块浮点数的转换可以适用于任意进制的数。上述的浮点数可以通过IEEE754编码标准进行存储。
102、将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值。
上述的预设的指数预测网络包括预设的预测卷积神经网络以及随机数产生器,上述随机数产生器用于产生随机的指数值,即随机指数值。上述预设的预测卷积神经网络可以理解为预先训练好的卷积神经网络,比如,可以是用于图像分类的卷积神经网络或用于图像识别的卷积神经网络。另外,上述的预测卷积神经网络可以是与目标卷积神经网络相同用途的卷积神经网络,比如,目标神经网络为图像分类用途的卷积神经网络,则预测卷积神经网络为图像分类用途的卷积神经网络,目标神经网络为图像识别的卷积神经网络,则预测卷积神经网络为图像识别用途的卷积神经网络。预测卷积神经网络的量化程度大于目标卷积神经网络,即预测卷积神经网络的算法复杂度低于目标神经网络的算法复杂度,以特征精度为前提,提高预测卷积神经网络的计算速度。
上述预测卷积神经网络的数量可以是多个,上述的预测卷积神经网络可以是多个并行的卷积神经网络,可以将块浮点数同时输入多个预测卷积神经网络中进行推理计算,根据多个预测卷积神经网络的推理计算,统计得到各个预测卷积神经网络在一个指数值下的准确率。
当在一个指数值下的准确率达到预设的准确率条件时,则可以认为该指数值为输入数据的块浮点数的预测指数值。
具体的,如图2所示,所述将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值,包括:
201、获取随机指数值。
在该步骤中,可以通过随机数产生器,产生整数的随机数作为随机指数值。
由于在一批需要进行块浮点数量化的浮点数中,需要找到一个绝对值最大的数的指数值,这个指数值只有一个,在这个指数值的表示下,通过块浮点的尾数进行浮点运算,不会因为指数值过小而导致浮点位移不够造成数据溢出,也不会因为指数值过大而造成数据量增加,以及损失计算精度的问题。此时,计算误差是最小的,即是准确率最高。
在一种可能的实施例中,可以统计历史预测指数值,根据历史预测指数值的区间,确定随机数的产生范围。比如,历史预测指数值的分布区间为[-10,2],则可以在区间[-10,2]中产生一个或多个随机数。在历史预测指数值的区间中的数被取完之后,则在历史预测指数值的区间外进行取随机数。由于在一定指数值范围内准确率具有单调性,可以通过历史预测指数值的区间判断准确率的单调性,从而选取随机数的产生区间,比如在[-10,2],随着指数值的增加,准确率提高,即单调递增,则在大于2的区间上进行随机数的取值,反之即单调递减,则在小于-10的区间上进行随机数的取值。
在一种可能实施例中,获取初始随机指数值;以所述初始随机指数值为起点,在单调递增和/或单调递减方向上,依次获取多个随机指数值。
上述的初始随机指数值指的是第一个随机出来的数值,当然,上述的初始随机指数值也可以是默认的值,比如0或1。以0为例,向大于0以及小于0的两个单调方向进行随机取值,比如取到的随机数为-5、-3、-2、-1、0、1、2、3,分别用于对齐输入数据的块浮点数,并输入到预测卷积神经网络中进行计算,统计各个随机数作为指数值的计算准确率,由于在一定指数值范围内准确率具有单调性,可以通过上述的随机值对应的准确率判断整体准确率的单调性,假设准确率是在取到的随机值中是单调递增的,则在大于3的方向上继续取随机数,直到准确率不再继续递增,则停止随机数的产生。
202、根据所述随机指数值对所述输入数据进行对齐,并输入到预设的预测卷积神经网络进行预测,得到对应的结果预测值。
在该步骤中,所述预设的预测卷积网络为预设的图像分类网络或图像识别网络。
根据所述随机指数值对所述输入数据进行位移,以使所述输入数据对齐。
具体的,在获取到随机指数值后,将获取到的随机指数值作为输入数据的最大指数值对所有的浮点数进行位移对齐,得到块浮点数。上述的最大指数值指的是多个浮点数中绝对值最大的浮点数对应的指数值。
将通过随机指数值进行位移对齐后得到的块浮点数输入到预测卷积神经网络中进行预测,并统计各个随机指数值对应的预测准确率,将预测准确率作为结果预测值。
具体的,将对齐后的块浮点数输入到所述预设的图像分类网络或图像识别网络中进行预测,得到所述图像分类网络或图像识别网络对应的分类准确率或识别准确率。当预测卷积神经网络为图像分类网络时,结果预测值为分类准确率,当预测卷积神经网络为图像识别网络时,结果预测值为识别准确率。
203、若所述结果预测值满足预设条件,则确定所述预测值对应的随机指数值为预测指数值。
上述的结果预测值为步骤202中通过预测卷积神经网络进行预测,统计得到的预测准确率。上述的预测条件可以是预测准确率达到80%,即预测准确率达到80%对应的随机指数值为预测指数值进行输出,在存在多个随机指数值达到80%时,选取准确率最高的一个随机指数值作为预测指数值进行输出。上述的预测条件也可以是出现预测准确率不再递增甚至递减的情况,该预测条件可以理解为使得准确率不再单调递增的拐点出现。这个拐点对应的随机指数值,则为预测指数值进行输出。
通过将随机数作为输入数据的最大指数值进行位移,得到待验证的块浮点数,再通过预测卷积神经网络对待验证的块浮点数进行验证,得到符合条件的随机数作为预测指数值,预测指数值用于指导输入数据的进行位移对齐。这样,无需进行浮点数转化以及求最大指数值的操作,可快速的获取到接近输入数据实际最大指数值的预测随机数,甚至直接等于输入数据实际最大数值的预测指数值。
103、根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数。
将预测指数值作为输入数据的最大指数值,对输入数据进行位移对齐,当预测指数值的符号为正时,则将输入数据中全部的浮点数的小数点(浮点)向左位移预测指数值对应的位数,比如,当预测指数值为+2,则将输入数据中全部的浮点数的小数点(浮点)向左位移2位;当预测指数值的符号为负时,则将输入数据中全部的浮点数的小数点向右位移预测指数值对应的位数,比如,当预测指数值为-3时,则将输入数据中全部的浮点数的小数点向右位移3位。
在经过预测指数值对输入数据中全部的浮点数进行位移后,得到目标输入块浮点数,目标输入块浮点数作为目标卷积神经网络的输入。
104、将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络。
在一种可能的实施例中,当目标卷积神经网络中包括至少一层卷积计算层时,获取目标卷积计算层的输入数据;将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值;根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数;将所述目标输入块浮点数作为输入数据,输入到所述目标卷积计算层。由于卷积计算层的输出也是块浮点数,在将上一层块浮点数据输入到下一层卷积计算层之前,对块浮点数进行量化。所以,每层卷积计算层的输入数据都可以是经过上述的预测指数值进行对齐而得到的块浮点数。在降低卷积计算层的算法复杂度的同时,可以快速得到量化后的块浮点数。
在本实施例中,获取目标卷积神经网络的输入数据;将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值;根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数;将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络。通过指数预测网络对输入数据的指数进行预测,通过预测得到的预测指数值对输入数据进行对齐,避免块浮点数和浮点数的转化以及求最大指数值的操作,提高指数值的获取速度,从而提高卷积神经网络推理速度。
需要说明的是,本发明实施例提供的输入数据的处理方法可以应用于使用量化卷积神经网络的设备,例如:计算机、服务器、手机等可以使用量化卷积神经网络的设备。
请参见图3,图3是本发明实施例提供的另一种输入数据的指数值获取方法的流程示意图,如图3所示,所述输入数据用于卷积神经网络的输入,所述方法包括以下步骤:
301、获取待对齐块浮点数。
302、将所述待对齐块浮点数输入到预设的指数预测网络中对所述待对齐块浮点数的指数进行预测,得到预测指数值,所述预测指数值用于所述待对齐块浮点数的对齐操作。
本发明实施例的步骤与上述的步骤101、102相似,在此不再表述。
需要说明的是,本发明实施例提供的输入数据的指数值获取方法可以应用于对浮点数进行对齐的设备,例如:计算机、服务器、手机等可以对浮点数进行对齐的设备。
在本实施例中,获取待对齐块浮点数;将所述待对齐块浮点数输入到预设的指数预测网络中对所述待对齐块浮点数的指数进行预测,得到预测指数值,所述预测指数值用于所述待对齐块浮点数的对齐操作。通过指数预测网络对输入数据的指数进行预测,无需将块浮点数转换为浮点数,也无需在大量的浮点数中逐一找到绝对值最大的浮点数来确定块浮点数的指数值,提高了指数值的获取速度。
请参见图4,图4是本发明实施例提供的一种输入数据的处理装置的结构示意图,如图4所示,所述装置包括:
获取模块401,用于获取目标卷积神经网络的输入数据,所述输入数据为批量浮点数或块浮点数,所述目标卷积神经网络为量化卷积神经网络;
指数预测模块402,用于将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值;
对齐模块403,用于根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数;
输入模块404,用于将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络。
可选的,如图5所示,所述预设的指数预测网络包括预设的预测卷积神经网络,所述指数预测模块402包括:
获取单元4021,用于获取随机指数值;
预测单元4022,用于根据所述随机指数值对所述输入数据进行对齐,并输入到预设的预测卷积神经网络进行预测,得到对应的结果预测值;
确定单元4023,用于若所述结果预测值满足预设条件,则确定所述结果预测值对应的随机指数值为预测指数值。
可选的,如图6所示,所述获取单元4021包括:
第一获取子单元40211,用于获取初始随机指数值;
第二获取子单元40212,用于以所述初始随机指数值为起点,在单调递增和/或单调递减方向上,依次获取多个随机指数值。
可选的,如图7所示,所述预设的预测卷积网络为预设的图像分类网络或图像识别网络,所述结果预测值为与所述图像分类网络或图像识别网络对应的分类准确率或识别准确率,所述预测单元4022包括:
对齐子单元40221,用于根据所述随机指数值对所述输入数据进行位移,以使所述输入数据对齐;
预测子单元40222,用于将对齐后的输入数据输入到所述预设的图像分类网络或图像识别网络中进行预测,得到所述图像分类网络或图像识别网络对应的分类准确率或识别准确率。
可选的,如图8所示,所述预测单元4022还包括:
判断子单元40223,用于判断所述分类准确率或识别准确率是否达到预设的准确率条件;
确定单元4023,还用于若所述分类准确率或识别准确率达到预设的准确率条件,则确定所述分类准确率或识别准确率对应的随机指数值为预测指数值。
可选的,所述目标神经网络包括至少一层卷积计算层,所述获取模块401,还用于获取目标卷积计算层的输入数据;
输入模块404,还用于将所述目标输入块浮点数作为输入数据,输入到所述目标卷积计算层。
本发明实施例中,通过指数预测网络对输入数据的指数进行预测,通过预测得到的预测指数值对输入数据进行对齐,避免块浮点数和浮点数的转化以及求最大指数值的操作,提高指数值的获取速度,从而提高卷积神经网络推理速度。
如图9所示,本发明实施例还提供一种输入数据的指数值获取装置,所述输入数据用于卷积神经网络的输入,所述装置包括:
获取模块901,用于获取待对齐块浮点数;
指数预测模块902,用于将所述待对齐块浮点数输入到预设的指数预测网络中对所述待对齐块浮点数的指数进行预测,得到预测指数值,所述预测指数值用于所述待对齐块浮点数的对齐操作。
在本实施例中,通过指数预测网络对输入数据的指数进行预测,无需将块浮点数转换为浮点数,也无需在大量的浮点数中逐一找到绝对值最大的浮点数来确定块浮点数的指数值,提高了指数值的获取速度。
本发明实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的输入数据的处理方法中的步骤,或所述处理器执行所述计算机程序时实现本发明实施例提供的输入数据的指数值获取方法中的步骤。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的输入数据的处理方法中的步骤,或所述计算机程序被处理器执行时实现本发明实施例提供的输入数据的指数值获取方法中的步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的
另外,在本发明各个实施例中的处理器、芯片可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上硬件集成在一个单元中。计算机可读存储介质或计算机可读程序可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (11)
1.一种输入数据的处理方法,所述输入数据用于卷积神经网络的输入,其特征在于,所述方法包括:
获取目标卷积神经网络的输入数据,所述输入数据为批量浮点数或块浮点数,所述目标卷积神经网络为量化卷积神经网络;
将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值;
根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数;
将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络。
2.如权利要求1所述的输入数据的处理方法,其特征在于,所述预设的指数预测网络包括预设的预测卷积神经网络,所述将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值,包括:
获取随机指数值;
根据所述随机指数值对所述输入数据进行对齐,并输入到预设的预测卷积神经网络进行预测,得到对应的结果预测值;
若所述结果预测值满足预设条件,则确定所述结果预测值对应的随机指数值为预测指数值。
3.如权利要求2所述的输入数据的处理方法,其特征在于,所述获取随机指数值,包括:
获取初始随机指数值;
以所述初始随机指数值为起点,在单调递增和/或单调递减方向上,依次获取多个随机指数值。
4.如权利要求2所述的输入数据的处理方法,其特征在于,所述预设的预测卷积网络为预设的图像分类网络或图像识别网络,所述结果预测值为与所述图像分类网络或图像识别网络对应的分类准确率或识别准确率,所述根据所述随机指数值对所述输入数据进行对齐,并输入到预设的预测卷积神经网络进行预测,得到对应的结果预测值,包括:
根据所述随机指数值对所述输入数据进行位移,以使所述输入数据对齐;
将对齐后的输入数据输入到所述预设的图像分类网络或图像识别网络中进行预测,得到所述图像分类网络或图像识别网络对应的分类准确率或识别准确率。
5.如权利要求4所述的输入数据的处理方法,其特征在于,所述方法还包括:
判断所述分类准确率或识别准确率是否达到预设的准确率条件;
所述若所述结果预测值满足预设条件,则确定所述结果预测值对应的随机指数值为预测指数值,包括:
若所述分类准确率或识别准确率达到预设的准确率条件,则确定所述分类准确率或识别准确率对应的随机指数值为预测指数值。
6.如权利要求1至5中任一所述的输入数据的处理方法,其特征在于,所述目标神经网络包括至少一层卷积计算层,所述获取目标卷积神经网络的输入数据,包括:
获取目标卷积计算层的输入数据;
所述将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络,包括:
将所述目标输入块浮点数作为输入数据,输入到所述目标卷积计算层。
7.一种输入数据的指数值获取方法,所述输入数据用于卷积神经网络的输入,其特征在于,所述方法包括:
获取待对齐块浮点数;
将所述待对齐块浮点数输入到预设的指数预测网络中对所述待对齐块浮点数的指数进行预测,得到预测指数值,所述预测指数值用于所述待对齐块浮点数的对齐操作。
8.一种输入数据的处理装置,所述输入数据用于卷积神经网络的输入,其特征在于,所述装置包括:
获取模块,用于获取目标卷积神经网络的输入数据,所述输入数据为批量浮点数或块浮点数,所述目标卷积神经网络为量化卷积神经网络;
指数预测模块,用于将所述输入数据输入到预设的指数预测网络中对所述输入数据的指数进行预测,得到预测指数值;
对齐模块,用于根据所述预测指数值,对所述输入数据进行对齐,得到目标输入块浮点数;
输入模块,用于将所述目标输入块浮点数作为输入数据,输入到所述目标卷积神经网络。
9.一种输入数据的指数值获取装置,所述输入数据用于卷积神经网络的输入,其特征在于,所述装置包括:
获取模块,用于获取待对齐块浮点数;
指数预测模块,用于将所述待对齐块浮点数输入到预设的指数预测网络中对所述待对齐块浮点数的指数进行预测,得到预测指数值,所述预测指数值用于所述待对齐块浮点数的对齐操作。
10.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的输入数据的处理方法中的步骤,或所述处理器执行所述计算机程序时实现如权利要求7所述的输入数据的指数值获取方法中的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的输入数据的处理方法中的步骤,或所述计算机程序被处理器执行时实现如权利要求7所述的输入数据的指数值获取方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911174377.8A CN110955405B (zh) | 2019-11-26 | 2019-11-26 | 一种输入数据的处理及指数值获取方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911174377.8A CN110955405B (zh) | 2019-11-26 | 2019-11-26 | 一种输入数据的处理及指数值获取方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955405A true CN110955405A (zh) | 2020-04-03 |
CN110955405B CN110955405B (zh) | 2023-07-25 |
Family
ID=69976891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911174377.8A Active CN110955405B (zh) | 2019-11-26 | 2019-11-26 | 一种输入数据的处理及指数值获取方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955405B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817560A (zh) * | 2021-02-04 | 2021-05-18 | 深圳市永达电子信息股份有限公司 | 一种基于表函数的计算任务处理方法、系统及计算机可读存储介质 |
CN113791756A (zh) * | 2021-09-18 | 2021-12-14 | 中科寒武纪科技股份有限公司 | 转数方法、存储介质、装置及板卡 |
CN114968170A (zh) * | 2022-06-24 | 2022-08-30 | 北京百度网讯科技有限公司 | 浮点数的定和生成方法、相关装置及计算机程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052987A (zh) * | 2017-12-29 | 2018-05-18 | 苏州体素信息科技有限公司 | 图像分类输出结果的检测方法 |
US20190317901A1 (en) * | 2018-04-16 | 2019-10-17 | Samsung Electronics Co., Ltd. | System and method for optimizing performance of a solid-state drive using a deep neural network |
-
2019
- 2019-11-26 CN CN201911174377.8A patent/CN110955405B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052987A (zh) * | 2017-12-29 | 2018-05-18 | 苏州体素信息科技有限公司 | 图像分类输出结果的检测方法 |
US20190317901A1 (en) * | 2018-04-16 | 2019-10-17 | Samsung Electronics Co., Ltd. | System and method for optimizing performance of a solid-state drive using a deep neural network |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817560A (zh) * | 2021-02-04 | 2021-05-18 | 深圳市永达电子信息股份有限公司 | 一种基于表函数的计算任务处理方法、系统及计算机可读存储介质 |
CN112817560B (zh) * | 2021-02-04 | 2023-07-04 | 深圳市永达电子信息股份有限公司 | 一种基于表函数的计算任务处理方法、系统及计算机可读存储介质 |
CN113791756A (zh) * | 2021-09-18 | 2021-12-14 | 中科寒武纪科技股份有限公司 | 转数方法、存储介质、装置及板卡 |
CN113791756B (zh) * | 2021-09-18 | 2022-12-23 | 中科寒武纪科技股份有限公司 | 转数方法、存储介质、装置及板卡 |
CN114968170A (zh) * | 2022-06-24 | 2022-08-30 | 北京百度网讯科技有限公司 | 浮点数的定和生成方法、相关装置及计算机程序产品 |
CN114968170B (zh) * | 2022-06-24 | 2024-05-14 | 北京百度网讯科技有限公司 | 浮点数的定和生成方法、相关装置及计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN110955405B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491239B1 (en) | Large-scale computations using an adaptive numerical format | |
CN110955405B (zh) | 一种输入数据的处理及指数值获取方法、装置及电子设备 | |
CN109214509B (zh) | 一种用于深度神经网络高速实时量化结构和运算实现方法 | |
US10872295B1 (en) | Residual quantization of bit-shift weights in an artificial neural network | |
KR20190034985A (ko) | 인공 신경망의 양자화 방법 및 장치 | |
CN110717585B (zh) | 神经网络模型的训练方法、数据处理方法和相关产品 | |
EP3931756A1 (en) | Neural network layer processing with normalization and transformation of data | |
CN111758104B (zh) | 适合于硬件实现的神经网络参数优化方法、神经网络计算方法和装置 | |
CN109214502B (zh) | 神经网络权重离散化方法和系统 | |
US20220004884A1 (en) | Convolutional Neural Network Computing Acceleration Method and Apparatus, Device, and Medium | |
CN114418057A (zh) | 卷积神经网络的运算方法及相关设备 | |
CN112116061A (zh) | 一种面向长短期记忆网络的权值和激活值的量化方法 | |
CN114626516A (zh) | 一种基于对数块浮点量化的神经网络加速系统 | |
CN111492369A (zh) | 人工神经网络中移位权重的残差量化 | |
CN112561050A (zh) | 一种神经网络模型训练方法及装置 | |
US11170297B2 (en) | Method of neural network training using floating-point signed digit representation | |
CN113283591B (zh) | 基于Winograd算法和近似乘法器的高效卷积实现方法及装置 | |
CN114595802A (zh) | 一种基于数据压缩的脉冲神经网络加速方法和装置 | |
CN113902928A (zh) | 图像特征的提取方法、装置及电子设备 | |
CN112734021A (zh) | 一种基于位稀疏计算的神经网络加速方法 | |
JP2021111082A (ja) | 演算装置、認識装置および制御装置 | |
TW202137067A (zh) | 卷積神經網路的方法、電子裝置與電腦程式產品 | |
WO2022247368A1 (en) | Methods, systems, and mediafor low-bit neural networks using bit shift operations | |
CN117348837A (zh) | 浮点精度模型的量化方法、装置、电子设备以及存储介质 | |
CN110321816B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |