CN111428863A - 一种基于近似乘法器的低功耗卷积运算电路 - Google Patents
一种基于近似乘法器的低功耗卷积运算电路 Download PDFInfo
- Publication number
- CN111428863A CN111428863A CN202010206964.7A CN202010206964A CN111428863A CN 111428863 A CN111428863 A CN 111428863A CN 202010206964 A CN202010206964 A CN 202010206964A CN 111428863 A CN111428863 A CN 111428863A
- Authority
- CN
- China
- Prior art keywords
- approximate
- convolution
- matrix
- calculation mode
- module
- 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
- 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
- G06N3/045—Combinations of networks
-
- 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)
- 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)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于近似乘法器的低功耗卷积运算电路,包括卷积操作模块,近似卷积计算方式生成模块,近似乘法器模块以及近似加法器模块;卷积操作模块包括输入向量矩阵,卷积核矩阵,近似卷积计算方式以及输出近似向量矩阵;近似卷积计算方式生成模块的输入包括精确计算方式、近似乘法运算;近似乘法器模块的输入包括两个乘数A、B以及乘法近似程度DM,近似加法器模块的输入包括待累加部分积矩阵、加法近似程度DA;本发明通过设计高精度的近似乘法器和近似加法器,生成高精度的近似卷积计算方式。用近似卷积计算方式替换原有卷积操作中的计算方式,可以在满足卷积操作输出精度要求的前提下,有效地减少计算开销,实现低功耗的卷积操作。
Description
技术领域
本发明涉及一种基于近似乘法器的低功耗卷积运算电路,属于近似计算技术领域。
背景技术
深度学习是近年来机器学习中最具有代表性的技术,在图片识别,自然语言处理,语音识别,机器人技术等许多模式识别的关键领域均取得了突破性的成就。但是,一个深度学习模型通常包含数以百万计甚至千万计的参数和十几层甚至几十层的网络,带来了巨量的计算开销。所以,近似和加速对深度神经网络来说至关重要。
在大多数深度神经网络中,卷积层是不可或缺的一部分。卷积层的计算实现过程中包含了大量的卷积操作。因此,针对卷积操作提出高效低功耗的近似方法可以有效地应用于神经网络加速器中。
发明内容
本发明的发明构思为:神经网络中的卷积层包含了大量卷积操作,而卷积操作主要由乘法运算和加法运算叠加实现。若能在一定程度上放宽卷积层的计算精度要求,对卷积操作中乘法运算进行近似,则可以在满足输出精度要求的前提下有效地减少计算开销,实现低功耗的卷积操作。
本发明的技术方案如下:
一种基于近似乘法器的低功耗卷积运算电路,包括卷积操作模块,近似卷积计算方式生成模块,近似乘法器模块以及近似加法器模块;
所述卷积操作模块包括输入向量矩阵,卷积核矩阵,近似卷积计算方式以及输出近似向量矩阵;近似卷积计算方式是基于近似卷积计算方式生成模块得到的,对输入向量矩阵和卷积核矩阵进行卷积运算,卷积运算后输出近似向量矩阵;
所述近似卷积计算方式生成模块的输入包括精确计算方式、近似乘法运算,将精确计算方式中原有的乘法运算替换为近似乘法运算,生成所述近似卷积计算方式,并作为卷积操作模块的输入,所述近似乘法运算由近似乘法器模块生成;
所述近似乘法器模块的输入包括两个乘数A、B以及乘法近似程度DM,对两个乘数进行近似相乘,基于按位相乘的规则,得到三组部分积;基于二位近似加法运算对各组部分积近似求和,然后对三组部分积求和结果进一步近似求和,所述二位近似加法运算由近似加法器模块生成;
所述近似加法器模块的输入包括待累加部分积矩阵、加法近似程度DA;基于待累加部分积矩阵大小以及加法近似程度DA,确定进行近似加法操作的位数,对部分积进行按位加法运算,输出最终的和数及进位值。
上述输入向量矩阵为一个二维张量,所述卷积核矩阵为一个二维张量。
上述近似卷积计算方式的方法如下:
对输入向量矩阵和卷积核矩阵进行近似卷积运算,卷积核矩阵从起始位置开始,沿着输入向量矩阵按照先行后列的顺序移动,每移动到一个固定位置,对应位置的值近似相乘,然后求和,到达终止位置后,卷积操作结束,将得到的值存入输出向量。
上述精确计算方式的方法为:
对输入向量矩阵和卷积核矩阵进行精确卷积运算,卷积核矩阵从起始位置开始,沿着输入向量矩阵按照先行后列的顺序移动,每移动到一个固定位置,对应位置的值精确相乘,然后求和,到达终止位置后,卷积操作结束,将得到的值存入输出向量。
上述近似乘法运算的方法步骤如下:
1)首先,将两个乘数分别表示为: 其中ai、bi分别是二进制数A、B从低位开始第i位的值(i≥0),k1定义为ai为1的位中i的最大值,k2定义为bi为1的位中i的最大值。基于k1、k2和DM的数值,确定分别对AA和BB进行近似操作的位数n1、n2;将A拆分为精确计算项Ac和近似计算项Ap,记A=Ac+Ap,其中 同样的,将B拆分为精确计算项Bc和近似计算项Bp,记B=Bc+Bp,其中
2)其次,分别对Ap和Bp进行近似操作;
针对Ap,若n1≥3,则a′n1-1=or(an1-1,and(an1-2,an1-3)),a′n1-2=or(an1-1,xor(an1-2,an1-3)),a′n1-3=0,……a′0=0,得到若n1<2,则A′p=Ap;
针对Bp进行相同的近似操作,得到B′p;
上述对部分积进行按位加法运算的方法如下:
针对被加位pi和qi,若i≤w,w表示近似加法操作的位数,则近似进位值以及和数为couti=or(and(pi,qi),and(couti-1,or(pi,qi))),sumi=1-couti;若i>w,不进行近似加法运算,则近似进位值以及和数为couti=or(and(pi,qi),and(couti-1,xor(pi,qi))),sumi=xor(pi,qi,couti-1)。
本发明所达到的有益效果:
本发明通过设计高精度的近似乘法器和近似加法器,生成高精度的近似卷积计算方式。用近似卷积计算方式替换原有卷积操作中的计算方式,可以在满足卷积操作输出精度要求的前提下,有效地减少计算开销,实现低功耗的卷积操作。
附图说明
图1是本发明的模块构成图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例:
参考图1所示,一种基于近似乘法器的低功耗卷积运算电路:包括卷积操作模块,近似卷积计算方式生成模块,近似乘法器模块以及近似加法器模块;
卷积操作模块包含三个输入:维度为3*3的输入向量矩阵X、维度为2*2的卷积核矩阵K以及近似卷积计算方式★’,以及一个输出:近似向量矩阵RA。基于近似卷积计算方式生成模块得到的近似卷积计算方式★’,对输入向量矩阵X和卷积核矩阵K进行卷积运算。在本实施例中,记
近似卷积计算方式生成模块的输入包括精确计算方式★、近似乘法运算。在本实施例中,计算方式★为:对输入向量矩阵X和卷积核举证K进行Full卷积,K从起始位置开始,沿着X按照先行后列的顺序移动,移动步长为1。每移动到一个固定位置,对应位置的值相乘,然后求和。到达终止位置后,卷积操作结束,将得到的值存入输出向量。该模块将计算方式★中原有的乘法运算×替换为近似乘法运算生成近似卷积计算方式★’,并作为卷积操作模块的输入。
1)首先,将两个乘数分别表示为:
其中,
a0=a1=a3=a4=1,a2=0;
b1=1,b0=b2=b3=b4=b5=0.
所以,
k1=5,k2=6.
在本实施例中,
DM=0.5,
所以分别对A和B进行近似操作的位数n1、n2可以由下式得到:
n1=[(k1+1)×DM]=3,n2=[(k2+1)×DM]=3.
记A=Ac+Ap,其中:
记B=Bc+Bp,其中:
2)其次,分别对Ap和Bp进行近似操作。
针对Ap,
a′2=or(a2,and(a1,a0))=or(0,and(1,0))=1,
a′1=or(a2,xor(a1,a0))=or(0,xor(1,0))=0,
a′0=0.
那么,
针对Bp,
b′2=or(b2,and(b1,b0))=or(0,and(1,0))=0,
b′1=or(b2,xor(b1,b0))=or(0,xor(1,0))=1,
b′0=0,
3)最后,对两个乘数进行近似相乘:
a)首先,对于乘数A和B,有
k1=5,k2=6.
在本实施例中,
DA=0.5,
所以,近似加法操作的位数为
w=[(k1+k2+2)×DA]=6.
b)其次,针对被加位pi和qi,
若i≤w,近似相加,得到的进位值以及和数分别为
couti=or(and(pi,qi),and(couti-1,or(pi,qi))),
sumi=1-couti;
若i>w,不进行近似相加,进位值以及和数分别为
couti=or(and(pi,qi),and(couti-1,xor(pi,qi))),
sumi=xor(pi,qi,couti-1).
求和后,转为十进制数,输出最终结果:
同样地,通过卷积核的平移操作,将每次移动后近似计算得到的值存入矩阵RA中,最终输出RA作为近似卷积的结果。
在本实施例中,近似卷积的结果为:
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种基于近似乘法器的低功耗卷积运算电路,其特征在于包括卷积操作模块,近似卷积计算方式生成模块,近似乘法器模块以及近似加法器模块;
所述卷积操作模块包括输入向量矩阵,卷积核矩阵,近似卷积计算方式以及输出近似向量矩阵;近似卷积计算方式是基于近似卷积计算方式生成模块得到的,对输入向量矩阵和卷积核矩阵进行近似卷积运算,卷积运算后输出近似向量矩阵;所述近似卷积计算方式生成模块的输入包括精确计算方式、近似乘法运算,将精确计算方式中原有的乘法运算替换为近似乘法运算,生成所述近似卷积计算方式,并作为卷积操作模块的输入,所述近似乘法运算由近似乘法器模块生成;
所述近似乘法器模块的输入包括两个乘数A、B以及乘法近似程度DM,对两个乘数进行近似相乘,基于按位相乘的规则,得到三组部分积;基于二位近似加法运算对各组部分积近似求和,然后对三组部分积求和结果进一步近似求和,所述二位近似加法运算由近似加法器模块生成;
所述近似加法器模块的输入包括待累加部分积矩阵、加法近似程度DA;基于待累加部分积矩阵大小以及加法近似程度DA,确定进行近似加法操作的位数,对部分积进行按位加法运算,输出最终的和数及进位值。
2.根据权利要求1所述的一种基于近似乘法器的低功耗卷积运算电路,其特征在于所述输入向量矩阵为一个二维张量,所述卷积核矩阵为一个二维张量。
3.根据权利要求1所述的一种基于近似乘法器的低功耗卷积运算电路,其特征在于所述近似卷积计算方式的方法如下:
对输入向量矩阵和卷积核矩阵进行近似卷积运算,卷积核矩阵从起始位置开始,沿着输入向量矩阵按照先行后列的顺序移动,每移动到一个固定位置,对应位置的值近似相乘,然后求和,到达终止位置后,卷积操作结束,将得到的值存入输出向量。
4.根据权利要求1所述的一种基于近似乘法器的低功耗卷积运算电路,其特征在于所述精确计算方式的方法为:
对输入向量矩阵和卷积核矩阵进行精确卷积运算,卷积核矩阵从起始位置开始,沿着输入向量矩阵按照先行后列的顺序移动,每移动到一个固定位置,对应位置的值精确相乘,然后求和,到达终止位置后,卷积操作结束,将得到的值存入输出向量。
5.根据权利要求1所述的一种基于近似乘法器的低功耗卷积运算电路,其特征在于所述近似乘法运算的方法步骤如下:
1)首先,将两个乘数分别表示为:其中ai、bi分别是二进制数A、B从低位开始第i位的值(i≥0),k1定义为ai为1的位中i的最大值,k2定义为bi为1的位中i的最大值;基于k1、k2和DM的数值,确定分别对AA和BB进行近似操作的位数n1、n2;将A拆分为精确计算项Ac和近似计算项Ap,记A=Ac+Ap,其中同样的,将B拆分为精确计算项Bc和近似计算项Bp,记B=Bc+Bp,其中
2)其次,分别对Ap和Bp进行近似操作;
针对Ap,若n1≥3,则
a′n1-1=or(an1-1,and(an1-2,an1-3)),a′n1-2=or(an1-1,xor(an1-2,an1-3)),
针对Bp进行相同的近似操作,得到B′p;
6.根据权利要求1所述的一种基于近似乘法器的低功耗卷积运算电路,其特征是对部分积进行按位加法运算的方法如下:
针对被加位pi和qi,若i≤w,w表示近似加法操作的位数,则近似进位值以及和数为couti=or(and(pi,qi),and(couti-1,or(pi,qi))),sumi=1-couti;若i>w,不进行近似加法运算,则近似进位值以及和数为
couti=or(and(pi,qi),and(couti-1,xor(pi,qi))),sumi=xor(pi,qi,couti-1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010206964.7A CN111428863B (zh) | 2020-03-23 | 2020-03-23 | 一种基于近似乘法器的低功耗卷积运算电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010206964.7A CN111428863B (zh) | 2020-03-23 | 2020-03-23 | 一种基于近似乘法器的低功耗卷积运算电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428863A true CN111428863A (zh) | 2020-07-17 |
CN111428863B CN111428863B (zh) | 2023-05-16 |
Family
ID=71548692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010206964.7A Active CN111428863B (zh) | 2020-03-23 | 2020-03-23 | 一种基于近似乘法器的低功耗卷积运算电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428863B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032723A (zh) * | 2021-05-25 | 2021-06-25 | 广东省新一代通信与网络创新研究院 | 一种矩阵乘法器的实现方法及矩阵乘法器装置 |
CN113283591A (zh) * | 2021-07-22 | 2021-08-20 | 南京大学 | 基于Winograd算法和近似乘法器的高效卷积实现方法及装置 |
CN114692833A (zh) * | 2022-03-30 | 2022-07-01 | 深圳齐芯半导体有限公司 | 一种卷积计算电路、神经网络处理器以及卷积计算方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362292A (zh) * | 2019-07-22 | 2019-10-22 | 电子科技大学 | 一种基于近似4-2压缩器的近似乘法运算方法和近似乘法器 |
CN110780845A (zh) * | 2019-10-17 | 2020-02-11 | 浙江大学 | 一种用于量化卷积神经网络的可配置近似乘法器及其实现方法 |
-
2020
- 2020-03-23 CN CN202010206964.7A patent/CN111428863B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362292A (zh) * | 2019-07-22 | 2019-10-22 | 电子科技大学 | 一种基于近似4-2压缩器的近似乘法运算方法和近似乘法器 |
CN110780845A (zh) * | 2019-10-17 | 2020-02-11 | 浙江大学 | 一种用于量化卷积神经网络的可配置近似乘法器及其实现方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032723A (zh) * | 2021-05-25 | 2021-06-25 | 广东省新一代通信与网络创新研究院 | 一种矩阵乘法器的实现方法及矩阵乘法器装置 |
CN113283591A (zh) * | 2021-07-22 | 2021-08-20 | 南京大学 | 基于Winograd算法和近似乘法器的高效卷积实现方法及装置 |
CN113283591B (zh) * | 2021-07-22 | 2021-11-16 | 南京大学 | 基于Winograd算法和近似乘法器的高效卷积实现方法及装置 |
CN114692833A (zh) * | 2022-03-30 | 2022-07-01 | 深圳齐芯半导体有限公司 | 一种卷积计算电路、神经网络处理器以及卷积计算方法 |
CN114692833B (zh) * | 2022-03-30 | 2023-11-21 | 广东齐芯半导体有限公司 | 一种卷积计算电路、神经网络处理器以及卷积计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111428863B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428863A (zh) | 一种基于近似乘法器的低功耗卷积运算电路 | |
Curiger et al. | Regular VLSI architectures for multiplication modulo (2/sup n/+ 1) | |
Xie et al. | Fully-parallel area-efficient deep neural network design using stochastic computing | |
CN109214509B (zh) | 一种用于深度神经网络高速实时量化结构和运算实现方法 | |
CN111488133B (zh) | 高基数近似布斯编码方法和混合基数布斯编码近似乘法器 | |
CN112051980B (zh) | 一种基于牛顿迭代法的非线性激活函数计算装置 | |
CN111984227A (zh) | 一种针对复数平方根的近似计算装置及方法 | |
Yang et al. | An approximate multiply-accumulate unit with low power and reduced area | |
Hussain et al. | An efficient and fast softmax hardware architecture (EFSHA) for deep neural networks | |
CN115270071A (zh) | 一种近似计算softmax函数的装置 | |
Hemamithra et al. | Fpga implementation of power efficient approximate multipliers | |
CN110879697B (zh) | 一种近似计算tanh函数的装置 | |
CN110825346B (zh) | 一种低逻辑复杂度的无符号近似乘法器 | |
Temenos et al. | A stochastic computing sigma-delta adder architecture for efficient neural network design | |
CN111652359A (zh) | 用于矩阵运算的乘法器阵列和用于卷积运算的乘法器阵列 | |
Tang et al. | A high-accuracy hardware-efficient multiply–accumulate (mac) unit based on dual-mode truncation error compensation for cnns | |
Udupa et al. | IKW: Inter-kernel weights for power efficient edge computing | |
Abdelhamid et al. | Applying the residue number system to network inference | |
Yang et al. | A low-power approximate multiply-add unit | |
CN110555519B (zh) | 一种基于符号随机计算的低复杂度卷积神经网络架构 | |
Asim et al. | Centered Symmetric Quantization for Hardware-Efficient Low-Bit Neural Networks. | |
CN112631546A (zh) | 基于ko-8算法的高性能模乘器 | |
CN112906863A (zh) | 一种神经元加速处理方法、装置、设备及可读存储介质 | |
Park et al. | Hardware accelerator for training with integer backpropagation and probabilistic weight update | |
Verma et al. | An Efficient Scaling-Free Folded Hyperbolic CORDIC Design Using a Novel Low-Complexity Power-of-2 Taylor Series Approximation |
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 |