基于铁电晶体管FeFET的卷积计算方法

文档序号:988108 发布日期:2020-11-06 浏览:17次 >En<

阅读说明:本技术 基于铁电晶体管FeFET的卷积计算方法 (Convolution calculation method based on ferroelectric transistor FeFET ) 是由 黄如 刘姝涵 黄芊芊 于 2020-07-10 设计创作,主要内容包括:本发明提出了一种基于铁电晶体管FeFET的卷积计算方法,属于卷积神经网络中卷积计算技术领域。该方法首先构建一个由m*n个铁电晶体管FeFET组成的存储阵列,一个m位的移位寄存器和一个n位的移位寄存器;其中,铁电晶体管FeFET排列成m行n列的存储阵列,用于存储输入特征图和存内计算并输出卷积运算的结果;m位移位寄存器用于存储卷积核分解的列向量,同时给字线输出电压;n位移位寄存器用于存储卷积核分解的行向量,同时给位线输出电压。本发明与传统的将卷积计算转化成矩阵乘法的实现方式相比,回避了复杂的数据调度和冗余数据存储,硬件开销大大降低,为卷积神经网络的硬件实现提供了一个新的设计思路。(The invention provides a convolution calculation method based on a ferroelectric transistor FeFET, and belongs to the technical field of convolution calculation in a convolution neural network. Firstly, constructing a storage array consisting of m x n ferroelectric transistors FeFET, an m-bit shift register and an n-bit shift register; the ferroelectric transistors FeFET are arranged into a storage array with m rows and n columns and used for storing an input characteristic diagram and memory calculation and outputting a convolution operation result; the m-bit shift register is used for storing the column vector decomposed by the convolution kernel and outputting voltage to the word line; the n-bit shift register is used for storing the row vector decomposed by the convolution kernel and outputting voltage to the bit line. Compared with the traditional implementation mode of converting convolution calculation into matrix multiplication, the method avoids complex data scheduling and redundant data storage, greatly reduces hardware cost, and provides a new design idea for hardware implementation of the convolution neural network.)

基于铁电晶体管FeFET的卷积计算方法

技术领域

本发明涉及卷积神经网络中卷积计算的物理实现方式,具体涉及一种基于铁电晶体管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存储阵列和两个移位寄存器即可实现卷积计算全过程,相比起传统将卷积计算转化成矩阵乘法的方案来说,不仅回避了转化过程的数据调度,还省去了存储冗余数据的寄存器的硬件开销,首次在硬件上直接实现了卷积计算,与传统方案相比硬件开销大大降低,为卷积神经网络的硬件实现提供了一个新的设计思路。

最后需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于多层次并行策略的集成电路电磁响应计算方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类