CN110427169B - 一种面向人工神经网络的三层结构可配置近似位宽加法器 - Google Patents
一种面向人工神经网络的三层结构可配置近似位宽加法器 Download PDFInfo
- Publication number
- CN110427169B CN110427169B CN201910628626.XA CN201910628626A CN110427169B CN 110427169 B CN110427169 B CN 110427169B CN 201910628626 A CN201910628626 A CN 201910628626A CN 110427169 B CN110427169 B CN 110427169B
- Authority
- CN
- China
- Prior art keywords
- adder
- bit
- approximate
- input
- configurable
- 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.)
- Active
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/50—Adding; Subtracting
-
- 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
Abstract
本发明公开了一种面向人工神经网络的三层结构可配置近似位宽加法器,属于基本电子电路的技术领域,包括高位精确加法器部分、中位可配置加法器部分和低位近似加法器部分,中位可配置加法器部分的每个单比特可配置加法器可独立配置成精确加法器或近似加法器,从而实现整个三层加法器近似位宽的可调。可在人工神经网络的计算过程中根据各个网络层的容错性差异动态调整近似位宽,对于容错性较好的网络层适当增加近似位宽,降低计算功耗,对于容错性较差的网络层适当减少近似位宽,保证计算精度,解决了传统两层结构的近似加法器因固定近似位宽无法充分发挥网络容错性的问题,保证网络计算精度损失尽量小的同时,进一步降低计算功耗。
Description
技术领域
本发明涉及一种面向人工神经网络的三层结构可配置近似位宽加法器,涉及人工智能近似计算,属于基本电子电路的技术领域。
背景技术
人工智能概念由来已久,但具体的实现技术多种多样,一直在发展当中,而近年来人工智能的应用越来越广泛,智能程度也越来越高,这得益于人工神经网络的发展。目前,人工神经网络是人工智能的主流实现技术,它是由大量信息处理单元高度互连而成的网络,是对人脑的抽象和模拟,而其中的信息处理单元类似大脑的神经元,信息处理单元接受一组输入,每个输入具有不同的权重,信息处理单元将输入按权重叠加后经过非线性函数激活输出,然后继续传递给下一个信息处理单元,最终通过输出层输出计算结果。人工神经网络的结构让其具备很强的适应性,针对不同的问题,通过调整网络结构,并且用一定数量已知样本对网络进行训练,就可以让其具有对特定问题推理的能力,从而具备自主智能处理问题的能力,而且人工神经网络具有很强的统计性,无需特别关心网络内部的计算过程,将重点放在样本数据的处理以及网络结构的调整上,就可以训练出一个效果很好的网络。人工神经网络的这些优势推动了人工智能的发展以及普及,但同时也带来另一方面的问题。
人工神经网络规模一般比较庞大,导致在一次前向推理过程中的计算量也很庞大,这对人工智能的普及是致命的。移动端的处理器在执行人工神经网络算法时,面对庞大的计算量往往不能满足要求,更严重的是大量的计算会加大算法执行的功耗,并且带来很大的延时,这些都是人工神经网络的缺点,在应用到移动端时会显现的更加严重。不过人工神经网络具有很强的容错性,也就是说网络内部计算过程中出现的一些错误并不会严重影响整个网络最后的输出结果,而近似计算技术非常适合容错性应用。近似计算技术是一种新兴的高能效设计技术,它的计算过程并非完全正确,而是允许一定的错误率,但近似计算通常采用精简计算逻辑,简化了计算过程,大大减少了系统进行计算所消耗的能量。近似计算的方法牺牲了一定的计算准确率和精度,却可以大大降低电路能耗,它是能耗和计算精度的一种折中。近似计算可以在电路、架构、算法三个层面实现,而电路级别的近似计算主要是通过用近似计算单元替换精确计算单元来实现。结合人工神经网络和近似计算的特点,将电路级别的近似计算技术运用到人工神经网络,就可以在保证网络最后输出质量轻微损失的前提下,大大降低网络的计算功耗。
在电路级别的近似计算技术中,有很多已有的近似加法器,例如低位或门加法器、近似镜像加法器,它们在计算时会出现轻微错误,但功耗却大大降低。这些近似加法器在实际应用时都采用两层结构,高位采用精确加法器,低位采用近似加法器,两个部分的位宽都是固定的,然而它们却不适合直接应用到人工神经网络中,因为人工神经网络是一种多层网络结构,而每一层的容错性不同,研究表明卷积层的容错性明显好于全连接层,并且网络层越远离输出层容错性越好,而人工神经网络算法由神经网络加速器中同一组处理单元循环执行,而如果直接使用两层结构的近似加法器,神经网络加速器的处理单元在执行不同网络层算法时都采用一样的近似位宽,统一的近似位宽对于容错性较差的网络层来说过大则会严重影响计算精度,而对于容错性较好的网络来说过小则不能充分发挥其容错性,这样会限制近似计算为人工神经网络带来的收益。
发明内容
为了克服传统两层结构的近似加法器在人工神经网络中由于位宽固定而无法充分发挥神经网络各层容错性的问题,以及为了提高近似计算为人工神经网络带来的整体收益,本发明提供了一种面向人工神经网络的三层结构可配置近似位宽加法器,能够在保证人工神经网络输出质量轻微损失前提下大幅降低网络计算功耗。
本发明为实现上述发明目的采用如下技术方案:
一种面向神经网络加速器的三层结构可配置近似位宽加法器,包括:高位精确加法器部分、中位可配置加法器部分和低位近似加法器部分,通过对中位可配置加法器部分的配置可以调整整个加法器的近似位宽。按照低位近似加法器的近似位宽为整个加法器要求的最小近似位宽、中位可配置加法器的近似位宽为整个加法器要求的最大近似位宽这一原则将两个输入加数拆分为低位部分、中位部分、高位部分。
高位精确加法器部分由多个单比特精确加法器,实现两个多比特操作数的精确相加,单比特精确加法器可采用任何经典的精确加法器结构。
低位近似加法器由多个单比特近似加法器组成,实现两个多比特操作数的近似相加。单比特近似加法器由两个缓冲门组成,其中,一个缓冲门将输入加数转换为和输出连接在,另一个缓冲门将另一输入加数转换为进位输出。
中位可配置加法器部分由多个单比特可配置加法器组成,单比特可配置加法器由精确加法器、二选一数据选择器、D触发器组成;2个二选一数据选择器的选择端连接到模式选择信号上,通过模式选择信号来切换单比特可配置加法器的工作状态,当模式选择信号为1时工作在精确加法器状态,当模式选择信号为0时工作在近似加法器状态;和输出数据选择器用来选择整个单比特可配置加法器的和输出是连接在内部精确加法器的和输出上还是直接连接在整个单比特可配置加法器的一个输入加数上,进位输出数据选择器用来选择整个单比特可配置加法器的进位输出是连接在内部精确加法器的进位输出上还是直接连接在整个单比特可配置加法器的另一输入加数上;3个D触发器连接在内部精确加法器的三个输入信号和整个单比特可配置加法器的相应的三个输入信号之间,3个D触发器的使能端连接模式选择信号,模式选择信号可以在单比特可配置加法器工作在近似加法器状态时使寄存器失效,使得内部精确加法器的输入信号不发生翻转,从而降低功耗。
三层结构可配置近似位宽加法器可以通过控制中位部分的每个单比特可配置加法器的模式选择信号来调整中位部分工作在近似加法器状态的单比特可配置加法器数量,从而调整整个三层结构加法器的近似位宽。整个加法器的近似位宽为低位近似加法器部分的位宽加上中位可配置加法器部分工作在近似加法器状态下单比特可配置加法器数量。
本发明采用上述技术方案,具有以下有益效果:
(1)本发明采用三层结构实现加法器近似位宽的可配置,中位可配置加法器可以通过数据选择器切换工作状态,从而动态调整整个加法器的近似位宽,允许神经网络加速器在工作时结合网络各层的容错性差异动态调整近似位宽,既保证不会对输出质量造成严重影响,又能最大限度地降低计算功耗。
(2)本发明中的单比特近似加法器只由两个缓冲门构成,并且可配置加法器工作在近似加法器状态时可以通过D触发器保证内部精确加法器的输入信号不发生翻转,因此能大幅降低计算功耗。
(3)本发明将低位部分设计成固定的近似加法器,在满足人工神经网络算法对最小近似位宽的要求的同时,减少了可配置加法器的数量,从而降低了状态切换时的功耗和电路的复杂度并且减小了整个三层结构加法器的面积。
附图说明
图1为本发明三层结构可配置近似位宽加法器的示意图。
图2为本发明单比特可配置加法器的电路图。
图3为本发明单比特近似加法器的电路图。
图4为本发明实施例中采用的单比特传统精确加法器的电路图。
具体实施方式
下面结合附图对发明的技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
本发明公开的面向人工神经网络的三层结构可配置近似位宽加法器如图1所示,包括:高位精确加法器部分、中位可配置加法器部分和低位近似加法器部分。在本实施例中,整个三层加法器的位宽是16位,其中,高4位为高位精确加法器部分,由4个单比特精确加法器组成,中间8位为中位可配置加法器部分,由8个单比特可配置加法器组成,低4位为低位近似加法器部分,由4个单比特近似加法器组成。此外,低位近似加法器部分最高位的进位输出连接到中位可配置加法器部分最低位的进位输入,中位可配置加法器部分最高位的进位输出连接到高位精确加法器部分最低位的进位输入,整个加法器的进位输出由高位精确加法器部分的最高位加法器产生。中部可配置加法器部分的4个单比特可配置加法器可以独立配置成精确加法器或近似加法器的工作状态,若全部切换成精确加法器的工作状态,那么整个三层加法器达到最小的近似位宽,为4位,若全部切换成近似加法器的工作状态,那么整个三层加法器达到最大的近似位宽,为12位。
因此,本实例的三层结构可配置近似位宽加法器的近似位宽可以在4位到12位之间进行配置。整个三层结构加法器在运算时,输入两个16比特的操作数,按照高4位、中8位、低4位的规则拆分,分别送入三层加法器,最后将三个部分的计算结果合并,并且加上精确部分最高位产生的进位,组成最后的和输出。
图4为本发明实施例所采用的经典的单比特精确加法器的电路图,本实施例的高位精确加法器部分由4个该结构的单比特精确加法器组成。图4中精确加法器共使用了2个异或门、2个与门、1个或门,实现两个单比特加数A和B以及进位输入Cin的精确相加,产生和输出Sum以及进位输出Cout。本实施例只采用了一种经典的精确加法器结构,其它的精确加法器结构都可以应用到本发明当中。
图3为本发明中的单比特近似加法器的电路图,本实施例的低位近似加法器部分由4个该结构的单比特近似加法器组成。图3中的近似加法器共使用了2个缓冲门,每个缓冲门由2个非门构成,将和输出Sum与加数B通过缓冲门相连,将进位输出Cout与加数A通过缓冲门相连,不含进位输入Cin,从而实现两个单比特加数A和B的近似相加,产生和输出Sum以及进位输出Cout,其真值表如下:
加数A | 加数B | 和输出Sum | 进位输出Cout |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 |
图2为本发明中的单比特可配置加法器的电路结构,由图4经典结构的精确加法器、二选一数据选择器、D触发器组成,通过模式选择信号MODE可以将加法器配置成精确加法器或者近似加法器的工作状态,本实施例中的中位可配置加法器部分由8个该结构的可配置加法器组成。单比特可配置加法器的精确相加功能通过图2结构的精确加法器实现,而近似相加功能通过类似图3结构的近似加法器实现。具体如下,其中一个二选一数据选择器为和输出数据选择器MUX1,其2个数据输入端分别连接在内部精确加法器的和输出Sum’以及整个单比特可配置加法器的输入加数B上,数据输出端即为整个单比特可配置加法器的和输出Sum,另一个二选一数据选择器为进位输出数据选择器MUX2,其2个数据输入端分别连接在内部精确加法器的进位输出Cout’以及整个单比特可配置加法器的输入加数A上,数据输出端即为整个单比特可配置加法器的进位输出Cout,2个数据选择器的选择端连接在模式选择信号MODE上,通过MODE信号可切换单比特可配置加法器的工作状态;此外,在内部精确加法器的三个输入信号A’、B’、Cin’和整个单比特可配置加法器的相应的三个输入信号A、B、Cin之间连接了D触发器,其使能端与模式选择信号MODE相连。当模式选择信号MODE为1时,和输出数据选择器MUX1选通内部精确加法器的和输出Sum’,进位输出数据选择器MUX2选通内部精确加法器的进位输出Cout’,D触发器使能,内部精确加法器正常工作,整个单比特可配置加法器工作在精确加法器状态,实现两个单比特加数A和B以及进位输入Cin的精确相加,产生和输出Sum以及进位输出Cout;当模式选择MODE信号为0时,和输出数据选择器MUX1选通输入加数B,进位输出数据选择器MUX2选通输入加数A,寄存器失效,内部精确加法器的输入端信号不发生翻转,整个单比特可配置加法器工作在近似加法器状态,实现两个单比特加数A和B的近似相加,产生和输出Sum以及进位输出Cout。
Claims (5)
1.一种面向人工神经网络的三层结构可配置近似位宽加法器,其特征在于,按照低位近似加法器的近似位宽为整个加法器要求的最小近似位宽、中位可配置加法器的近似位宽为整个加法器要求的最大近似位宽这一原则将两个输入加数拆分为低位部分、中位部分、高位部分,所述可配置近似位宽加法器包括:
低位近似加法器,对两输入加数的低位部分近似求和,输出低位部分的和输出和进位输出;
中位可配置加法器,包括对应其位宽的多个单比特可配置加法器,每个单比特可配置加法器包括:
第一D触发器,其数据端接第一输入加数中位部分的一比特数据,其时钟端接时钟信号,其使能端接模式信号,在使能状态下传输第一输入加数中位部分的一比特数据至精确加法器,
第二D触发器,其数据端接第二输入加数中位部分与第一输入加数按位对应的一比特数据,其时钟端接时钟信号,其使能端接模式信号,在使能状态下传输第二输入加数中位部分与第一输入加数按位对应的一比特数据至精确加法器,
第三D触发器,其数据端接前一比特加法器的进位输出,其时钟端接时钟信号,其使能端接模式信号,在使能状态下传输前一比特加法器的进位输出至精确加法器,
精确加法器,其第一输入端接第一D触发器的输出端,其第二输入端接第二D触发器的输出端,其第三输入端接第三D触发器的输出端,
和输出数据选择器,其“0”数据端接第二D触发器的数据端,其“1”数据端接精确加法器的和输出,在对两输入加数中位部分的当前比特数据精确求和时选择精确加法器的和输出,在对两输入加数中位部分的当前比特数据近似求和时选择输入至第二D触发器的数据,
进位输出数据选择器,其“0”数据端接第一D触发器的数据端,其“1”数据端接精确加法器的进位输出,在对两输入加数中位部分的当前比特数据精确求和时选择精确加法器的进位输出,在对两输入加数中位部分的当前比特数据近似求和时选择输入至第一D触发器的数据;及,
高位精确加法器,对两输入加数的高位部分以及中位可配置加法器的进位输出求和。
2.根据权利要求1所述一种面向人工神经网络的三层结构可配置近似位宽加法器,其特征在于,所述低位近似加法器包括对应其位宽的多个单比特近似加法器。
3.根据权利要求1所述一种面向人工神经网络的三层结构可配置近似位宽加法器,其特征在于,所述精确加法器包括对应其位宽的多个单比特精确加法器。
4.根据权利要求2所述一种面向人工神经网络的三层结构可配置近似位宽加法器,其特征在于,所述单比特近似加法器包括两个缓冲门,一个缓冲门将其输入端接入的输入加数转换为和输出,另一个缓冲门将其输入端接入的另一输入加数转为进位输出。
5.根据权利要求1所述一种面向人工神经网络的三层结构可配置近似位宽加法器,其特征在于,所述精确加法器包括:
第一异或门,其一输入端接第一输入加数中位部分的一比特数据,其另一输入端接第二输入加数中位部分与第一输入加数按位对应的一比特数据,
第一与门,其一输入端接第一输入加数中位部分的一比特数据,其另一输入端接第二输入加数中位部分与第一输入加数按位对应的一比特数据,
第二与门,其一输入端接前一比特加法器的进位输出,另一输入端接第一异或门的输出端,
第二异或门,其一输入端接前一比特加法器的进位输出,其另一输入端接第一异或门的输出端,输出和,及,
或门,其一输入端接第二与门的输出端,其另一输入端接第一与门的输出端,输出进位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910628626.XA CN110427169B (zh) | 2019-07-12 | 2019-07-12 | 一种面向人工神经网络的三层结构可配置近似位宽加法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910628626.XA CN110427169B (zh) | 2019-07-12 | 2019-07-12 | 一种面向人工神经网络的三层结构可配置近似位宽加法器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427169A CN110427169A (zh) | 2019-11-08 |
CN110427169B true CN110427169B (zh) | 2021-07-02 |
Family
ID=68409285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910628626.XA Active CN110427169B (zh) | 2019-07-12 | 2019-07-12 | 一种面向人工神经网络的三层结构可配置近似位宽加法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427169B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240454B (zh) * | 2020-01-18 | 2021-10-22 | 苏州浪潮智能科技有限公司 | 一种基于risc-v的功耗动态调整系统及方法 |
CN113222126B (zh) * | 2020-01-21 | 2022-01-28 | 上海商汤智能科技有限公司 | 数据处理装置、人工智能芯片 |
CN112596698B (zh) * | 2020-12-24 | 2024-01-05 | 东南大学 | 一种基于多比特近似加法器的双电压动态配置硬件电路结构 |
CN114296685B (zh) * | 2021-12-30 | 2023-06-09 | 北京中科睿芯科技集团有限公司 | 一种基于超导sfq逻辑的近似加法器电路及设计方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4132975A (en) * | 1976-10-27 | 1979-01-02 | Nippon Electric Co., Ltd. | Majority decision device |
CN1834897A (zh) * | 2005-03-14 | 2006-09-20 | 印芬龙科技股份有限公司 | 逐位进位加法器 |
CN101140511A (zh) * | 2006-09-05 | 2008-03-12 | 硅谷数模半导体(北京)有限公司 | 串行进位二进制加法器 |
CN102866875A (zh) * | 2012-10-05 | 2013-01-09 | 刘杰 | 通用多操作数加法器 |
CN107153522A (zh) * | 2017-04-21 | 2017-09-12 | 东南大学 | 一种面向人工神经网络计算的动态精度可配近似乘法器 |
-
2019
- 2019-07-12 CN CN201910628626.XA patent/CN110427169B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4132975A (en) * | 1976-10-27 | 1979-01-02 | Nippon Electric Co., Ltd. | Majority decision device |
CN1834897A (zh) * | 2005-03-14 | 2006-09-20 | 印芬龙科技股份有限公司 | 逐位进位加法器 |
CN101140511A (zh) * | 2006-09-05 | 2008-03-12 | 硅谷数模半导体(北京)有限公司 | 串行进位二进制加法器 |
CN102866875A (zh) * | 2012-10-05 | 2013-01-09 | 刘杰 | 通用多操作数加法器 |
CN107153522A (zh) * | 2017-04-21 | 2017-09-12 | 东南大学 | 一种面向人工神经网络计算的动态精度可配近似乘法器 |
Non-Patent Citations (2)
Title |
---|
具有二维状态转移结构的随机逻辑及其在神经网络中的应用;季渊,陈文栋等;《电子与信息学报》;20160831;第38卷(第8期);全文 * |
面向神经网络加速器的近似加法器的电路设计;吴成均,单伟伟;《航空科学技术》;20181115;第29卷(第11期);73-77 * |
Also Published As
Publication number | Publication date |
---|---|
CN110427169A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427169B (zh) | 一种面向人工神经网络的三层结构可配置近似位宽加法器 | |
Singh et al. | Design of area and power efficient modified carry select adder | |
Ma et al. | A Novel Modulo $2^{n}-2^{k}-1$ Adder for Residue Number System | |
CN101140511A (zh) | 串行进位二进制加法器 | |
CN110688086A (zh) | 一种可重构的整型-浮点加法器 | |
Jin et al. | ReHy: A ReRAM-based digital/analog hybrid PIM architecture for accelerating CNN training | |
CN116400883A (zh) | 一种可切换精度的浮点乘加器 | |
Tsai et al. | Accuracy-configurable radix-4 adder with a dynamic output modification scheme | |
Yang et al. | Power efficient and high-accuracy approximate multiplier with error correction | |
CN108449091B (zh) | 一种基于近似计算的极化码置信传播译码方法及译码器 | |
CN116627379A (zh) | 可重构的支持多精度浮点或定点运算的方法及系统 | |
US20220358183A1 (en) | Matrix multiplier and operation method thereof | |
Peltekis et al. | Low-Power Data Streaming in Systolic Arrays with Bus-Invert Coding and Zero-Value Clock Gating | |
Huang et al. | A hardware/software co-design method for approximate semi-supervised k-means clustering | |
WO2020008642A1 (ja) | 学習装置、学習回路、学習方法および学習プログラム | |
WO2020008643A1 (ja) | データ処理装置、データ処理回路およびデータ処理方法 | |
Liu et al. | On the selection of arithmetic unit structure in voltage overscaled soft digital signal processing | |
Mendez et al. | Performance evaluation of fault-tolerant approximate adder | |
Veena et al. | Energy Scalable Brent Kung Adder with Non-Zeroing Bit Truncation | |
WO2020084723A1 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
Prasad et al. | Error-Tolerant Computing Using Booth Squarer Design and Analysis | |
CN115857870A (zh) | 一种高性能可配置近似全加器 | |
CN117348839B (zh) | 一种多精度低开销加法器 | |
Kang et al. | The design and implementation of multi-precision floating point arithmetic unit based on FPGA | |
EP1429239A2 (en) | Floating-point multiplication |
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 |