CN113496274A - 基于存储器内运算电路架构的量化方法及其系统 - Google Patents
基于存储器内运算电路架构的量化方法及其系统 Download PDFInfo
- Publication number
- CN113496274A CN113496274A CN202010199479.1A CN202010199479A CN113496274A CN 113496274 A CN113496274 A CN 113496274A CN 202010199479 A CN202010199479 A CN 202010199479A CN 113496274 A CN113496274 A CN 113496274A
- Authority
- CN
- China
- Prior art keywords
- quantization
- function
- convolution
- output
- denoted
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000011002 quantification Methods 0.000 title claims description 12
- 230000015654 memory Effects 0.000 title abstract description 29
- 238000013139 quantization Methods 0.000 claims abstract description 241
- 230000006870 function Effects 0.000 claims abstract description 186
- 230000005284 excitation Effects 0.000 claims abstract description 155
- 238000013507 mapping Methods 0.000 claims description 13
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 12
- 238000009825 accumulation Methods 0.000 claims description 10
- 230000003321 amplification Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims 1
- 238000009826 distribution Methods 0.000 abstract description 24
- 238000013528 artificial neural network Methods 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 17
- 239000010410 layer Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008450 motivation Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
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/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
- G06N3/065—Analogue means
-
- 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/08—Learning methods
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种基于存储器内运算电路架构的量化方法及其系统,其中参数分群步骤依据分群数值将量化权重分成分群量化权重,并依据分群数值将输入激励函数分成分群激励函数。乘积累加步骤将分群量化权重及分群激励函数执行乘积累加运算而产生卷积输出。卷积量化步骤依据卷积目标位元将卷积输出量化成量化卷积输出。卷积合并步骤依据分群数值将量化卷积输出执行部分和运算而产生输出激励函数。因此,通过分群配对及考虑硬件限制,并通过模拟数字转换器的分类分布及具体量化法搭配深度神经网络的稳健性质,可学习到较佳的权重参数。
Description
技术领域
本发明涉及一种量化方法及其系统,特别涉及一种基于存储器内运算电路架构的量化方法及其系统。
背景技术
在现有技术中,量化方法都是针对神经网络的输入激励函数及权重进行量化处理,并且通过数字电路实现低位元神经网络。近年来,存储器内运算被提出,并在能源效率上比数字电路更好。然而,现有量化方法应用于存储器内运算时,经神经网络训练所得到的权重参数无法有效提升精准度。由上述可知,目前市场上缺乏一种能有效提升精准度并基于存储器内运算电路架构的量化方法及其系统,故相关业者均在寻求其解决之道。
发明内容
因此,本发明的目的在于提供一种基于存储器内运算电路架构的量化方法及其系统,其针对神经网络的输入激励函数及权重进行分拆,以模拟存储器内运算电路的字元线及位元线的特性,并且在经过分群卷积后对输出结果进行量化处理,以模拟模拟数字转换器的限制,最后在以部分和完成典型卷积运算。上述量化结合神经网络的权重更新,可提升精准度。
依据本发明的方法态样的一实施方式提供一种基于存储器内运算电路架构的量化方法,其包含量化参数提供步骤、参数分群步骤、乘积累加步骤、卷积量化步骤以及卷积合并步骤。其中量化参数提供步骤是提供量化参数,量化参数包含一输入激励函数、一量化权重及一分群数值。参数分群步骤是依据分群数值将量化权重分成多个分群量化权重,并依据分群数值将输入激励函数分成多个分群激励函数。乘积累加步骤是将任一分群量化权重及任一分群激励函数执行一乘积累加运算而产生一卷积输出。卷积量化步骤是依据一卷积目标位元将卷积输出量化成一量化卷积输出。卷积合并步骤是依据分群数值将量化卷积输出执行一部分和运算而产生一输出激励函数。
因此,本发明的量化方法可将分群量化权重预先存储至存储器单元内,并且通过特定的存储器内运算电路架构达到存储器内的卷积运算功能,可避免传统架构里阶层存储器间大量的数据搬运的问题,进而能达到降低系统功耗、降低系统延迟以及提高能源效率。此外,本发明将量化权重与输入激励函数分群配对,并考虑有限位元线的存储器单元、字元线输入及卷积输出的离散化,通过深度神经网络的稳健性质,学习到适合非易失性存储器内运算的硬件限制的权重参数。
前述实施方式的其他实施例如下:前述输入激励函数可具有一输入通道数,分群数值经由输入通道数与一控制参数运算求得,分群数值等于输入通道数除以控制参数。分群数值为正整数,并大于1且小于等于输入通道数。
前述实施方式的其他实施例如下:前述基于存储器内运算电路架构的量化方法可还包含一迭代执行步骤,此迭代执行步骤是依据一迭代次数重复执行乘积累加步骤、卷积量化步骤及卷积合并步骤,迭代次数等于分群数值。
前述实施方式的其他实施例如下:前述量化参数提供步骤可包含一权重量化步骤,此权重量化步骤是依据一权重目标位元将一权重量化成一量化权重。权重量化步骤包含权重目标位元、权重、映射后量化权重、量化方程式及量化权重,权重目标位元表示为bW,权重表示为Wl,量化方程式表示为quan,量化权重表示为Wl q且符合下式:
前述实施方式的其他实施例如下:前述基于存储器内运算电路架构的量化方法可还包含一激励量化步骤,此激励量化步骤是依据一激励目标位元将输出激励函数量化成一量化输出激励函数。激励量化步骤包含输出激励函数、剪辑函数、映射后激励函数、激励目标位元、量化方程式及量化输出激励函数,输出激励函数表示为Al,剪辑函数表示为Clip,映射后激励函数表示为激励目标位元表示为bA,量化方程式表示为quan,量化输出激励函数表示为且符合下式:
前述实施方式的其他实施例如下:前述卷积量化步骤可包含执行一直通估计量化法,直通估计量化法包含卷积输出、卷积目标位元、映射后卷积输出、量化方程式及量化卷积输出。卷积输出表示为Al,k,卷积目标位元表示为bAD,映射后卷积输出表示为量化方程式表示为quan,量化卷积输出表示为直通估计量化法符合下式:
前述实施方式的其他实施例如下:前述卷积量化步骤可包含执行一具体量化法,此具体量化法包含卷积输出、代表位阶、放大因子、偏差因子、电流数字值、激励函数信号、乙状函数、标准差、具体函数、温度常数、分类几率、随机样本、分群数值、激励函数量化信号及量化卷积输出。卷积输出表示为Al,k,代表位阶表示为RAD,放大因子表示为α,偏差因子表示为β,电流数字值表示为ri,激励函数信号表示为a,乙状函数表示为sigmoid,标准差表示为σi,具体函数表示为Concrete,温度常数表示为λ,分类几率表示为πi,随机样本表示为si,分群数值表示为K,激励函数量化信号表示为aq,量化卷积输出表示为具体量化法符合下式:
si=Concrete(πi,λ);及
前述实施方式的其他实施例如下:前述具体函数包含噪声、温度常数、分类几率、随机样本、甘贝尔函数及归一化指数函数,噪声表示为ni,甘贝尔函数表示为Gumbel,归一化指数函数表示为softmax,具体函数符合下式:
ni=Gumbel(0,1);及
依据本发明的结构态样的一实施方式提供一种基于存储器内运算电路架构的量化系统,其包含参数分群模块、乘积累加器、卷积量化器及加法器。其中参数分群模块依据一分群数值将一量化权重分成多个分群量化权重,并依据分群数值将一输入激励函数分成多个分群激励函数。乘积累加器信号连接参数分群模块,乘积累加器将任一分群量化权重及任一分群激励函数执行一乘积累加运算而产生一卷积输出。卷积量化器信号连接乘积累加器,卷积量化器依据一卷积目标位元将卷积输出量化成一量化卷积输出。加法器信号连接卷积量化器,加法器依据分群数值将量化卷积输出执行一部分和运算而产生一输出激励函数。
因此,本发明的基于存储器内运算电路架构的量化系统能考虑到硬件规格的位元数限制,并且通过模拟数字转换器的分类分布及具体量化法,训练一个不但能适应量化噪声,而且对存储器内运算友好的量化深度神经网络。
前述实施方式的其他实施例如下:前述输入激励函数可具有一输入通道数,分群数值经由输入通道数与控制参数运算求得,分群数值等于输入通道数除以控制参数。分群数值为正整数,且分群数值大于1且小于等于输入通道数。
前述实施方式的其他实施例如下:前述乘积累加器、卷积量化器及加法器可依据一迭代次数被重复执行,迭代次数等于分群数值。
前述实施方式的其他实施例如下:前述基于存储器内运算电路架构的量化系统可还包含一权重量化器,此权重量化器信号连接参数分群模块,权重量化器依据一权重目标位元将一权重量化成一量化权重,权重量化器包含权重目标位元、权重、映射后量化权重、量化方程式及量化权重。权重目标位元表示为bW,权重表示为Wl,量化方程式表示为quan,量化权重表示为Wl q,权重量化器表示为QW且符合下式:
前述实施方式的其他实施例如下:前述基于存储器内运算电路架构的量化系统可还包含一激励函数量化器,此激励函数量化器信号连接加法器,激励函数量化器依据一激励目标位元将输出激励函数量化成一量化输出激励函数,激励函数量化器包含输出激励函数、剪辑函数、映射后激励函数、激励目标位元、量化方程式及量化输出激励函数。输出激励函数表示为Al,剪辑函数表示为Clip,映射后激励函数表示为激励目标位元表示为bA,量化方程式表示为quan,量化输出激励函数表示为激励函数量化器表示为QA且符合下式:
前述实施方式的其他实施例如下:前述卷积量化器可执行一直通估计量化法,此直通估计量化法包含卷积输出、卷积目标位元、映射后卷积输出、量化方程式及量化卷积输出。卷积输出表示为Al,k,卷积目标位元表示为bAD,映射后卷积输出表示为量化方程式表示为quan,量化卷积输出表示为直通估计量化法符合下式:
前述实施方式的其他实施例如下:前述卷积量化器可执行一具体量化法,此具体量化法包含卷积输出、代表位阶、放大因子、偏差因子、电流数字值、激励函数信号、乙状函数、标准差、具体函数、温度常数、分类几率、随机样本、分群数值、激励函数量化信号及量化卷积输出。卷积输出表示为Al,k,代表位阶表示为RAD,放大因子表示为α,偏差因子表示为β,电流数字值表示为ri,激励函数信号表示为a,乙状函数表示为sigmoid,标准差表示为σi,具体函数表示为Concrete,温度常数表示为λ,分类几率表示为πi,随机样本表示为si,分群数值表示为K,激励函数量化信号表示为aq,量化卷积输出表示为具体量化法符合下式:
si=Concrete(πi,λ);及
前述实施方式的其他实施例如下:前述具体函数可包含噪声、温度常数、分类几率、随机样本、甘贝尔函数及归一化指数函数,甘贝尔函数表示为Gumbel,噪声表示为ni,归一化指数函数表示为softmax,具体函数符合下式:
ni=Gumbel(0,1);及
附图说明
图1是示出本发明第一实施例的基于存储器内运算电路架构的量化系统的示意图;
图2是示出本发明第二实施例的存储器内运算电路架构的示意图;
图3是示出图1的参数分群模块的权重张量对应到存储器内运算电路架构的示意图;
图4是示出图1的乘积累加器的卷积输出分布,其对应单一条位元线(Bit Line;BL)的累积电流分布;
图5是示出图2的存储器内运算电路架构的模拟数字转换器的分类分布的示意图;
图6是示出图5的各电流数字值的分类几率的示意图;
图7是示出本发明第三实施例的基于存储器内运算电路架构的量化方法的流程示意图;
图8是示出本发明的具体量化法与直通估计量化法基于模拟数字转换器位元数的正确率的比较图;以及
图9是示出本发明的具体量化法与直通估计量化法基于控制参数的正确率的比较图。
其中,附图标记说明如下:
100:量化系统
110:参数分群模块
120:乘积累加器
130:加法器
200:存储器内运算电路架构
210:存储器单元
220:数字转换器
300:量化方法
S02:量化参数提供步骤
S022:权重量化步骤
S04:参数分群步骤
S06:乘积累加步骤
S08:卷积量化步骤
S10:卷积合并步骤
S12:迭代执行步骤
S14:激励量化步骤
a0,a1,am:激励函数信号
Al:输出激励函数
Al,k:卷积输出
bA:激励目标位元
bAD:卷积目标位元
bW:权重目标位元
Bit:位元数
BL[0],BL[n]:位元线
Cin:输入通道数
FP32:32位元符点数
k,l:变数
NG:负权重群
PG:正权重群
p:分布
P:累积几率密度函数
QA:激励函数量化器
QW:权重量化器
QAD:卷积量化器
ri,r0,r1,r2,r3:电流数字值
SL[0],SL[n]:来源线
w0,0,w1,0,wm,0,w0,n,w1,n,wm,n:权重值
Wl:权重
Wl q:量化权重
WK:权重张量
WL[0],WL[1],WL[8],WL[m]:字元线
x:输入信号
τ:控制参数
σi,σ0,σ1,σ2,σ3:标准差
具体实施方式
以下将参照附图说明本发明的多个实施例。为明确说明起见,许多实务上的细节将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本发明。也就是说,在本发明部分实施例中,这些实务上的细节是非必要的。此外,为简化附图起见,一些现有惯用的结构与元件在附图中将以简单示意的方式示出;并且重复的元件将可能使用相同的编号表示。
此外,本文中当某一元件(或单元或模块等)“连接”于另一元件,可指所述元件是直接连接于另一元件,亦可指某一元件是间接连接于另一元件,意即,有其他元件介于所述元件及另一元件之间。而当有明示某一元件是“直接连接”于另一元件时,才表示没有其他元件介于所述元件及另一元件之间。而第一、第二、第三等用语只是用来描述不同元件,而对元件本身并无限制,因此,第一元件亦可改称为第二元件。且本文中的元件/单元/电路的组合非此领域中的一般周知、常规或现有的组合,不能以元件/单元/电路本身是否为现有,来判定其组合关系是否容易被技术领域中的通常知识者轻易完成。
本发明涵盖对深度神经网络的权重及激励函数量化。对于神经网络的权重量化的动机在于可以减少模型的大小以及在训练和推论过程进行加速运算,就硬件而言,可以使用更少的存储器与运算资源执行高精确的人工智能(Artificial Intelligence;AI)应用。而对于激励函数量化的动机在于能将二元运算代替内积(Inner Product)运算与减少层间数据,就硬件而言,除了可以减少暂存存储器,还能降低系统内部传输所需的频宽及延迟。
请一并参阅图1至图6,其中图1是示出本发明第一实施例的基于存储器内运算电路架构200的量化系统100的示意图;图2是示出本发明第二实施例的存储器内运算电路架构200的示意图;图3是示出图1的参数分群模块110的权重张量WK对应到存储器内运算电路架构200的示意图;图4是示出图1的乘积累加器120的卷积输出Al,k分布,其对应单一条位元线(即图2的BL[0]~BL[n]的其中一条)的累积电流分布;图5是示出图2的存储器内运算电路架构200的模拟数字转换器220的分类分布的示意图;以及图6是示出图5的各电流数字值ri的分类几率的示意图。如图所示,基于存储器内运算电路架构200的量化系统100包含权重量化器QW、参数分群模块110、乘积累加器120、卷积量化器QAD、加法器130以及激励函数量化器QA。
权重量化器QW依据一权重目标位元bW将一权重Wl量化成一量化权重Wl q,权重量化器QW包含权重目标位元bW、权重Wl、映射后量化权重量化方程式quan及量化权重Wl q,且权重量化器QW符合下列式子(1)与(2):
上述权重Wl为32位元符点数(FP32),量化权重Wl q为权重目标位元bW的数字值。
参数分群模块110信号连接权重量化器QW并接收量化权重Wl q。参数分群模块110依据分群数值K将量化权重Wl q分成多个分群量化权重并依据分群数值K将一输入激励函数分成多个分群激励函数详细地说,输入激励函数具有输入通道数Cin,分群数值K经由输入通道数Cin与控制参数τ运算求得,分群数值K等于输入通道数Cin除以控制参数τ。分群数值K为正整数,并大于1且小于等于输入通道数Cin。具体而言,分群数值K可等于输入通道数Cin,亦即控制参数τ等于1,但本发明不以此为限。
卷积量化器QAD信号连接乘积累加器120,卷积量化器QAD依据卷积目标位元bAD将卷积输出Al,k量化成量化卷积输出详细地说,卷积量化器QAD可执行一直通估计量化法(Straight-Through-Estimator-based quantization;STE-based quantization)或者一具体量化法(Concrete-based quantization)。其中直通估计量化法包含卷积输出Al,k、卷积目标位元bAD、映射后卷积输出量化方程式quan及量化卷积输出直通估计量化法符合下列式子(3)~(5):
上述直通估计量化法的主要概念是在量化过程中考虑到存储器内运算电路架构200的模拟数字转换器220(Analog-to-Digital Convertor;ADC)有限的位元数,其中映射后卷积输出会基于模拟数字转换器220的位元数将卷积输出Al,k截止于特定值,此乃因非易失性存储器内运算(Nonvolatile In-Memory Computing;nvIMC)在模拟数字转换器220所能承受的电流(如图2的是有限的,本发明以模拟数字转换器220位元数的极值作为能承受的电流极限,借此将卷积输出Al,k限制在特定范围内去模拟量化行为。然后,通过线性量化得到量化卷积输出
具体量化法则包含卷积输出Al,k、代表位阶RAD、放大因子α、偏差因子β、电流数字值ri、激励函数信号a、乙状函数sigmoid、标准差σi、具体函数Concrete、温度常数λ、分类几率πi、随机样本si、分群数值K、激励函数量化信号aq及量化卷积输出具体量化法符合下列式子(6)~(9):
si=Concrete(πi,λ) (8);
上述代表位阶RAD等于初始的放大因子其中偏差因子β=0,标准差σi=α/3。具体函数Concrete包含噪声ni、温度常数λ、分类几率πi、随机样本si、甘贝尔函数Gumbel及归一化指数函数softmax,具体函数Concrete符合下列式子(10)~(11):
ni=Gumbel(O,T) (10);
上述具体量化法通过放大因子α与偏差因子β能建构一个可学习的代表位阶RAD,并针对噪声分布p(η)与分类分布进行几率模型建立,其中且对于噪声分布p(η),其噪声模型假设为平均值为零的逻辑分布(Logistic Distribution;L)且标准差以σi表示;也就是说p(η)=L(0,σi),而分类分布如第5图所示。以任意输入信号x举例,当输入信号x落入噪声模型时,能在每一个分类分布计算出对应的尾端几率,如第5图的阴影区域。然后,将这些基于输入信号x的尾端几率作为输入信号x对于每一个电流数字值ri的分类几率,如图6所示。以深度神经网络为例,每一个输入卷积量化器QAD的激励函数信号a(a∈Al,k)的分类几率符合下列式子(12)~(13):
其中P代表累积几率密度函数(Cumulative Distribution Function;CDF)。由于逻辑分布的CDF为乙状函数sigmoid,因此通过逻辑分布的假设,能受益于两个优势:第一个优点是逻辑分布与常态分布很像,也满足位元线电流分布;第二个优点是乙状函数sigmoid可以在训练时的向后传播阶段进行偏微分运算,不用再产生虚拟梯度,进一步解决梯度不匹配的问题。由上述可知,具体量化法的主要概念是针对模拟数字转换器220的噪声分布建立几率模型,并对得到的分类几率πi标准化。通过分类几率πi的建立,不但可以模拟出模拟数字转换器220的量化噪声,还能够防止深度神经网络过度拟合。
激励函数量化器QA信号连接加法器130,激励函数量化器QA依据激励目标位元bA将输出激励函数Al量化成一量化输出激励函数激励函数量化器QA包含输出激励函数Al、剪辑函数Clip、映射后激励函数激励目标位元bA、量化方程式quan及量化输出激励函数激励函数量化器QA符合下列式子(14)与(15):
因此,本发明的基于存储器内运算电路架构200的量化系统100能考虑到硬件规格的位元数限制,并且通过模拟数字转换器220的分类分布及具体量化法,训练一个不但能适应量化噪声,而且对存储器内运算友好的量化深度神经网络。
存储器内运算电路架构200包含存储器单元210与模拟数字转换器220,其中存储器单元210信号连接模拟数字转换器220且包含多个存储器细胞元、多条字元线(如图2的WL[0]~WL[m]及图3的WL[0]~WL[8])、多条位元线(如图2的BL[0]~BL[n]及图3的正权重群(Positive-Weight Group;PG)与负权重群(Negative-Weight Group;NG))及多条来源线(如图2的SL[0]~SL[n])。各存储器细胞元连接一条字元线、一条位元线及一条来源线。各存储器细胞元存储权重值(如图2的w0,0~wm,n),各字元线传送激励函数信号a(如图2的a0~am),各位元线传送卷积输出Al,k(如图2的电流各来源线接地。具体而言,存储器单元210可为电阻式随机存取存储器(Resistive Random Access Memory;ReRAM),但本发明不以此为限。
举图3为例,假设输入特征图的大小为H×W×Cin,权重张量WK的大小为3×3×Cin×Cout(图3仅显示部分权重张量WK),进行卷积后输出大小为H×W×Cout的输出特征图。其中H、W分别代表输入特征图的长度与宽度,Cin代表输入通道数,Cout代表输出通道数,且字元线数量等于9(即WL[0]~WL[8])。非易失性存储器内运算(nvIMC)的卷积运算过程为:将一个大小3×3×1的部分输入特征图对应到字元线上输入,并与多条位元线上的分群量化权重(3×3个权重值)进行运算,位元线的条数为Cout。经过一个循环时间后,nvIMC会输出Cout个矩阵向量乘法运算(Matrix-Vector Multiplication;MVM)输出值,然后通过等待Cin个循环时间后完成Cin×Cout个MVM输出值,最后将这些MVM输出值进行合并而获得1×1×Cout的输出特征图,通过更换Wl的部分输入特征图,最后完成一层的卷积运算并得到W×H×Cout大小的输出特征图。因此,本发明的nvIMC可将分群量化权重预先存储至存储器单元210内,并且通过特定的存储器内运算电路架构200达到存储器内的卷积运算功能,可避免传统架构里阶层存储器间大量的数据搬运的问题,进而能达到降低系统功耗、降低系统延迟以及提高能源效率。此外,本发明通过ReRAM的卷积将量化权重Wl q与输入激励函数分群配对,并考虑有限位元线的存储器单元210、字元线输入及卷积输出Al,k的离散化,通过深度神经网络的稳健性质,学习到适合nvIMC硬件限制的权重参数。
请一并参阅图1至图7,其中图7是示出本发明第三实施例的基于存储器内运算电路架构200的量化方法300的流程示意图。基于存储器内运算电路架构200的量化方法300包含量化参数提供步骤S02、参数分群步骤S04、乘积累加步骤S06、卷积量化步骤S08、卷积合并步骤S10、迭代执行步骤S12以及激励量化步骤S14。
量化参数提供步骤S02是提供量化参数,量化参数包含输入激励函数量化权重Wl q及分群数值K。详细地说,输入激励函数具有输入通道数Cin,分群数值K经由输入通道数Cin与控制参数τ运算求得,分群数值K等于输入通道数Cin除以控制参数τ。分群数值K为正整数,并大于1且小于等于输入通道数Cin。再者,量化参数提供步骤S02包含权重量化步骤S022,权重量化步骤S022是依据权重目标位元bW将权重Wl量化成一量化权重Wl q,权重量化步骤S022包含权重目标位元bW、权重Wl、映射后量化权重量化方程式quan及量化权重Wl q,量化权重Wl q符合前述式子(1)与(2)。
卷积量化步骤S08是依据一卷积目标位元bAD将卷积输出Al,k量化成一量化卷积输出详细地说,卷积量化步骤S08包含执行一直通估计量化法或者一具体量化法,其中直通估计量化法包含卷积输出Al,k、卷积目标位元bAD、映射后卷积输出量化方程式quan及量化卷积输出直通估计量化法符合前述式子(3)~(5)。至于具体量化法则包含卷积输出Al,k、代表位阶RAD、放大因子α、偏差因子β、电流数字值ri、激励函数信号a、乙状函数sigmoid、标准差σi、具体函数Concrete、温度常数λ、分类几率πi、随机样本si、分群数值K、激励函数量化信号aq及量化卷积输出具体量化法符合前述式子(6)~(9)。此外,具体函数Concrete包含噪声ni、温度常数λ、分类几率πi、随机样本si、甘贝尔函数Gumbel及归一化指数函数softmax,具体函数Concrete符合前述式子(10)~(11)。
迭代执行步骤S12是依据迭代次数重复执行乘积累加步骤S06、卷积量化步骤S08及卷积合并步骤S10,迭代次数等于分群数值K。
激励量化步骤S14是依据一激励目标位元bA将输出激励函数Al量化成一量化输出激励函数激励量化步骤S14包含输出激励函数Al、剪辑函数Clip、映射后激励函数激励目标位元bA、量化方程式quan及量化输出激励函数量化输出激励函数符合前述式子(14)与(15)。
上述量化方法300可通过表一加以说明,表一显展本发明的量化方法进行训练神经网络,其将神经网络的输入激励函数权重Wl及MVM输出值(即卷积输出Al,k)分别量化至bA、bW与bAD位元,并考虑了存储器内运算有限数量的字元数,且引进数值τ作为部分和的控制参数。其中k与l均为变数。
表一
表一第1行至第12行代表一个L深度神经网络推论部分的量化过程,而第13行与第14行分别代表神经网络的反向传播与权重更新法则,其中SGD代表准确率梯度下降法(Stochastic Gradient Decent),ADAM代表适应性矩估计(Adaptive MomentEstimation),上述反向传播与权重更新法则均为现有技术,其细节不再赘述。
表一第1行与第12行代表从第一层(l=1)开始执行至第L层,每一层会执行第2行至第11行的运算。
表一第3行是根据控制参数τ与量化权重Wl q及输入激励函数的输入通道数Cin进行运算,获得当前层的分群卷积的分群数值K。在深度学习中,量化权重Wl q与输入激励函数在训练阶段都是一个四维的张量(tensor),其中量化权重Wl q的四维分别是“卷积核长度、卷积核宽度、输入通道数Cin、输出通道数Cout”;输入激励函数的四维分别是“批次大小、输入特征图长度H、输入特征图宽度W、输入通道数Cin”。
表一第4行至第9行是说明如何通过迭代运算进行分群卷积,此部分是模拟存储器内运算电路架构200的有限字元线数量与模拟数字转换器220的转换。
表一第4行是根据第3行的分群数值K,将量化权重Wl q及输入激励函数进行分拆运算,分拆后的张量将会变成五维的张量;换言之,量化权重Wl q的维度将会从原先的“卷积核长度、卷积核宽度、输入通道数Cin、输出通道数Cout”经由对输入通道数Cin进行切割而变更为“卷积核长度、卷积核宽度、控制参数τ、输出通道数Cout、分群数值K”;而输入激励函数的维度则会从原先的“批次大小、输入特征图长度H、输入特征图宽度W、输入通道数Cin”分切成“批次大小、输入特征图长度H、输入特征图宽度W、控制参数τ、分群数值K”。因此从第五维来看,能得到K组切割后的权重与张量;也就是说,能以(卷积核长度×卷积核宽度×τ)决定开启字元线(Wl)的数量,亦即由控制参数τ与卷积核大小决定。
表一第5行与第9行是执行迭代运算,其代表从k=1开始执行至k=K,每一次会执行第6行至第8行的运算。
表一第6行是将分群量化权重与分群激励函数进行卷积运算。举第一组分群(k=1)的分群量化权重与分群激励函数为例,其中分群量化权重与分群激励函数的张量维度分别为“卷积核长度、卷积核宽度、控制参数τ、输出通道数Cout”与“批次大小、输入特征图长度H、输入特征图宽度W、控制参数τ”,将两者进行卷积运算后可产生并输出浮点数值的卷积输出Al,k(即MVM输出值)。
表一第10行是对累加完成的部分和(即输出激励函数Al)进行激励函数的线性量化,运算后获得bA位元的量化输出激励函数第11行是进行深度神经网络的其他运算(如池化),此为现有技术,其细节不再赘述。执行完第12行代表经过L层神经网络,且结束网络的正向传递(Forward Propagation)。
表二显示在各式数据集上不同控制参数τ的测试错误率,其通过控制参数τ模拟字元线的开启数量。字元线的开启数量决定了位元线上的累加电流大小与极值,不同字元线的开启数量对于测试错误率会造不同程度的影响。本实施例的控制参数τ={1,2,4},以核大小为3×3的卷积层来说,也就是字元线的L开启数量相当于{9,18,36}条,可以从实验结果得到一个论证,由于模拟数字转换器220的存在,过多的字元线的开启数量会导致错误率的上升。在bW-bA-bAD为2-2-4及CIFAR-10数据集的测试条件下,基于ReRAM卷积(τ=1)相较于不经ReRAM卷积(τ=V)的错误率能降低0.48%。在MniST数据集也能有0.5%的错误率下降。
表二
b<sub>W</sub> | b<sub>A</sub> | b<sub>AD</sub> | τ | MNIST(%) | CIFAR-10(%) |
2 | 2 | 4 | V | 0.75 | 18.43 |
2 | 2 | 4 | 4 | 0.76 | 19.03 |
2 | 2 | 4 | 2 | 0.75 | 18.02 |
2 | 2 | 4 | 1 | 0.70 | 17.95 |
图8是示出本发明的具体量化法与直通估计量化法基于模拟数字转换器位元数(Bit)的正确率的比较图,其测试条件包含使用图像分类数据集CIFAR-10、权重目标位元bW为2位元以及激励目标位元bA为2位元。在不同的卷积目标位元bAD时,基于具体分布的卷积量化器QAD在每一个位元都相较于基于直通估计量化法的卷积量化器QAD更好的表现,在3位元至8位元有着平均0.88%的优化,特别是在的卷积目标位元bAD为2位元时,基于具体分布的卷积量化器QAD能够有9.52%的正确率提升。
图9是示出本发明的具体量化法与直通估计量化法基于控制参数τ的正确率的比较图,其测试条件包含使用图像分类数据集CIFAR-10、权重目标位元bW为2位元、激励目标位元bA为2位元以及卷积目标位元bAD为2位元。在不同的控制参数τ时,基于具体分布的卷积量化器QAD在每一个数值都相较于基于直通估计量化法的卷积量化器QAD有平均2.92%的进步。
由上述实施方式可知,本发明具有下列优点:其一,基于存储器内运算电路架构的量化系统能考虑到硬件规格的位元数限制,并且通过模拟数字转换器的分类分布及具体量化法,训练一个不但能适应量化噪声,而且对存储器内运算友好的量化深度神经网络。其二,基于存储器内运算电路架构的量化方法可将分群量化权重预先存储至存储器单元内,并且通过特定的存储器内运算电路架构达到存储存储器内的卷积运算功能,可避免传统架构里阶层存储器间大量的数据搬运的问题,进而能达到降低系统功耗、降低系统延迟以及提高能源效率。其三,本发明将量化权重与输入激励函数分群配对,并考虑有限位元线的存储器单元、字元线输入及卷积输出的离散化,通过深度神经网络的稳健性质,学习到适合非易失性存储器内运算的硬件限制的权重参数。
虽然本发明已以实施方式公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作各种的变动与润饰,因此本发明的保护范围当视后附的权利要求所界定者为准。
Claims (16)
1.一种基于存储器内运算电路架构的量化方法,其特征在于,包含以下步骤:
一量化参数提供步骤,是提供一量化参数,该量化参数包含一输入激励函数、一量化权重及一分群数值;
一参数分群步骤,是依据该分群数值将该量化权重分成多个分群量化权重,并依据该分群数值将该输入激励函数分成多个分群激励函数;
一乘积累加步骤,是将任一该分群量化权重及任一该分群激励函数执行一乘积累加运算而产生一卷积输出;
一卷积量化步骤,是依据一卷积目标位元将该卷积输出量化成一量化卷积输出;以及
一卷积合并步骤,是依据该分群数值将该量化卷积输出执行一部分和运算而产生一输出激励函数。
2.如权利要求1所述的基于存储器内运算电路架构的量化方法,其特征在于,该输入激励函数具有一输入通道数,该分群数值经由该输入通道数与一控制参数运算求得,该分群数值等于该输入通道数除以该控制参数,该分群数值为正整数,并大于1且小于等于该输入通道数。
3.如权利要求2所述的基于存储器内运算电路架构的量化方法,其特征在于,还包含:
一迭代执行步骤,是依据一迭代次数重复执行该乘积累加步骤、该卷积量化步骤及该卷积合并步骤,该迭代次数等于该分群数值。
7.如权利要求1所述的基于存储器内运算电路架构的量化方法,其特征在于,该卷积量化步骤包含:
执行一具体量化法,该具体量化法包含该卷积输出、一代表位阶、一放大因子、一偏差因子、一电流数字值、一激励函数信号、一乙状函数、一标准差、一具体函数、一温度常数、一分类几率、一随机样本、该分群数值、一激励函数量化信号及该量化卷积输出,该卷积输出表示为Al,k,该代表位阶表示为RAD,该放大因子表示为α,该偏差因子表示为β,该电流数字值表示为ri,该激励函数信号表示为a,该乙状函数表示为sigmoid,该标准差表示为σi,该具体函数表示为Concrete,该温度常数表示为λ,该分类几率表示为πi,该随机样本表示为si,该分群数值表示为K,该激励函数量化信号表示为aq,该量化卷积输出表示为该具体量化法符合下式:
si=Concrete(πi,λ);及
9.一种基于存储器内运算电路架构的量化系统,其特征在于,包含:
一参数分群模块,依据一分群数值将一量化权重分成多个分群量化权重,并依据该分群数值将一输入激励函数分成多个分群激励函数;
一乘积累加器,信号连接该参数分群模块,该乘积累加器将任一该分群量化权重及任一该分群激励函数执行一乘积累加运算而产生一卷积输出;
一卷积量化器,信号连接该乘积累加器,该卷积量化器依据一卷积目标位元将该卷积输出量化成一量化卷积输出;以及
一加法器,信号连接该卷积量化器,该加法器依据该分群数值将该量化卷积输出执行一部分和运算而产生一输出激励函数。
10.如权利要求9所述的基于存储器内运算电路架构的量化系统,其特征在于,该输入激励函数具有一输入通道数,该分群数值经由该输入通道数与一控制参数运算求得,该分群数值等于该输入通道数除以该控制参数,该分群数值为正整数,并大于1且小于等于该输入通道数。
11.如权利要求10所述的基于存储器内运算电路架构的量化系统,其特征在于,该乘积累加器、该卷积量化器及该加法器依据一迭代次数被重复执行,该迭代次数等于该分群数值。
15.如权利要求9所述的基于存储器内运算电路架构的量化系统,其特征在于,该卷积量化器执行一具体量化法,该具体量化法包含该卷积输出、一代表位阶、一放大因子、一偏差因子、一电流数字值、一激励函数信号、一乙状函数、一标准差、一具体函数、一温度常数、一分类几率、一随机样本、该分群数值、一激励函数量化信号及该量化卷积输出,该卷积输出表示为Al,k,该代表位阶表示为RAD,该放大因子表示为α,该偏差因子表示为β,该电流数字值表示为ri,该激励函数信号表示为a,该乙状函数表示为sigmoid,该标准差表示为σi,该具体函数表示为Concrete,该温度常数表示为λ,该分类几率表示为πi,该随机样本表示为si,该分群数值表示为K,该激励函数量化信号表示为aq,该量化卷积输出表示为该具体量化法符合下式:
si=Concrete(πi,λ);及
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010199479.1A CN113496274A (zh) | 2020-03-20 | 2020-03-20 | 基于存储器内运算电路架构的量化方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010199479.1A CN113496274A (zh) | 2020-03-20 | 2020-03-20 | 基于存储器内运算电路架构的量化方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113496274A true CN113496274A (zh) | 2021-10-12 |
Family
ID=77993661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010199479.1A Pending CN113496274A (zh) | 2020-03-20 | 2020-03-20 | 基于存储器内运算电路架构的量化方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113496274A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105071808A (zh) * | 2015-08-07 | 2015-11-18 | 中国电子科技集团公司第五十四研究所 | 一种带加法权重校准的相位量化模数转换器电路 |
CN108805270A (zh) * | 2018-05-08 | 2018-11-13 | 华中科技大学 | 一种基于存储器的卷积神经网络系统 |
CN109389219A (zh) * | 2017-08-04 | 2019-02-26 | 三星电子株式会社 | 用于对神经网络的参数进行量化的方法和装置 |
CN109993297A (zh) * | 2019-04-02 | 2019-07-09 | 南京吉相传感成像技术研究院有限公司 | 一种负载均衡的稀疏卷积神经网络加速器及其加速方法 |
CN110363281A (zh) * | 2019-06-06 | 2019-10-22 | 上海交通大学 | 一种卷积神经网络量化方法、装置、计算机和存储介质 |
CN110610237A (zh) * | 2019-09-17 | 2019-12-24 | 普联技术有限公司 | 模型的量化训练方法、装置及存储介质 |
-
2020
- 2020-03-20 CN CN202010199479.1A patent/CN113496274A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105071808A (zh) * | 2015-08-07 | 2015-11-18 | 中国电子科技集团公司第五十四研究所 | 一种带加法权重校准的相位量化模数转换器电路 |
CN109389219A (zh) * | 2017-08-04 | 2019-02-26 | 三星电子株式会社 | 用于对神经网络的参数进行量化的方法和装置 |
CN108805270A (zh) * | 2018-05-08 | 2018-11-13 | 华中科技大学 | 一种基于存储器的卷积神经网络系统 |
CN109993297A (zh) * | 2019-04-02 | 2019-07-09 | 南京吉相传感成像技术研究院有限公司 | 一种负载均衡的稀疏卷积神经网络加速器及其加速方法 |
CN110363281A (zh) * | 2019-06-06 | 2019-10-22 | 上海交通大学 | 一种卷积神经网络量化方法、装置、计算机和存储介质 |
CN110610237A (zh) * | 2019-09-17 | 2019-12-24 | 普联技术有限公司 | 模型的量化训练方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107679618B (zh) | 一种静态策略定点化训练方法及装置 | |
CN107688849B (zh) | 一种动态策略定点化训练方法及装置 | |
CN107688850B (zh) | 一种深度神经网络压缩方法 | |
CN107239825B (zh) | 考虑负载均衡的深度神经网络压缩方法 | |
US20180046914A1 (en) | Compression method for deep neural networks with load balance | |
CN111353579A (zh) | 利用反向传播为深度神经网络选择量化参数的方法和系统 | |
CN111860982A (zh) | 一种基于vmd-fcm-gru的风电场短期风电功率预测方法 | |
KR20220086694A (ko) | 멤리스터 기반 신경 네트워크 트레이닝 방법 및 그 트레이닝 장치 | |
TWI737228B (zh) | 基於記憶體內運算電路架構之量化方法及其系統 | |
CN111985523A (zh) | 基于知识蒸馏训练的2指数幂深度神经网络量化方法 | |
CN112041928A (zh) | 忆阻器交叉杆阵列中模型/权重编程的加速 | |
CN113826122A (zh) | 人工神经网络的训练 | |
CN110728350A (zh) | 用于机器学习模型的量化 | |
CN110309904B (zh) | 一种神经网络压缩方法 | |
CN113821983B (zh) | 基于代理模型的工程设计优化方法、装置及电子设备 | |
CN116362398A (zh) | 基于模态分解和重构及lstm-mlr混合模型的电力负荷预测方法 | |
KR20200095789A (ko) | 번역 모델 구축 방법 및 장치 | |
CN113112013A (zh) | 针对分辨率降低的神经网络的优化量化 | |
CN115862319A (zh) | 一种面向时空图自编码器的交通流量预测方法 | |
KR20190130443A (ko) | 뉴럴 네트워크의 양자화 방법 및 장치 | |
Jiang et al. | A low-latency LSTM accelerator using balanced sparsity based on FPGA | |
CN114792126A (zh) | 一种基于遗传算法的卷积神经网络设计方法 | |
JP2023530816A (ja) | アナログ・アクセラレータのドリフト係数の変動を打ち消すためのドリフト正則化 | |
CN113496274A (zh) | 基于存储器内运算电路架构的量化方法及其系统 | |
Karimzadeh et al. | Towards energy efficient dnn accelerator via sparsified gradual knowledge distillation |
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 |