CN110531955A - 用在深度神经网络的指数运算方法、计算机装置、记录介质 - Google Patents
用在深度神经网络的指数运算方法、计算机装置、记录介质 Download PDFInfo
- Publication number
- CN110531955A CN110531955A CN201810772630.9A CN201810772630A CN110531955A CN 110531955 A CN110531955 A CN 110531955A CN 201810772630 A CN201810772630 A CN 201810772630A CN 110531955 A CN110531955 A CN 110531955A
- Authority
- CN
- China
- Prior art keywords
- value
- quantization
- neural network
- deep neural
- neuron
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 73
- 238000009434 installation Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 29
- 210000002569 neuron Anatomy 0.000 claims abstract description 71
- 238000013139 quantization Methods 0.000 claims abstract description 64
- 239000011159 matrix material Substances 0.000 claims abstract description 30
- 238000010606 normalization Methods 0.000 claims abstract description 28
- 238000007781 pre-processing Methods 0.000 claims description 39
- 210000004218 nerve net Anatomy 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 210000005036 nerve Anatomy 0.000 claims description 3
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- 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
-
- 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)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Neurology (AREA)
- Mathematical Optimization (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
一种用在深度神经网络的指数运算方法,其预先将该深度神经网络的每一个神经元的该权重矩阵中的权重值正规化并量化成能以指数2‑i表示的量化后权重值,且预先将要输入该深度神经网络的一图像数据的数个图素值正规化并量化成能以指数2‑j表示的量化后图素值,再将所述量化后图素值输入该深度神经网络,使该深度神经网络的第一层的各该神经元以量化后的该权重矩阵、指数乘法器、指数加法器及指数减法器对所述量化后图素值进行卷积运算,借此降低深度神经网络的运算复杂度及电路复杂度,提高深度神经网络的指令周期并减少内存空间的占用。本发明还提供一种计算机装置及记录介质。
Description
技术领域
本发明涉及一种指数运算方法,特别是涉及一种应用在深度神经网络的指数运算方法。
背景技术
深度神经网络是机器学习中一种深度学习的方法,借由其模仿生物神经系统的数学模型,不断地对其提供大量的数据进行不同阶层与架构的多次运算和训练,即能训练出优化且最有效的一数据识别模型。如图1所示,深度神经网络通常包含一输入层11、一输出层12以及连接该输入层11与该输出层12,且位于该输入层11与该输出层12之间的隐藏层13,隐藏层13由数个前后相互连结的层14构成,其中每一层14具有数个神经元141,每一个神经元141具有如图2所示的一由数个(例如3x3)权重值W构成的权重矩阵10。由该输入层11输入的数据,例如图2所示的一张具有5x5个图素D的图像20会被输入隐藏层13中的第一层14的每一个神经元141,各该神经元141会在图像上依序移动该权重矩阵10,并在权重矩阵10每一个经过的位置,让权重矩阵10中的权重值W与图像20上重叠(对应)的部分图素D相乘并加总(即卷积运算)而得到一特征值R,各该神经元141再将权重矩阵10经过图像20上所有位置后运算得到的所述特征值R输出给第二层14的每一个神经元141,使第二层14的每一个神经元141对输入的所述特征值R进行如上所述的卷积运算,并将运算结果再输出给其下一层14的每一个神经元141,依此类推,直到最后一层14的每一个神经元141输出运算结果给输出层12。
但该权重矩阵10中的权重值W和输入的数据D通常以浮点数表示,因此神经元141除了需要利用浮点乘法器对权重值W和输入的数据D进行浮点数相乘运算外,由于浮点数相乘运算的运算量大且乘法运算也比加法运算来得相对复杂,因此浮点数的乘法运算比加法运算耗费更多的时间。而且以逻辑电路实现的浮点乘法器体积相较于加法器更为庞大,使得采用浮点乘法器的深度神经网络被实作成硬件电路的体积相对庞大。此外深度神经网络的权重值W和最终输出的运算结果都是以浮点数储存,因此会占用大量的内存空间。
发明内容
本发明的一目的在于提供一种用在深度神经网络的指数运算方法,以及实现该方法的计算机装置和计算机可读取的记录介质,其能降低深度神经网络的运算量、运算复杂度及电路复杂度,以及减少内存空间的占用并提高深度神经网络的指令周期。
本发明一种应用在深度神经网络的指数运算方法,其中该深度神经网络载于一计算机装置并具有一由数个前后相互连结的层构成的隐藏层,该隐藏层中的每一层具有数个神经元,每一个神经元具有由m个(m为整数且m≧1)权重值构成的一权重矩阵;该方法包括:该计算机装置的一预处理模块预先将该深度神经网络的每一个神经元的该m个权重值正规化,使该m个正规化权重值落在-1~+1之间的范围,并将各该正规化权重值量化成能以指数2-i表示的量化后权重值,且该预处理模块以X位元表示所述量化后权重值的数个群组;该预处理模块预先将要输入该深度神经网络的一图像数据的数个图素值正规化,使所述正规化图素值落在-1~+1之间的范围,并将各该正规化图素值量化成能以指数2-j表示的量化后图素值,且该预处理模块以Y位元表示所述量化后图素值的数个群组;该预处理模块将所述量化后图素值输入该深度神经网络的该隐藏层中的第一层,使第一层的各该神经元以量化后的该权重矩阵对所述量化后图素值进行卷积运算,且在每一次的卷积运算中,各该神经元利用一指数乘法器将该m个量化后权重值2-i分别与所述量化后图素值中重叠的部分量化后图素值2-j相乘而得到m个乘积,其中,该指数乘法器计算每一个乘积的公式为:
2-i×2-j=2-(i+j),若i,j≠(2N-1)且i+j≦(2N-1);
若i+j>(2N-1)或i=(2N-1)或j=(2N-1);
其中若X=Y则N=X,若X≠Y则N取X、Y两者中较大者;及
在每一次的卷积运算中,各该神经元将所述乘积m中为正值的部分乘积输入一指数加法器中累加而得到一正累加值2-p,并另外将所述乘积m中为负值的部分乘积输入该第一指数加法器中累加而得到一负累加值2-q,再将该正累加值2-p与该负累加值2-q输入一指数减法器相减而得到一特征值r;
其中,该指数加法器计算两个指数2-a和2-b相加的公式为:
2-a+2-b=2-c,若a≠b,则c取a、b两者中较小者;
2-a+2-b=2-a+1,若a=b且a≠(2N-1)且2-a+1<20;
2-a+2-b=20,若a=b且a≠(2N-1)且2-a+1≥20;
2-a+2-b=2-a,若b=(2N-1);
其中,该指数减法器计算该特征值r的公式为:
r=2-p-2-q=2-p,若p≦q-1或q=(2N-1);
若p=q;
r=2-p-2-q=-2-q,若p=q+1;
r=2-p-2-q=2-p,若q=p+1;
r=2-p-2-q=-2-q,若q≦p-1或p=(2N-1)。
在本发明的一些实施态样中,各该神经元还将完成全部卷积运算产生的所述特征值r经由一线性整流函数进行整流运算,而产生相对应的数个整流后特征值r’,并将所述整流后特征值r’输入与其连结的下一层的所述神经元,使下一层的各该神经元利用量化后的该权重矩阵、该指数乘法器、该指数加法器及该指数减法器对所述整流后特征值r’进行卷积运算。
在本发明的一些实施态样中,该线性整流(Rectified Linear Unit,ReLU)函数可以是斜坡函数、泄露线性整流(Leaky ReLU)函数、带泄露随机线性整流(Randomized LeakyReLU)函数及噪声线性整流(Noisy ReLU)函数其中之一。
再者,本发明实现上述方法的一种计算机装置,包括一深度神经网络及一预处理模块,其中该深度神经网络具有一由数个前后相互连结的层构成的隐藏层,该隐藏层中的每一层具有数个神经元,每一个神经元具有由m个(m为整数且m≧1)权重值构成的一权重矩阵、一指数乘法器、一指数加法器及一指数减法器;该预处理模块,其预先将该深度神经网络的每一个神经元的该m个权重值正规化,使该m个正规化权重值落在-1~+1之间的范围,并将各该正规化权重值量化成能以指数2-i表示的量化后权重值,且该预处理模块以X位元表示所述量化后权重值的数个群组;且该预处理模块预先将要输入该深度神经网络的一图像数据的数个图素值正规化,使所述正规化图素值落在-1~+1之间的范围,并将各该正规化图素值量化成能以指数2-j表示的量化后图素值,且该预处理模块以Y位元表示所述量化后图素值的数个群组;且该预处理模块将所述量化后图素值输入该深度神经网络的该隐藏层中的第一层,使第一层的各该神经元以量化后的该权重矩阵对所述量化后图素值进行卷积运算,且在每一次的卷积运算中,各该神经元利用该指数乘法器将该m个量化后权重值2-i分别与所述量化后图素值中重叠的部分量化后图素值2-j相乘而得到m个乘积,其中,该指数乘法器计算每一个乘积的公式为:
2-i×2-j=2-(i+j),若i,j≠(2N-1)且i+j≦(2N-1);
若i+j>(2N-1)或i=(2N-1)或j=(2N-1);
其中若X=Y则N=X,若X≠Y则N取X、Y两者中较大者;
且在每一次的卷积运算中,各该神经元将所述乘积m中为正值的部分乘积输入该指数加法器中累加而得到一正累加值2-p,并将所述乘积m中为负值的部分乘积输入该指数加法器中累加而得到一负累加值2-q,再将该正累加值2-p与该负累加值2-q输入该指数减法器相减而得到一特征值r;
其中,该指数加法器计算两个指数2-a和2-b相加的公式为:
2-a+2-b=2-c,若a≠b,则c取a、b两者中较小者;
2-a+2-b=2-a+1,若a=b且a≠(2N-1)且2-a+1<20;
2-a+2-b=20,若a=b且a≠(2N-1)且2-a+1≥20;
2-a+2-b=2-a,若b=(2N-1);
其中,该指数减法器计算该特征值r的公式为:
r=2-p-2-q=2-p,若p≦q-1或q=(2N-1);
若p=q;
r=2-p-2-q=-2-q,若p=q+1;
r=2-p-2-q=2-p,若q=p+1;
r=2-p-2-q=-2-q,若q≦p-1或p=(2N-1)。
在本发明的一些实施态样中,该深度神经网络及该预处理模块是储存于该计算机装置的一储存单元中,且能被该计算机装置的一处理单元读取并执行的软件程序。
在本发明的一些实施态样中,该深度神经网络及/或该预处理模块是整合在该计算机装置的一专用集成电路芯片或一可编程逻辑装置中,或者是被刻录在该计算机装置的一微处理器中的固件。
此外,本发明实现上述方法的一种计算机可读取的记录介质,其中储存一包含一深度神经网络及一预处理模块的软件程序,该深度神经网络具有一由数个前后相互连结的层构成的隐藏层,该隐藏层中的每一层具有数个神经元,每一个神经元具有由m个(m为整数且m≧1)权重值构成的一权重矩阵、一指数乘法器、一指数加法器及一指数减法器,且该软件程序被一计算机装置加载并执行后,该计算机装置能完成如上所述用在深度神经网络的指数运算方法。
本发明的有益的效果在于:借由预先将该深度神经网络中各该神经元的该权重矩阵中的所述权重值以及预备输入深度该神经网络的图像数据分别进行正规化,并分别量化成以2为底数的指数2-i及2-j,再将图像数据的量化后图素值输入该深度神经网络的该隐藏层,使与隐藏层的第一层的各该神经元的量化后权重矩阵进行卷积运算,且借由各该神经元中的指数乘法器、指数加法器及指数减法器对输入的指数进行简单的加、减运算及判断取代现有浮点数乘法运算,而降低神经元的运算复杂度并快速地完成卷积运算,不但提高深度神经网络的指令周期,并能有效简化并缩减实作成硬件的深度神经网络的电路体积。且当深度神经网络是以软件程序实现时,亦能有效提高其指令周期。
附图说明
图1是现有深度神经网络的基本组成架构示意图。
图2说明一神经元以一权重矩阵对一输入数据进行卷积运算的过程。
图3是本发明应用在深度神经网络的指数运算方法的一实施例的主要流程图。
图4是本发明实现图3的方法的计算机装置的一实施例的主要组件方块图。
图5说明本实施例的深度神经网络中的每一神经元具有一指数乘法器、一指数加法器及一指数减法器。
图6说明本实施例的该预处理模块对深度神经网络的神经元中的权重值以及要输入深度神经网络的数据执行正规化及量化的过程。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
在本发明被详细描述之前,应当注意在以下的说明内容中,类似的组件是以相同的编号来表示。
参阅图3,是本发明应用在深度神经网络的指数运算方法的一实施例的主要流程,其由图4所示的一计算机装置4执行,该计算机装置4主要包括一储存单元41(即计算机可读取的记录介质)及一处理单元42,该储存单元41中存有一包含一深度神经网络43及一预处理模块44的程序,且该程序能被该计算机装置4的该处理单元42加载并执行,而完成图3所示的方法流程,但不以此为限。亦即,该深度神经网络43及/或该预处理模块44也可以被整合在该计算机装置4的一专用集成电路(Application-specific integrated circuit,缩写为ASIC)芯片或一可编程逻辑装置(Programmable Logic Device,缩写为PLD)中,而使该专用集成电路芯片或该可编程逻辑电路装置能完成图3所示的方法流程。且该专用集成电路芯片或该可编程逻辑电路装置即为本实施例的该处理单元42;或者该深度神经网络43及/或该预处理模块44也可以是被刻录在该计算机装置4的一微处理器中的固件,使该微处理器执行该固件即能完成图3所示的方法流程,且该微处理器即为本实施例的该处理单元42。
且如同图1所示,本实施例的该深度神经网络43除了具有一输入层11及一输出层12外,还具有一位于输入层11和输出层12之间且由数个前后相互连结的层14构成的隐藏层13,该隐藏层13中的每一层14具有数个神经元141,每一个神经元141具有由m个(m为整数且m≧1)权重值构成的一权重矩阵,例如图2所示具有3x3个权重值W的权重矩阵10,以及如图5所示的一指数乘法器51、一指数加法器52及一指数减法器53。
且为了降低深度神经网络的运算量及运算复杂度,如图3的步骤S1,该预处理模块44预先将该深度神经网络43的每一个神经元141的该m个权重值W正规化,使该m个正规化权重值落在-1~+1之间的范围,并将各该正规化权重值以log2量化成能以指数2-i表示的量化后权重值,且该预处理模块44将所述量化后权重值分成数个群组,并以X位元表示所述群组。
举例来说,如图6(a)所示,假设所述权重值W有-2、-1.5、0、0.5、1、1.5等分布在-2~1.5之间的值,则该预处理模块44将所述权重值W除以2以进行正规化,使所述正规化权重值(-1、-0.75、0、0.25、0.5、0.75)落在-1~+1之间的范围,如图6(b)所示;然后,将各该正规化权重值(-1、-0.75、0、0.25、0.5、0.75)以log2量化成以指数2-i表示的量化后权重值。因此,1、0.5、0.25及0这四个正规化权重值的绝对值将被以20、2-1、2-2及2-3表示,且由于以2为底的指数无法表示0.75,因此将0.75量化至最接近的1而以20来表示。所以该预处理模块44将所述量化后权重值的绝对值分成四个群组(即20、2-1、2-2及2-3),并以2位元表示所述群组,亦即00、01、10、11分别代表20、2-1、2-2及2-3,并另外记录(标记)量化后权重值为正值或负值。
因此,假设落在-1~+1之间的正规化权重值还包含正或负的0.125、0.0625、0.03125及0.015625或接近这些数值的值时,其以指数2-i表示的量化后权重值将分别为2-4、2-5、2-6及2-7,则该预处理模块44需使用3位元才能表示20~2-7共8个群组,即以000、001、010、011、100、101、110、111分别代表20、2-1、2-2…2-7。同理,若量化后权重值还包含小于2-7的值,则该预处理模块44需使用4位元或4位元以上的位元数来表示超过8个以上的量化后权重值(绝对值)群组,以此类推。
然后,如图3的步骤S2,该预处理模块44预先将要输入该深度神经网络43的一图像数据,例如图2所示具有5x5个图素D的图像20正规化,使所述正规化图素的图素值落在-1~+1之间的范围,并将各该正规化图素值以log2量化成能以指数2-j表示的量化后图素值,且该预处理模块44将所述量化后图素值分成数个群组,并以Y位元表示所述群组。同理,如图6所示的例子,若量化后图素值有20、2-1、2-2及2-3这四个绝对值群组,则该预处理模块44将以2位元表示所述群组,亦即以00、01、10、11分别代表20、2-1、2-2及2-3,并另外记录量化后图素值为正值或负值。而若量化后图素值还包含更小的绝对值(例如0.125、0.0625、0.03125及0.015625或更小的值)时,则该预处理模块44将以3位元或更多位元来表示20~2-7这8个群组或超过8个以上的更多群组,即以000、001、010、011、100、101、110、111分别代表20、2-1、2-2…2-7,依此类推。因此,用来表示量化后权重值2-i和量化后图素值2-j的位元数可能会相同或不同,端视量化后权重值2-i和量化后图素值2-j的绝对值群组数而定。此外,步骤S1和步骤S2并无先后顺序之分,也可以同步进行。
然后,如图3的步骤S3,该预处理模块44将所述量化后图素值2-j经由该深度神经网络43的输入层11输入该隐藏层13中的第一层14,使第一层14的各该神经元141以量化后的该权重矩阵10对所述量化后图素值2-j进行卷积运算。亦即,如图2所示,该神经元141会在图像20上一次移动一个单位(图素)地依序移动量化后的该权重矩阵10,并在量化后的该权重矩阵10每一个经过的位置,让量化后的该权重矩阵10中的量化后权重值2-i与图像20上重叠(对应)部分的量化后图素值2-j相乘并将所述乘积加总(即卷积运算)而得到一特征值r。
且在每一次的卷积运算中,各该神经元141利用该指数乘法器51将该m个量化后权重值2-i分别与所述量化后图素值2-j中重叠的部分量化后图素值2-j相乘而得到m个乘积,其中,该指数乘法器51计算每一个乘积的公式为:
2-i×2-j=2-(i+j),若i,j≠(2N-1)且i+j≦(2N-1);
若i+j>(2N-1)或i=(2N-1)或j=(2N-1);
其中,若X=Y则N=X,若X≠Y则N取X、Y两者中较大者;
举例来说,若量化后权重值2-i和量化后图素值2-j的绝对值群组数都在4或4以下,则X=Y=2,N=2,该指数乘法器51计算每一个乘积的公式则为:
2-i×2-j=2-(i+j),若i,j≠3且i+j≦3;
2-i×2-j=2-3,若i+j>3或i=3或j=3;
而若量化后权重值2-i的绝对值群组数在4或4以下,但量化后图素值2-j的绝对值群组数在5~7之间,则X=2,Y=3,N=3,该指数乘法器51计算每一个乘积的公式则为:
2-i×2-j=2-(i+j),若i,j≠7且i+j≦7;
2-i×2-j=2-7,若i+j>7或i=7或j=7;
由此可知,在i,j≠(2N-1)且i+j≦(2N-1)的情况下,该指数乘法器51实际上只是将量化后权重值2-i和量化后图素值2-j的指数i、j相加,即得到两者的乘积,并不需要进行乘法运算,且在i+j>(2N-1)或i=(2N-1)或j=(2N-1)的情况下,该指数乘法器51甚至不需进行实际运算,即能输出量化后权重值2-i和量化后图素值2-j的乘积。
且在每一次的卷积运算中,各该神经元141将所述乘积m中为正值的部分乘积输入该指数加法器52中进行累加而得到一正累加值2-p,再另外将所述乘积m中为负值的部分乘积输入该第一指数加法器52中进行累加而得到一负累加值2-q,再将该正累加值2-p与该负累加值2-q输入该指数减法器53相减而得到该特征值r。
其中,该指数加法器53计算两个指数(例如乘积2-a和2-b或一个乘积2-a和一个累加值2-b)相加的公式为:
2-a+2-b=2-c,若a≠b,则c取a、b两者中较小者;
2-a+2-b=2-a+1,若a=b且a≠(2N-1)且2-a+1<20;
2-a+2-b=20,若a=b且a≠(2N-1)且2-a+1≥20;
2-a+2-b=2-a,若b=(2N-1);
举例来说,
若a=2,b=3,则c=a,2-a+2-b=2-a;
若a=b=2,且N=2时,则
2-a+2-b=2-a+1,若a=b且a≠3且2-a+1<20;
2-a+2-b=20,若a=b且a≠3且2-a+1≥20;
2-a+2-b=2-a,若b=3;
其中,该指数减法器53计算该特征值r的公式为:
r=2-p-2-q=2-p,若p≦q-1或q=(2N-1);
若p=q;
r=2-p-2-q=-2-q,若p=q+1;
r=2-p-2-q=2-p,若q=p+1;
r=2-p-2-q=-2-q,若q≦p-1或p=(2N-1);
举例来说,
若p=1,q=3,则r=2-p-2-q=2-p;
若p=q=3且N=2,则r=2-p-2-q=2-3;
若p=2,q=1,则r=2-p-2-q=-2-q;
若p=1,q=2,则r=2-p-2-q=2-q;
若q=1,p=3,则r=2-p-2-q=-2-q
因此,各该神经元141借由该指数乘法器51(实际上只进行加法运算)、指数加法器52及指数减法器53取代现有的浮点乘法器,并以简单的加法及减法取代乘法运算,不但降低运算量且指令周期快,而且只要相对简单的逻辑电路即能实作出该指数乘法器51、指数加法器52及指数减法器53,因此当该深度神经网络43被实作成实体电路时,神经元141的电路将能简化,进而有效缩减该深度神经网络43的整体电路体积。
再者,当该深度神经网络43的第一层14的各该神经元141完成全部的卷积运算而得到数个特征值r后,各该神经元141还将完成全部卷积运算产生的所述特征值r经由一线性整流(Rectified Linear Unit,ReLU)函数进行整流运算,而产生相对应的数个整流后特征值r’,再将所述整流后特征值r’输入与其连结的下一层14的所述神经元141,使下一层14的各该神经元141同样利用其中量化后的该权重矩阵10、该指数乘法器51、该指数加法器52及该指数减法器53对所述整流后特征值r’进行卷积运算,然后再将其完成全部卷积运算产生的所述特征值r经由线性整流函数进行整流运算,产生相对应的数个整流后特征值r’,再将所述整流后特征值r’输入与其连结的下一层14的所述神经元141,依此类推,直到该深度神经网络43的最后一层14输出运算结果至输出层12。其中线性整流函数可以是斜坡函数、泄露线性整流(Leaky ReLU)函数、带泄露随机线性整流(Randomized Leaky ReLU)函数及噪声线性整流(Noisy ReLU)函数其中之一,但不以此为限。
且由于输入该深度神经网络43的图像数据及神经元141中的权重值皆已从原本使用浮点数表示转换成最少以2位元即能表示,且该深度神经网络43输出的运算结果也是最少以2位元即能表示,大大地减少了计算机装置4的内存空间的占用。
综上所述,上述实施例借由预先将深度神经网络43中各该神经元141的权重矩阵10中的所述权重值W以及预备输入深度神经网络43的图像数据分别进行正规化,并分别量化成以2为底数的指数2-i及2-j,再将图像数据的量化后图素值输入深度神经网络43与其中各该神经元141的量化后权重矩阵10进行卷积运算,且借由各该神经元141中的指数乘法器51、指数加法器52及指数减法器53对输入的指数进行简单的加、减运算及判断,取代现有的浮点数乘法运算,降低运算复杂度且能快速地完成卷积运算,不但提高深度神经网络43的指令周期,并且以简单的加法器取代乘法器而能有效地简化并缩减实作成硬件的深度神经网络43的电路体积。而当深度神经网络43是以软件实现时,由于卷积运算只需对输入的指数进行简单的加、减运算及判断,不需乘法运算,故能有效提高其指令周期,而确实达到本发明的功效与目的。
Claims (10)
1.一种用在深度神经网络的指数运算方法,该深度神经网络载于一计算机装置并具有一由数个前后相互连结的层构成的隐藏层,该隐藏层中的每一层具有数个神经元,每一个神经元具有由m个(m为整数且m≧1)权重值构成的一权重矩阵,其特征在于:
该方法包括:
该计算机装置的一预处理模块预先将该深度神经网络的每一个神经元的该m个权重值正规化,使该m个正规化权重值落在-1~+1之间的范围,并将各该正规化权重值量化成能以指数2-i表示的量化后权重值,且该预处理模块以X位元表示所述量化后权重值的数个群组;
该预处理模块预先将要输入该深度神经网络的一图像数据的数个图素值正规化,使所述正规化图素值落在-1~+1之间的范围,并将各该正规化图素值量化成能以指数2-j表示的量化后图素值,且该预处理模块以Y位元表示所述量化后图素值的数个群组;
该预处理模块将所述量化后图素值输入该深度神经网络的该隐藏层中的第一层,使第一层的各该神经元以量化后的该权重矩阵对所述量化后图素值进行卷积运算,且在每一次的卷积运算中,各该神经元利用一指数乘法器将该m个量化后权重值2-i分别与所述量化后图素值中重叠的部分量化后图素值2-j相乘而得到m个乘积,其中,该指数乘法器计算每一个乘积的公式为:
2-i×2-j=2-(i+j),若i,j≠(2N-1)且i+j≦(2N-1);
若i+j>(2N-1)或i=(2N-1)或j=(2N-1);
其中若X=Y则N=X,若X≠Y则N取X、Y两者中较大者;及
在每一次的卷积运算中,各该神经元将所述乘积m中为正值的部分乘积输入一指数加法器中累加而得到一正累加值2-p,并另外将所述乘积m中为负值的部分乘积输入该第一指数加法器中累加而得到一负累加值2-q,再将该正累加值2-p与该负累加值2-q输入一指数减法器相减而得到一特征值r;
其中,该指数加法器计算两个指数2-a和2-b相加的公式为:
2-a+2-b=2-c,若a≠b,则c取a、b两者中较小者;
2-a+2-b=2-a+1,若a=b且a≠(2N-1)且2-a+1<20;
2-a+2-b=20,若a=b且a≠(2N-1)且2-a+1≥20;
2-a+2-b=2-a,若b=(2N-1);
其中,该指数减法器计算该特征值r的公式为:
r=2-p-2-q=2-p,若p≦q-1或q=(2N-1);
若p=q;
r=2-p-2-q=-2-q,若p=q+1;
r=2-p-2-q=2-p,若q=p+1;
r=2-p-2-q=-2-q,若q≦p-1或p=(2N-1)。
2.根据权利要求1所述用在深度神经网络的指数运算方法,其特征在于:各该神经元还将完成全部卷积运算产生的所述特征值r经由一线性整流函数进行整流运算,而产生相对应的数个整流后特征值r’,并将所述整流后特征值r’输入与其连结的下一层的所述神经元,使下一层的各该神经元利用量化后的该权重矩阵、该指数乘法器、该指数加法器及该指数减法器对所述整流后特征值r’进行卷积运算。
3.根据权利要求2所述用在深度神经网络的指数运算方法,其特征在于:线性整流函数是斜坡函数、泄露线性整流函数、带泄露随机线性整流函数及噪声线性整流函数其中之一。
4.一种计算机装置,其特征在于:
该计算机装置包括:
一深度神经网络,其具有一由数个前后相互连结的层构成的隐藏层,该隐藏层中的每一层具有数个神经元,每一个神经元具有由m个(m为整数且m≧1)权重值构成的一权重矩阵、一指数乘法器、一指数加法器及一指数减法器;及
一预处理模块,其预先将该深度神经网络的每一个神经元的该m个权重值正规化,使该m个正规化权重值落在-1~+1之间的范围,并将各该正规化权重值量化成能以指数2-i表示的量化后权重值,且该预处理模块以X位元表示所述量化后权重值的数个群组;
且该预处理模块预先将要输入该深度神经网络的一图像数据的数个图素值正规化,使所述正规化图素值落在-1~+1之间的范围,并将各该正规化图素值量化成能以指数2-j表示的量化后图素值,且该预处理模块以Y位元表示所述量化后图素值的数个群组;
且该预处理模块将所述量化后图素值输入该深度神经网络的该隐藏层中的第一层,使第一层的各该神经元以量化后的该权重矩阵对所述量化后图素值进行卷积运算,且在每一次的卷积运算中,各该神经元利用该指数乘法器将该m个量化后权重值2-i分别与所述量化后图素值中重叠的部分量化后图素值2-j相乘而得到m个乘积,其中,该指数乘法器计算每一个乘积的公式为:
2-i×2-j=2-(i+j),若i,j≠(2N-1)且i+j≦(2N-1);
若i+j>(2N-1)或i=(2N-1)或j=(2N-1);
其中若X=Y则N=X,若X≠Y则N取X、Y两者中较大者;
且在每一次的卷积运算中,各该神经元将所述乘积m中为正值的部分乘积输入该指数加法器中累加而得到一正累加值2-p,并将所述乘积m中为负值的部分乘积输入该指数加法器中累加而得到一负累加值2-q,再将该正累加值2-p与该负累加值2-q输入该指数减法器相减而得到一特征值r;
其中,该指数加法器计算两个指数2-a和2-b相加的公式为:
2-a+2-b=2-c,若a≠b,则c取a、b两者中较小者;
2-a+2-b=2-a+1,若a=b且a≠(2N-1)且2-a+1<20;
2-a+2-b=20,若a=b且a≠(2N-1)且2-a+1≥20;
2-a+2-b=2-a,若b=(2N-1);
其中,该指数减法器计算该特征值r的公式为:
r=2-p-2-q=2-p,若p≦q-1或q=(2N-1);
若p=q;
r=2-p-2-q=-2-q,若p=q+1;
r=2-p-2-q=2-p,若q=p+1;
r=2-p-2-q=-2-q,若q≦p-1或p=(2N-1)。
5.根据权利要求4所述的计算机装置,其特征在于:各该神经元还将完成全部卷积运算产生的所述特征值r经由一线性整流函数进行整流运算,而产生相对应的数个整流后特征值r’,并将所述整流后特征值r’输入与其连结的下一层的所述神经元,使下一层的各该神经元利用量化后的该权重矩阵、该指数乘法器、该指数加法器及该指数减法器对所述整流后特征值r’进行卷积运算。
6.根据权利要求5所述的计算机装置,其特征在于:线性整流函数是斜坡函数、泄露线性整流函数、带泄露随机线性整流函数及噪声线性整流函数其中之一。
7.根据权利要求4至6中任一权利要求所述的计算机装置,其特征在于:该深度神经网络及该预处理模块是储存于该计算机装置的一储存单元中,且能被该计算机装置的一处理单元读取并执行的软件程序。
8.根据权利要求4至6中任一权利要求所述的计算机装置,其特征在于:该深度神经网络及/或该预处理模块是整合在该计算机装置的一专用集成电路芯片或一可编程逻辑装置中。
9.根据权利要求4至6中任一权利要求所述的计算机装置,其特征在于:该深度神经网络及/或该预处理模块是刻录在该计算机装置的一微处理器中的固件。
10.一种记录介质,其可被计算机读取且其中储存一包含一深度神经网络及一预处理模块的软件程序,该深度神经网络具有一由数个前后相互连结的层构成的隐藏层,该隐藏层中的每一层具有数个神经元,每一个神经元具有由m个(m为整数且m≧1)权重值构成的一权重矩阵、一指数乘法器、一指数加法器及一指数减法器,且该软件程序被一计算机装置加载并执行后,该计算机装置能完成如权利要求1至3中任一权利要求所述用在深度神经网络的指数运算方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107117479A TWI672643B (zh) | 2018-05-23 | 2018-05-23 | 應用在深度神經網路的全指數運算方法、電腦裝置及電腦可讀取的記錄媒體 |
TW107117479 | 2018-05-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110531955A true CN110531955A (zh) | 2019-12-03 |
CN110531955B CN110531955B (zh) | 2023-10-10 |
Family
ID=68619274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810772630.9A Active CN110531955B (zh) | 2018-05-23 | 2018-07-13 | 用在深度神经网络的指数运算方法、计算机装置、记录介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110531955B (zh) |
TW (1) | TWI672643B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199072A (zh) * | 2020-11-06 | 2021-01-08 | 杭州海康威视数字技术股份有限公司 | 一种基于神经网络层的数据处理方法、装置及设备 |
CN112639836A (zh) * | 2020-02-25 | 2021-04-09 | 深圳市大疆创新科技有限公司 | 数据处理装置、电子设备和数据处理方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI743710B (zh) * | 2020-03-18 | 2021-10-21 | 國立中山大學 | 卷積神經網路的方法、電子裝置與電腦程式產品 |
US20210406661A1 (en) * | 2020-06-25 | 2021-12-30 | PolyN Technology Limited | Analog Hardware Realization of Neural Networks |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10134018A (ja) * | 1996-07-08 | 1998-05-22 | Nippon Telegr & Teleph Corp <Ntt> | 法則発見方法と装置及び法則発見プログラムを格納した記憶媒体、及びニューラルネット学習方法と装置及びニューラルネット学習プログラムを格納した記憶媒体 |
CN101350155A (zh) * | 2008-09-09 | 2009-01-21 | 无敌科技(西安)有限公司 | 通过类神经网络生成/验证密码的方法及系统 |
US20160026912A1 (en) * | 2014-07-22 | 2016-01-28 | Intel Corporation | Weight-shifting mechanism for convolutional neural networks |
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
JP2017049907A (ja) * | 2015-09-04 | 2017-03-09 | 国立研究開発法人情報通信研究機構 | ニューラルネットワーク、その学習方法、及びコンピュータプログラム |
EP3154000A2 (en) * | 2015-10-08 | 2017-04-12 | VIA Alliance Semiconductor Co., Ltd. | Neural network unit with plurality of selectable output functions |
CN107665364A (zh) * | 2016-07-28 | 2018-02-06 | 三星电子株式会社 | 神经网络方法和设备 |
CN107766936A (zh) * | 2016-08-22 | 2018-03-06 | 耐能有限公司 | 人造神经网络、人造神经元及人造神经元的控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3154001B1 (en) * | 2015-10-08 | 2019-07-17 | VIA Alliance Semiconductor Co., Ltd. | Neural network unit with neural memory and array of neural processing units that collectively shift row of data received from neural memory |
US10353860B2 (en) * | 2015-10-08 | 2019-07-16 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with neural processing units dynamically configurable to process multiple data sizes |
-
2018
- 2018-05-23 TW TW107117479A patent/TWI672643B/zh active
- 2018-07-13 CN CN201810772630.9A patent/CN110531955B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10134018A (ja) * | 1996-07-08 | 1998-05-22 | Nippon Telegr & Teleph Corp <Ntt> | 法則発見方法と装置及び法則発見プログラムを格納した記憶媒体、及びニューラルネット学習方法と装置及びニューラルネット学習プログラムを格納した記憶媒体 |
CN101350155A (zh) * | 2008-09-09 | 2009-01-21 | 无敌科技(西安)有限公司 | 通过类神经网络生成/验证密码的方法及系统 |
US20160026912A1 (en) * | 2014-07-22 | 2016-01-28 | Intel Corporation | Weight-shifting mechanism for convolutional neural networks |
JP2017049907A (ja) * | 2015-09-04 | 2017-03-09 | 国立研究開発法人情報通信研究機構 | ニューラルネットワーク、その学習方法、及びコンピュータプログラム |
EP3154000A2 (en) * | 2015-10-08 | 2017-04-12 | VIA Alliance Semiconductor Co., Ltd. | Neural network unit with plurality of selectable output functions |
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
CN107665364A (zh) * | 2016-07-28 | 2018-02-06 | 三星电子株式会社 | 神经网络方法和设备 |
CN107766936A (zh) * | 2016-08-22 | 2018-03-06 | 耐能有限公司 | 人造神经网络、人造神经元及人造神经元的控制方法 |
Non-Patent Citations (3)
Title |
---|
ZHIXI SHEN 等: "A novel connectivity of deep convolutional neural networks", 《2017 CHINESE AUTOMATION CONGRESS (CAC)》, pages 7779 - 7783 * |
季渊;陈文栋;冉峰;张金艺;DAVID LILJA;: "具有二维状态转移结构的随机逻辑及其在神经网络中的应用", 电子与信息学报, no. 08 * |
王昆;周骅;: "深度学习中的卷积神经网络系统设计及硬件实现", 电子技术应用, no. 05 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112639836A (zh) * | 2020-02-25 | 2021-04-09 | 深圳市大疆创新科技有限公司 | 数据处理装置、电子设备和数据处理方法 |
CN112199072A (zh) * | 2020-11-06 | 2021-01-08 | 杭州海康威视数字技术股份有限公司 | 一种基于神经网络层的数据处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
TWI672643B (zh) | 2019-09-21 |
TW202004568A (zh) | 2020-01-16 |
CN110531955B (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110048827B (zh) | 一种基于深度学习卷积神经网络的类模板攻击方法 | |
JP6946572B2 (ja) | 加速された量子化積和演算 | |
CN107871163B (zh) | 用于卷积神经网络的操作装置及方法 | |
CN110531955A (zh) | 用在深度神经网络的指数运算方法、计算机装置、记录介质 | |
Yuan et al. | A comprehensive review of binary neural network | |
CN112613581B (zh) | 一种图像识别方法、系统、计算机设备和存储介质 | |
CN107526709A (zh) | 使用低精度格式的张量处理 | |
Tong et al. | Hybrid pooling for enhancement of generalization ability in deep convolutional neural networks | |
CN113112446A (zh) | 基于残差卷积神经网络的隧道围岩级别智能判定方法 | |
CN108717512A (zh) | 一种基于卷积神经网络的恶意代码分类方法 | |
CN110084609B (zh) | 一种基于表征学习的交易欺诈行为深度检测方法 | |
Wang et al. | An ELU network with total variation for image denoising | |
EP3637327A1 (en) | Computing device and method | |
CN110007959A (zh) | 用于深度神经网络的硬件实现的层次化尾数位长度选择 | |
CN112257578A (zh) | 人脸关键点检测方法、装置、电子设备及存储介质 | |
CN114677548B (zh) | 基于阻变存储器的神经网络图像分类系统及方法 | |
CN112949610A (zh) | 一种基于降噪算法的改进Elman神经网络的预测方法 | |
CN117751366A (zh) | 神经网络加速器及神经网络加速器的数据处理方法 | |
CN110503152A (zh) | 用于目标检测的双路神经网络训练方法及图像处理方法 | |
Liu et al. | Stock price trend prediction model based on deep residual network and stock price graph | |
You et al. | Supertickets: Drawing task-agnostic lottery tickets from supernets via jointly architecture searching and parameter pruning | |
CN111353577B (zh) | 基于多任务的级联组合模型的优化方法、装置及终端设备 | |
Singhal et al. | Passive authentication image forgery detection using multilayer cnn | |
CN111507461A (zh) | 可解释性信息确定方法及装置 | |
Lu et al. | New method for rice disease identification based on improved deep residual shrinkage network |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240218 Address after: 6-9/F, 561 North Linsen Road, Zhongshan District, Taipei, Taiwan, China, China Patentee after: Mantuo Technology Co.,Ltd. Country or region after: Taiwan, China Address before: Hsinchu City Patentee before: BEIJIA TECHNOLOGY Co.,Ltd. Country or region before: Taiwan, China |