CN111898329B - 基于铁电晶体管FeFET的卷积计算方法 - Google Patents
基于铁电晶体管FeFET的卷积计算方法 Download PDFInfo
- Publication number
- CN111898329B CN111898329B CN202010660739.0A CN202010660739A CN111898329B CN 111898329 B CN111898329 B CN 111898329B CN 202010660739 A CN202010660739 A CN 202010660739A CN 111898329 B CN111898329 B CN 111898329B
- Authority
- CN
- China
- Prior art keywords
- convolution
- fefet
- bit
- shift register
- ferroelectric
- 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
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/38—Circuit design at the mixed level of analogue and digital signals
-
- 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
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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Neurology (AREA)
- Semiconductor Memories (AREA)
Abstract
本发明提出了一种基于铁电晶体管FeFET的卷积计算方法,属于卷积神经网络中卷积计算技术领域。该方法首先构建一个由m*n个铁电晶体管FeFET组成的存储阵列,一个m位的移位寄存器和一个n位的移位寄存器;其中,铁电晶体管FeFET排列成m行n列的存储阵列,用于存储输入特征图和存内计算并输出卷积运算的结果;m位移位寄存器用于存储卷积核分解的列向量,同时给字线输出电压;n位移位寄存器用于存储卷积核分解的行向量,同时给位线输出电压。本发明与传统的将卷积计算转化成矩阵乘法的实现方式相比,回避了复杂的数据调度和冗余数据存储,硬件开销大大降低,为卷积神经网络的硬件实现提供了一个新的设计思路。
Description
技术领域
本发明涉及卷积神经网络中卷积计算的物理实现方式,具体涉及一种基于铁电晶体管FeFET的卷积计算方法。
背景技术
传统冯诺依曼计算架构正面临着“内存墙”(memory wall)的瓶颈,数据需要在计算单元和存储单元之间来回搬运,严重影响系统的速度和功耗,导致其计算能力的提升正在逐渐趋于饱和,越来越无法满足海量数据处理和智能任务需求,因此需要寻求新的计算架构。同时,人脑又是一个非常高效的智能系统,用极低的功耗即可完成复杂的智能计算,于是受人脑运算模式启发,神经网络计算架构应运而生。
人脑的基本计算单元为神经元和突触,通过神经元-突触-神经元的连接方式构成,信息以脉冲的形式在神经元和突触之间进行传递。突触的可塑性是人脑记忆和学习的基础,神经元负责整合来自突触的脉冲信号并输出新的脉冲信号来传递信息。基于此搭建的神经网络是一种存算一体、高度并行的分布式计算网络。
人工神经网络借鉴了神经元和突触的概念及其连接方式,将人脑生物系统进行功能模块式的高度数值化抽象,并在此基础上引入许多人脑中并不存在的数学计算,以达到追求更好的系统综合性能表现的目的。在人工神经网络中,突触依旧负责学习和记忆的功能,只不过其存储的权重有了多样的更新方式,其中最广泛使用的便是反向传播(back-propagation)算法。而神经元对信号的处理则被抽象成多种形式的非线性激活函数,对来自突触的数据进行抽象的数值计算并输出激活值。这样就构成了最简单的多层感知机模型MLP(Multilayer Perceptron)。在追求更高性能的驱动下,以MLP为基础不断进行变形改进,引入更多其它的数学计算,由此产生了多种多样的神经网络,其中以卷积神经网络(Convolutional Neural Network)应用最为广泛。卷积神经网络通过将输入数据与突触权重进行卷积运算的方式,提高了网络的计算效率。现在的卷积神经网络在很多方面的表现已经超过了人脑,被广泛用于图像理解、语音识别等诸多领域。
然而,卷积神经网络在各种任务中的高准确率是以高计算复杂度为代价的,这也意味着实现卷积神经网络的硬件开销通常很大,阻碍了其在边缘计算、AIoT等场景的应用。其中,卷积神经网络的关键——卷积计算,占据了卷积神经网络计算的90%,硬件开销尤其大。因此低硬件开销的卷积计算硬件实现亟待研究。常见的卷积计算加速算法有以下几种:转化为矩阵乘法、快速傅里叶变换(Fast Fourier transform)、Winograd算法等。然而,后几种算法因为难以硬件实现,通常只被用在GPU/CPU平台上;而将卷积计算转化成矩阵乘法,不仅转化过程需要复杂的数据调度,转化之后产生的大量冗余数据,也需要额外消耗很多的寄存器来存储。
随着神经网络存算一体结构得到越来越广泛的应用,越来越多的新型存储器件在神经网络的硬件化实现中得到深入研究。铁电晶体管FeFET作为一种具有诸多优势的存储技术,在神经网络的硬件实现中逐渐引起关注。铁电晶体管FeFET由在MOSFET的栅氧化层上叠加一层铁电材料构成。当铁电极化指向器件沟道方向时,MOSFET的栅氧化层上感应出正电荷,使得沟道电导增大、电流增大,表现为器件的阈值电压降低。同理,当铁电极化背向器件沟道方向时,沟道电导减小、电流减小,表现为器件的阈值电压增大。由此,铁电的不同极化状态对应FeFET器件阈值电压的不同,在同样的端电压下的沟道电流不同,因此FeFET可以被用作存储器件来存储不同的状态。在FeFET的栅上施加电压脉冲,可以通过电场的作用使铁电材料的极化强度变化,进而改变FeFET的阈值电压,即改变其存储状态。FeFET凭借写入功耗低、读电流低等优良的器件特性,已经被一些研究用于卷积神经网络中。这些研究都沿用了传统的方案,将卷积计算转化成矩阵乘法运算之后,采用交叉结构crossbar存储阵列来实现矩阵乘法的存内计算,以达到硬件加速的目的。然而这些研究也同时沿用了二端器件的模式,将FeFET的一端作为向量输入,另一端输出乘加计算的结果,而将第三端置于固定电压,并未完全体现出FeFET作为三端器件多一个端口的优势。
发明内容
针对以上现有技术中存在的问题,本发明提出了一种基于铁电晶体管FeFET的卷积计算方法;与传统的将卷积计算转化成矩阵乘法的实现方式相比,本发明的基于铁电晶体管FeFET的卷积计算方法回避了复杂的数据调度和冗余数据存储,首次在硬件上直接实现了卷积计算,与传统方案相比硬件开销大大降低,为卷积神经网络的硬件实现提供了一个新的设计思路。
本发明的目的在于提出一种基于铁电晶体管FeFET的卷积计算方法,该方法具体为如下步骤:
首先,基于铁电晶体管FeFET的硬件设计包括:一个由m*n个铁电晶体管FeFET组成的crossbar结构存储阵列,一个m位的移位寄存器和一个n位的移位寄存器;其中,FeFET存储阵列用于存储输入特征图和存内计算并输出卷积运算的结果,铁电晶体管FeFET排列成m行n列的阵列,每一行器件的栅端相连构成字线,每一列器件的漏端相连构成位线,每一列器件的源端相连构成源线,将所有源线连在一起共同组成一个输出端;m位移位寄存器用于存储卷积核分解的列向量,同时给字线输出电压,m位移位寄存器每一位的输出端分别连接于相应的字线;n位移位寄存器用于存储卷积核分解的行向量,同时给位线输出电压,n位移位寄存器每一位的输出端分别连接于相应的位线。
其次,数据“0”对应存储器件的低阈值态,数据“1”对应存储器件的高阈值态,逐个对应地将输入特征图写入到存储阵列中,卷积核分解成两个向量的乘积,得到的两个向量分别存储于两个移位寄存器中,并作为电压输入,分别施加到卷积窗口对应的位线和字线上;除卷积窗口对应的位线和字线外,其余位线和字线的电压置零,从输出端口读取输出电流值,得到卷积计算的一个结果,通过移位寄存器的移位不断移动卷积窗口,直至完成卷积核与输入特征图的卷积运算,得到输出特征图。
本发明的卷积计算方法所使用的铁电晶体管具有FeFET典型的存储特性:在写特性上,可以通过在栅上施加写电压改变FeFET的阈值电压,即不同存储状态;在读特性上,可以通过在栅和源漏施加读电压得到不同存储状态下的FeFET的源漏电流。本发明的卷积计算硬件设计所使用的FeFET可以是采用钙钛矿型铁电(PZT,BFO,SBT)、铁电聚合物(P(VDF-TrFE))等传统铁电材料或HfO2掺Zr(HZO)、HfO2掺Al(HfAlO)、HfO2掺Si、HfO2掺Y等HfO2掺杂型铁电材料的,可以是基于MFMIS、MFIS、MFS等结构的,具有上述典型特性的任意一种FeFET器件。
本发明的基于铁电晶体管FeFET的卷积计算硬件设计的有益效果如下:
本发明利用FeFET器件的三端和写入功耗低等特性,回避了将卷积计算转化成矩阵乘法所带来的数据调度和冗余数据存储,首次在硬件上直接实现了卷积计算,与传统方案相比硬件开销大大降低,为卷积神经网络的硬件实现提供了一个新的设计思路。
附图说明
图1为本发明基于铁电晶体管FeFET的卷积计算方法的流程示意图;
图2为本发明实施例中的铁电晶体管FeFET阵列的示意图;
具体实施方式
下面结合附图,通过具体实施例,进一步阐述本发明。
如图2所示,本实施例是基于HfO2掺Zr(HZO)的铁电晶体管FeFET实现的卷积计算硬件设计,包括一个由m*n个铁电晶体管FeFET组成的crossbar结构存储阵列,一个m位的移位寄存器和一个n位的移位寄存器;其中,FeFET存储阵列用于存储输入特征图和存内计算并输出卷积运算的结果,铁电晶体管FeFET排列成m行n列的阵列,每一行器件的栅端相连构成字线WL1~m,每一列器件的漏端相连构成位线BL1~n,每一列器件的源端相连构成源线SL1~n,将所有源线SL连在一起共同组成一个输出端Output;m位移位寄存器用于存储卷积核分解的列向量,同时给字线WL1~m输出电压,m位移位寄存器每一位的输出端分别连接于WL1~m;n位移位寄存器用于存储卷积核分解的行向量,同时给位线BL1~n输出电压,n位移位寄存器每一位的输出端分别连接于BL1~n。
本发明的基于铁电晶体管FeFET的卷积计算过程分为五个步骤。第一步,将输入特征图写入到crossbar存储阵列中。如图1所示,数据“0”对应存储器件的低阈值态,数据“1”对应存储器件的高阈值态,逐个对应地将输入特征图写入到存储阵列中。第二步,将卷积核分解成两个向量的乘积。一些特殊的矩阵可以分解成一个列向量和一个行向量的乘积,对于不可分解的矩阵,可以采用如下解决方法,如在训练时加约束条件将卷积核训练成可分解的矩阵,按损失函数最小进行近似分解,分解成一系列可分解矩阵的线性叠加等。第三步,将上一步中得到的两个向量分别存储于两个移位寄存器中,并作为电压输入,分别施加到卷积窗口对应的位线BL和字线WL上,其余位线BL和字线WL的电压置零,从输出端口Output读取输出电流值,即为本次计算所得结果。第四步,移动卷积窗口得到下一个计算结果,对应硬件上的操作是用移位寄存器将上一步中BL和/或WL的电压进行移位,以此来模拟卷积核在输入特征图上的移动。同样地,从输出端口Output读取输出电流得到本次计算结果。第五步,重复第四步,不断进行移位操作,直至完成卷积核与输入特征图的卷积运算,得到输出特征图。
综上所述,本发明的基于铁电晶体管FeFET的卷积计算硬件设计利用FeFET器件的三端和写入功耗低等特性,只需要一个FeFET存储阵列和两个移位寄存器即可实现卷积计算全过程,相比起传统将卷积计算转化成矩阵乘法的方案来说,不仅回避了转化过程的数据调度,还省去了存储冗余数据的寄存器的硬件开销,首次在硬件上直接实现了卷积计算,与传统方案相比硬件开销大大降低,为卷积神经网络的硬件实现提供了一个新的设计思路。
最后需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (8)
1.一种基于铁电晶体管FeFET的卷积计算方法,其特征在于,具体包括如下步骤:
1)构建一个铁电晶体管FeFET组成的存储阵列、一个m位的移位寄存器和一个n位的移位寄存器;其中,铁电晶体管FeFET排列成m行n列的存储阵列,每一行器件的栅端相连构成字线,每一列器件的漏端相连构成位线,每一列器件的源端相连构成源线,将所有源线连在一起共同组成一个输出端;m位移位寄存器每一位的输出端分别连接于相应的字线;n位移位寄存器每一位的输出端分别连接于相应的位线;
2)数据“0”对应存储器件的低阈值态,数据“1”对应存储器件的高阈值态,逐个对应地将输入特征图写入到存储阵列中;卷积核分解成两个向量的乘积,得到的两个向量分别存储于两个移位寄存器中,并作为电压输入,分别施加到卷积窗口对应的位线和字线上;
3) 除卷积窗口对应的位线和字线外,其余位线和字线的电压置零,从输出端口读取输出电流值,得到卷积计算的一个结果;不断移动卷积窗口,直至完成卷积核与输入特征图的卷积运算,得到输出特征图。
2.如权利要求1所述的基于铁电晶体管FeFET的卷积计算方法,其特征在于,所述卷积核分解成一个列向量和一个行向量的乘积矩阵。
3.如权利要求1所述的基于铁电晶体管FeFET的卷积计算方法,其特征在于,所述卷积核若不可直接分解,则在训练时加约束条件将卷积核训练成可分解的矩阵,或按损失函数最小进行近似分解,或分解成一系列可分解矩阵的线性叠加。
4.如权利要求1所述的基于铁电晶体管FeFET的卷积计算方法,其特征在于,采用移位寄存器对卷积窗口中位线和/或字线的电压进行移位。
5.如权利要求1所述的基于铁电晶体管FeFET的卷积计算方法,其特征在于,n位移位寄存器用于存储卷积核分解的行向量,同时给位线输出电压。
6.如权利要求1所述的基于铁电晶体管FeFET的卷积计算方法,其特征在于, m位移位寄存器用于存储卷积核分解的列向量,同时给字线输出电压。
7.如权利要求1所述的基于铁电晶体管FeFET的卷积计算方法,其特征在于,所述FeFET器件基于MFMIS、MFIS或MFS结构。
8.如权利要求1所述的基于铁电晶体管FeFET的卷积计算方法,其特征在于,所述FeFET器件采用钙钛矿型铁电、铁电聚合物或HfO2掺Zr、HfO2掺Al、HfO2掺Si、HfO2掺Y。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010660739.0A CN111898329B (zh) | 2020-07-10 | 2020-07-10 | 基于铁电晶体管FeFET的卷积计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010660739.0A CN111898329B (zh) | 2020-07-10 | 2020-07-10 | 基于铁电晶体管FeFET的卷积计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111898329A CN111898329A (zh) | 2020-11-06 |
CN111898329B true CN111898329B (zh) | 2022-04-26 |
Family
ID=73192401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010660739.0A Active CN111898329B (zh) | 2020-07-10 | 2020-07-10 | 基于铁电晶体管FeFET的卷积计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111898329B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114093397B (zh) * | 2021-11-22 | 2024-05-24 | 北京大学 | 一种抑制铁电晶体管FeFET写涨落的方法 |
CN114024546B (zh) * | 2022-01-10 | 2022-05-10 | 之江实验室 | 基于存算一体晶体管的布尔逻辑实现方法、单元及电路 |
CN115985380B (zh) * | 2023-03-17 | 2023-06-20 | 之江实验室 | 一种基于数字电路控制的FeFET阵列数据校验方法 |
CN116863936B (zh) * | 2023-09-04 | 2023-12-19 | 之江实验室 | 一种基于FeFET存算一体阵列的语音识别方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232440A (zh) * | 2019-06-11 | 2019-09-13 | 北京大学 | 基于铁电晶体管的脉冲神经元电路 |
CN110309908A (zh) * | 2019-06-11 | 2019-10-08 | 北京大学 | 基于铁电晶体管的FeFET-CMOS混合脉冲神经元 |
CN111291877A (zh) * | 2020-02-26 | 2020-06-16 | 北京大学 | 基于铁电晶体管FeFET的侧抑制神经元电路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9818848B2 (en) * | 2015-04-29 | 2017-11-14 | Yale University | Three-dimensional ferroelectric FET-based structures |
-
2020
- 2020-07-10 CN CN202010660739.0A patent/CN111898329B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232440A (zh) * | 2019-06-11 | 2019-09-13 | 北京大学 | 基于铁电晶体管的脉冲神经元电路 |
CN110309908A (zh) * | 2019-06-11 | 2019-10-08 | 北京大学 | 基于铁电晶体管的FeFET-CMOS混合脉冲神经元 |
CN111291877A (zh) * | 2020-02-26 | 2020-06-16 | 北京大学 | 基于铁电晶体管FeFET的侧抑制神经元电路 |
Also Published As
Publication number | Publication date |
---|---|
CN111898329A (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898329B (zh) | 基于铁电晶体管FeFET的卷积计算方法 | |
US10346347B2 (en) | Field-programmable crossbar array for reconfigurable computing | |
CN108734271B (zh) | 神经形态权重单元及其形成的方法以及人工神经网络 | |
WO2021027214A1 (zh) | 基于flash存算阵列的脉冲型卷积神经网络 | |
CN107679622B (zh) | 一种面向神经网络算法的模拟感知计算架构 | |
CN108475522A (zh) | 内存设备及基于多层rram交叉阵列的数据处理方法 | |
CN110729011B (zh) | 用于类神经网路的存储器内运算装置 | |
US11544540B2 (en) | Systems and methods for neural network training and deployment for hardware accelerators | |
US20200218967A1 (en) | Complex-Valued Neural Networks | |
Cai et al. | Training low bitwidth convolutional neural network on RRAM | |
US12009021B2 (en) | Device and method for performing matrix operation | |
Ambrogio et al. | Accelerating deep neural networks with analog memory devices | |
US11996137B2 (en) | Compute in memory (CIM) memory array | |
Chen | PUFFIN: an efficient DNN training accelerator for direct feedback alignment in FeFET | |
Truong et al. | Memristor circuits and systems for future computing and bio-inspired information processing | |
CN110597487B (zh) | 一种矩阵向量乘法电路及计算方法 | |
CN114093394B (zh) | 一种可转置存内计算电路及其实现方法 | |
Zhang et al. | Memristive circuit design of quantized convolutional auto-encoder | |
Yoon et al. | Design space exploration of ferroelectric FET based processing-in-memory DNN accelerator | |
KR20230005309A (ko) | 아날로그 인공지능 네트워크 추론을 위한 행별 컨볼루션 신경망 매핑을 위한 효율적 타일 매핑 | |
Kim et al. | Markov chain Hebbian learning algorithm with ternary synaptic units | |
CN116523011B (zh) | 基于忆阻的二值神经网络层电路及二值神经网络训练方法 | |
Fu et al. | Cycle-to-cycle variation enabled energy efficient privacy preserving technology in ann | |
Le et al. | CIMulator: a comprehensive simulation platform for computing-in-memory circuit macros with low bit-width and real memory materials | |
US20230027768A1 (en) | Neural network computing device and computing method thereof |
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 |