基于数模混合神经元的神经网络运算电路制造技术

技术编号:28422372 阅读:17 留言:0更新日期:2021-05-11 18:30
本发明专利技术公开了一种基于数模混合神经元的神经网络运算电路,涉及神经网络技术领域。乘运算电路用于对量化权重和定点量化激活值进行乘法操作,乘运算电路采用N个移位寄存器实现,每个移位寄存器每次移位输出m比特,加运算电路采用模拟电路对移位寄存器移位输出的m比特逐次进行宽矢量求和操作,AD转换电路用于将卷积电路输出的宽矢量求和结果转换为数字信号,其中,量化权重为2的指数次幂或0。本发明专利技术适用于移动端和便携式设备,提升了神经网络模型的精度,提升了神经网络模型输出结果的准确性,减小了芯片面积,使其能够在终端上部署,同时保证了运算精度,在满足精度提升的同时克服高精度神经网络功耗大、硬件难以实现的问题。

【技术实现步骤摘要】
基于数模混合神经元的神经网络运算电路
本专利技术涉及神经网络
,尤其涉及一种基于数模混合神经元的神经网络运算电路。
技术介绍
目前,随着神经网络技术的发展,在图像处理、语音识别等领域中,深度神经网络在云端都取得了非常好的成绩。基于延迟、带宽、隐私等要求,需要把神经网络从云端推向终端,在终端进行关键词检测、人脸识别、图像分类等推理类应用。然而,伴随着精度的提升,神经网络的深度和参数量也会急剧增加,现有技术无法在满足精度提升的条件下,同时克服神经网络功耗大硬件难以实现的问题,这导致高精度的神经网络难以在移动端和便携式设备上部署。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于数模混合神经元的神经网络运算电路、模块、终端及系统。本专利技术解决上述技术问题的技术方案如下:一种基于数模混合神经元的神经网络运算电路,包括:卷积电路和AD转换电路,其中,所述卷积电路包括乘运算电路和加运算电路,所述乘运算电路用于对量化权重和定点量化激活值进行乘法操作,所述乘运算电路采用N个移位寄存器实现,每个所述移位寄存器的位宽为P+Q,每个所述移位寄存器用于对输入数据的N个维度中的每一个维度的定点量化激活值进行移位操作,每个所述移位寄存器每次移位输出m比特;所述加运算电路采用模拟电路对每个所述移位寄存器移位输出的m比特逐次进行宽矢量求和操作,所述AD转换电路用于将所述卷积电路输出的宽矢量求和结果转换为数字信号;其中,P为定点量化激活值的位宽,Q为移位操作的位数,m为预设的移位输出位宽,量化权重为2的指数次幂或0。本专利技术解决上述技术问题的另一种技术方案如下:一种基于数模混合神经元的神经网络运算模块,包括:封装外壳,所述封装外壳外设置有输入引脚和输出引脚,所述封装外壳内设置有卷积电路和AD转换电路,其中,所述卷积电路包括乘运算电路和加运算电路,所述乘运算电路与所述输入引脚连接,用于通过所述输入引脚获取量化权重和定点量化激活值并进行乘法操作,所述乘运算电路采用N个移位寄存器实现,每个所述移位寄存器的位宽为P+Q,每个所述移位寄存器用于对输入数据的N个维度中的每一个维度的定点量化激活值进行移位操作,每个所述移位寄存器每次移位输出m比特;所述加运算电路采用模拟电路对每个所述移位寄存器移位输出的m比特逐次进行宽矢量求和操作,所述AD转换电路与所述输出引脚连接,用于将所述卷积电路输出的宽矢量求和结果转换为数字信号并通过所述输出引脚输出;其中,P为定点量化激活值的位宽,Q为移位操作的位数,m为预设的移位输出位宽,量化权重为2的指数次幂或0。本专利技术解决上述技术问题的另一种技术方案如下:一种终端,包括如上述技术方案所述的基于数模混合神经元的神经网络运算电路。本专利技术解决上述技术问题的另一种技术方案如下:一种基于数模混合神经元的神经网络运算系统,包括如上述技术方案所述的基于数模混合神经元的神经网络运算电路。本专利技术的有益效果是:本专利技术提供的神经网络运算电路适用于移动端和便携式设备,通过对神经网络激活值进行设定比特位的定点量化,对权重进行2的指数次幂或0量化,提升了神经网络模型的精度,提升了神经网络模型输出结果的准确性,通过乘运算电路和加运算电路实现卷积操作,通过移位寄存器实现乘法操作,通过不同大小的电容代替神经网络模型中乘运算电路输出信号的多比特位,通过逐次累加的办法减小了资源消耗和芯片面积,使其能够在终端上部署,同时保证了运算精度,在满足精度提升的同时克服高精度神经网络功耗大、硬件难以实现的问题。此外,可以根据应用场景动态调整计算精度,高精度时,通过增加迭代次数,提升计算精度;低功耗时,精度要求不高,可以减少迭代次数,降低功耗。本专利技术附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术实践了解到。附图说明图1为本专利技术神经网络运算电路的实施例提供的结构框架示意图;图2为本专利技术神经网络运算电路的实施例提供的加运算电路结构示意图;图3为本专利技术神经网络运算电路的实施例提供的锁存电路结构示意图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实施例只用于解释本专利技术,并非用于限定本专利技术的范围。神经网络量化算法为网络的终端实现提供了极大的便利。然而,若同时对网络的权重和激活值都进行1bit量化会使得网络的精度有较大的损失;若同时对网络的权重和激活值都进行多bit量化将急剧增加乘加操作。一个卷积神经网络中包含数百万甚至数亿的MAC操作,传统的数字电路进行如此多的MAC操作功耗是非常高的。因此,亟需在算法和硬件中对神经网络的实现进行改进,以适应网络精度的提升需求,便于在移动端和便携式设备上部署。如图1所示,为本专利技术神经网络运算电路的实施例提供的结构框架示意图,该神经网络运算电路基于数模混合神经元实现,可以部署在手机、电脑、笔记本电脑等终端中,包括:卷积电路和AD转换电路3,其中,卷积电路包括乘运算电路1和加算电路2,乘运算电路1用于对量化权重和定点量化激活值进行乘法操作,乘运算电路1采用N个移位寄存器实现,每个移位寄存器的位宽为P+Q,每个移位寄存器用于对输入数据的N个维度中的每一个维度的定点量化激活值进行移位操作,每个所述移位寄存器每次移位输出m比特;加运算电路2采用模拟电路对每个所述移位寄存器移位输出的m比特逐次进行宽矢量求和操作,AD转换电路3用于将卷积电路输出的宽矢量求和结果转换为数字信号;其中,P为定点量化激活值的位宽,Q为移位操作的位数,m为预设的移位输出位宽,量化权重为2的指数次幂或0。具体地,移位操作方法为:定点量化激活值的位宽为P,权重量化结果为{±2Q1,···,±2Q2,0},Q1和Q2都是整数,且Q2≤Q1,Q=max(abs(Q1),abs(Q2)),若权重量化结果为0,则移位寄存器输出为0;若权重量化结果为1,则移位寄存器保持不变;若权重量化结果为其他数,移位寄存器进行Q个移位操作,其中,abs表示取绝对值。例如,假设Q1=4,Q2=1,那么权重量化结果为{±21,±22,±23,±24,0}。应理解,N个定点量化激活值Xij与量化权重值Wij进行乘运算,乘运算输出可为正数、负数或0。需要说明的是,加运算电路2的功能可以通过现有电路结构实现,例如,加法器,这些结构为现有技术,不再赘述。完成卷积操作之后,AD转换电路3将卷积电路输出结果通过模拟数字电路转化量化为数字信号,并写入存储器中,作为神经网络下一层的输入。本实施例提供的神经网络运算电路适用于移动端和便携式设备,通过对神经网络激活值进行设定比特位的定点量化,对权重进行2的指数次幂或0量化,提升了神经网络模型的精度,提升了神经网络模型输出结果的准确性,通过乘运算电路1和加运算电路2实现卷积操作,通过移位寄存器实现乘法操作,通过不同大小的电容代替神经网络模型中乘运算电路1输出信号的多比特位,通过逐次本文档来自技高网...

【技术保护点】
1.一种基于数模混合神经元的神经网络运算电路,其特征在于,包括:卷积电路和AD转换电路,其中,所述卷积电路包括乘运算电路和加运算电路,所述乘运算电路用于对量化权重和定点量化激活值进行乘法操作,所述乘运算电路采用N个移位寄存器实现,每个所述移位寄存器的位宽为P+Q,每个所述移位寄存器用于对输入数据的N个维度中的每一个维度的定点量化激活值进行移位操作,每个所述移位寄存器每次移位输出m比特;/n所述加运算电路采用模拟电路对每个所述移位寄存器移位输出的m比特逐次进行宽矢量求和操作,所述AD转换电路用于将所述卷积电路输出的宽矢量求和结果转换为数字信号;/n其中,P为定点量化激活值的位宽,Q为移位操作的位数,m为预设的移位输出位宽,量化权重为2的指数次幂或0。/n

【技术特征摘要】
1.一种基于数模混合神经元的神经网络运算电路,其特征在于,包括:卷积电路和AD转换电路,其中,所述卷积电路包括乘运算电路和加运算电路,所述乘运算电路用于对量化权重和定点量化激活值进行乘法操作,所述乘运算电路采用N个移位寄存器实现,每个所述移位寄存器的位宽为P+Q,每个所述移位寄存器用于对输入数据的N个维度中的每一个维度的定点量化激活值进行移位操作,每个所述移位寄存器每次移位输出m比特;
所述加运算电路采用模拟电路对每个所述移位寄存器移位输出的m比特逐次进行宽矢量求和操作,所述AD转换电路用于将所述卷积电路输出的宽矢量求和结果转换为数字信号;
其中,P为定点量化激活值的位宽,Q为移位操作的位数,m为预设的移位输出位宽,量化权重为2的指数次幂或0。


2.根据权利要求1所述的基于数模混合神经元的神经网络运算电路,其特征在于,所述加运算电路包括:开关电容神经元电路和锁存电路,其中,所述乘运算电路中的移位寄存器每次移位输出P+Q比特输出信号中的m比特信号;
所述开关电容神经元电路用于对所述m比特信号逐次进行分压,得到模拟电压值;
所述锁存电路用于存储所述开关电容神经元电路输出的模拟电压值;
所述开关电容神经元电路还用于对当前分压得到第一模拟电压值和所述锁存电路存储的上一次分压得到的第二模拟电压值进行加法计算,直到预设条件结束,输出宽矢量求和结果;
其中,所述P+Q比特输出信号为对应的移位寄存器中存储的任一值。


3.根据权利要求2所述的基于数模混合神经元的神经网络运算电路,其特征在于,所述开关电容神经元电路包括:开关电容阵列和差分运算放大器,其中,所述开关电容阵列用于对输入信号进行分压,并向所述差分运算放大器提供分压,所述差分运算放大器用于对所述开关电容阵列提供的第一模拟电压值和所述锁存电路存储的上一次分压得到的第二模拟电压值进行加法计算,直到满足预设条件,输出宽矢量求和结果。


4.根据权利要求3所述的基于数模混合神经元的...

【专利技术属性】
技术研发人员:张峰赵婷马春宇李淼
申请(专利权)人:天津智模科技有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1