CN111428863A - 一种基于近似乘法器的低功耗卷积运算电路 - Google Patents

一种基于近似乘法器的低功耗卷积运算电路 Download PDF

Info

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
Application number
CN202010206964.7A
Other languages
English (en)
Other versions
CN111428863B (zh
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.)
Changzhou Campus of Hohai University
Original Assignee
Changzhou Campus of Hohai University
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 Changzhou Campus of Hohai University filed Critical Changzhou Campus of Hohai University
Priority to CN202010206964.7A priority Critical patent/CN111428863B/zh
Publication of CN111428863A publication Critical patent/CN111428863A/zh
Application granted granted Critical
Publication of CN111428863B publication Critical patent/CN111428863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

本发明公开了一种基于近似乘法器的低功耗卷积运算电路,包括卷积操作模块,近似卷积计算方式生成模块,近似乘法器模块以及近似加法器模块;卷积操作模块包括输入向量矩阵,卷积核矩阵,近似卷积计算方式以及输出近似向量矩阵;近似卷积计算方式生成模块的输入包括精确计算方式、近似乘法运算;近似乘法器模块的输入包括两个乘数AB以及乘法近似程度DM,近似加法器模块的输入包括待累加部分积矩阵、加法近似程度DA;本发明通过设计高精度的近似乘法器和近似加法器,生成高精度的近似卷积计算方式。用近似卷积计算方式替换原有卷积操作中的计算方式,可以在满足卷积操作输出精度要求的前提下,有效地减少计算开销,实现低功耗的卷积操作。

Description

一种基于近似乘法器的低功耗卷积运算电路
技术领域
本发明涉及一种基于近似乘法器的低功耗卷积运算电路,属于近似计算技术领域。
背景技术
深度学习是近年来机器学习中最具有代表性的技术,在图片识别,自然语言处理,语音识别,机器人技术等许多模式识别的关键领域均取得了突破性的成就。但是,一个深度学习模型通常包含数以百万计甚至千万计的参数和十几层甚至几十层的网络,带来了巨量的计算开销。所以,近似和加速对深度神经网络来说至关重要。
在大多数深度神经网络中,卷积层是不可或缺的一部分。卷积层的计算实现过程中包含了大量的卷积操作。因此,针对卷积操作提出高效低功耗的近似方法可以有效地应用于神经网络加速器中。
发明内容
本发明的发明构思为:神经网络中的卷积层包含了大量卷积操作,而卷积操作主要由乘法运算和加法运算叠加实现。若能在一定程度上放宽卷积层的计算精度要求,对卷积操作中乘法运算进行近似,则可以在满足输出精度要求的前提下有效地减少计算开销,实现低功耗的卷积操作。
本发明的技术方案如下:
一种基于近似乘法器的低功耗卷积运算电路,包括卷积操作模块,近似卷积计算方式生成模块,近似乘法器模块以及近似加法器模块;
所述卷积操作模块包括输入向量矩阵,卷积核矩阵,近似卷积计算方式以及输出近似向量矩阵;近似卷积计算方式是基于近似卷积计算方式生成模块得到的,对输入向量矩阵和卷积核矩阵进行卷积运算,卷积运算后输出近似向量矩阵;
所述近似卷积计算方式生成模块的输入包括精确计算方式、近似乘法运算,将精确计算方式中原有的乘法运算替换为近似乘法运算,生成所述近似卷积计算方式,并作为卷积操作模块的输入,所述近似乘法运算由近似乘法器模块生成;
所述近似乘法器模块的输入包括两个乘数A、B以及乘法近似程度DM,对两个乘数进行近似相乘,基于按位相乘的规则,得到三组部分积;基于二位近似加法运算对各组部分积近似求和,然后对三组部分积求和结果进一步近似求和,所述二位近似加法运算由近似加法器模块生成;
所述近似加法器模块的输入包括待累加部分积矩阵、加法近似程度DA;基于待累加部分积矩阵大小以及加法近似程度DA,确定进行近似加法操作的位数,对部分积进行按位加法运算,输出最终的和数及进位值。
上述输入向量矩阵为一个二维张量,所述卷积核矩阵为一个二维张量。
上述近似卷积计算方式的方法如下:
对输入向量矩阵和卷积核矩阵进行近似卷积运算,卷积核矩阵从起始位置开始,沿着输入向量矩阵按照先行后列的顺序移动,每移动到一个固定位置,对应位置的值近似相乘,然后求和,到达终止位置后,卷积操作结束,将得到的值存入输出向量。
上述精确计算方式的方法为:
对输入向量矩阵和卷积核矩阵进行精确卷积运算,卷积核矩阵从起始位置开始,沿着输入向量矩阵按照先行后列的顺序移动,每移动到一个固定位置,对应位置的值精确相乘,然后求和,到达终止位置后,卷积操作结束,将得到的值存入输出向量。
上述近似乘法运算的方法步骤如下:
1)首先,将两个乘数分别表示为:
Figure BDA0002421456970000021
Figure BDA0002421456970000022
其中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,其中
Figure BDA0002421456970000023
Figure BDA0002421456970000024
同样的,将B拆分为精确计算项Bc和近似计算项Bp,记B=Bc+Bp,其中
Figure BDA0002421456970000025
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,得到
Figure BDA0002421456970000026
若n1<2,则A′p=Ap
针对Bp进行相同的近似操作,得到B′p
3)最后,对两个乘数进行近似相乘,即
Figure BDA0002421456970000031
Figure BDA0002421456970000032
Figure BDA0002421456970000033
基于按位相乘的规则,得到三组部分积。基于近似加法器模块,对各组部分积按位加法运算,然后对三组部分积求和结果进一步求和,得到近似输出。
上述对部分积进行按位加法运算的方法如下:
针对被加位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进行卷积运算。在本实施例中,记
Figure BDA0002421456970000041
Figure BDA0002421456970000042
Figure BDA0002421456970000043
近似卷积计算方式生成模块的输入包括精确计算方式★、近似乘法运算。在本实施例中,计算方式★为:对输入向量矩阵X和卷积核举证K进行Full卷积,K从起始位置开始,沿着X按照先行后列的顺序移动,移动步长为1。每移动到一个固定位置,对应位置的值相乘,然后求和。到达终止位置后,卷积操作结束,将得到的值存入输出向量。该模块将计算方式★中原有的乘法运算×替换为近似乘法运算
Figure BDA0002421456970000044
生成近似卷积计算方式★’,并作为卷积操作模块的输入。
基于近似卷积计算方式★’,
Figure BDA0002421456970000045
其中近似乘法运算
Figure BDA0002421456970000046
由近似乘法器模块生成,分为以下几步:
1)首先,将两个乘数分别表示为:
Figure BDA0002421456970000047
Figure BDA0002421456970000048
其中,
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,其中:
Figure BDA0002421456970000051
记B=Bc+Bp,其中:
Figure BDA0002421456970000052
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.
那么,
Figure BDA0002421456970000053
针对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,
进行相同的近似操作,得到
Figure BDA0002421456970000054
3)最后,对两个乘数进行近似相乘:
Figure BDA0002421456970000055
基于按位相乘的规则,得到三组部分积。基于二位近似加法运算
Figure BDA0002421456970000056
对各组部分积近似求和,然后对三组部分积求和结果进一步近似求和。其中,二位近似加法运算
Figure BDA0002421456970000061
由近似加法器模块生成,分为以下几步:
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).
求和后,转为十进制数,输出最终结果:
Figure BDA0002421456970000062
同样地,通过卷积核的平移操作,将每次移动后近似计算得到的值存入矩阵RA中,最终输出RA作为近似卷积的结果。
在本实施例中,近似卷积的结果为:
Figure BDA0002421456970000063
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (6)

1.一种基于近似乘法器的低功耗卷积运算电路,其特征在于包括卷积操作模块,近似卷积计算方式生成模块,近似乘法器模块以及近似加法器模块;
所述卷积操作模块包括输入向量矩阵,卷积核矩阵,近似卷积计算方式以及输出近似向量矩阵;近似卷积计算方式是基于近似卷积计算方式生成模块得到的,对输入向量矩阵和卷积核矩阵进行近似卷积运算,卷积运算后输出近似向量矩阵;所述近似卷积计算方式生成模块的输入包括精确计算方式、近似乘法运算,将精确计算方式中原有的乘法运算替换为近似乘法运算,生成所述近似卷积计算方式,并作为卷积操作模块的输入,所述近似乘法运算由近似乘法器模块生成;
所述近似乘法器模块的输入包括两个乘数A、B以及乘法近似程度DM,对两个乘数进行近似相乘,基于按位相乘的规则,得到三组部分积;基于二位近似加法运算对各组部分积近似求和,然后对三组部分积求和结果进一步近似求和,所述二位近似加法运算由近似加法器模块生成;
所述近似加法器模块的输入包括待累加部分积矩阵、加法近似程度DA;基于待累加部分积矩阵大小以及加法近似程度DA,确定进行近似加法操作的位数,对部分积进行按位加法运算,输出最终的和数及进位值。
2.根据权利要求1所述的一种基于近似乘法器的低功耗卷积运算电路,其特征在于所述输入向量矩阵为一个二维张量,所述卷积核矩阵为一个二维张量。
3.根据权利要求1所述的一种基于近似乘法器的低功耗卷积运算电路,其特征在于所述近似卷积计算方式的方法如下:
对输入向量矩阵和卷积核矩阵进行近似卷积运算,卷积核矩阵从起始位置开始,沿着输入向量矩阵按照先行后列的顺序移动,每移动到一个固定位置,对应位置的值近似相乘,然后求和,到达终止位置后,卷积操作结束,将得到的值存入输出向量。
4.根据权利要求1所述的一种基于近似乘法器的低功耗卷积运算电路,其特征在于所述精确计算方式的方法为:
对输入向量矩阵和卷积核矩阵进行精确卷积运算,卷积核矩阵从起始位置开始,沿着输入向量矩阵按照先行后列的顺序移动,每移动到一个固定位置,对应位置的值精确相乘,然后求和,到达终止位置后,卷积操作结束,将得到的值存入输出向量。
5.根据权利要求1所述的一种基于近似乘法器的低功耗卷积运算电路,其特征在于所述近似乘法运算的方法步骤如下:
1)首先,将两个乘数分别表示为:
Figure FDA0002421456960000021
其中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,其中
Figure FDA0002421456960000022
同样的,将B拆分为精确计算项Bc和近似计算项Bp,记B=Bc+Bp,其中
Figure FDA0002421456960000023
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,得到
Figure FDA0002421456960000024
若n1<2,则A′p=Ap
针对Bp进行相同的近似操作,得到B′p
3)最后,对两个乘数进行近似相乘,即
Figure FDA0002421456960000025
Figure FDA0002421456960000026
基于按位相乘的规则,得到三组部分积,基于近似加法器模块,对各组部分积按位加法运算,然后对三组部分积求和结果进一步求和,得到近似输出。
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)。
CN202010206964.7A 2020-03-23 2020-03-23 一种基于近似乘法器的低功耗卷积运算电路 Active CN111428863B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 浙江大学 一种用于量化卷积神经网络的可配置近似乘法器及其实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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