【技术实现步骤摘要】
面向神经网络计算的多位宽重构近似张量乘加方法与系统
[0001]本专利技术属于可重构计算领域,具体涉及面向神经网络计算的多位宽重构近似张量乘加方法与系统
。
技术介绍
[0002]深度神经网络已经在从图像分类到语音识别的一系列机器学习应用中取得了最先进的结果
。
在移动设备和边缘物联网传感器等硬件和电源开销有限的移动设备中使用人脑启发网络的需求不断增加,这需要面积小
、
高能效的神经网络加速器设计
。
[0003]神经网络计算是指利用神经网络模型来进行各种计算任务的过程,它具有并行性
、
分布性
、
自适应性和容错性等优点
。
神经网络计算在许多领域都有广泛的应用,如计算机视觉
、
雷达图像处理
、
语音识别
、
图像生成等
。
[0004]近似计算技术是一种在牺牲一定精度的情况下,降低计算复杂度和能耗的方法
。
量化作为近似计算的一种技术,通过降低位宽来提高数据吞吐量及整体能效
。
神经网络计算中包含大量乘加操作,这些操作会消耗大量的面积资源,以及带来大量的功耗开销
。
同时不同神经网络应用,或相同神经网络的不同层具有不同的容错性,单一位宽和模式的计算单元会带来能效的浪费,需根据不同的应用需求,动态的调整计算单元的位宽和精度
。
技术实现思路
[0005]本专利技术所要解决的技术
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.
面向神经网络计算的多位宽重构近似张量乘加方法,用于支持位宽为8×
8、8
×4和4×4的乘法运算,其特征在于,针对输入数据,执行以下步骤
S1
至步骤
S3
,得到子张量乘加单元的计算结果,然后输出至累加电路进行累加,得到张量乘加单元的最终计算结果,
S1、
针对输入的
8bits
数据
、4bits
数据,进行精确计算或者近似计算,获得
5bits
数据,其中,针对
8bits
数据的精确计算为:将
8bits
数据拆分为两个
4bits
数据,将两个
4bits
数据分别拓展为
5bits
的数据;针对
8bits
数据的近似计算为:将
8bits
数据截断为
5bits
的数据,同时计算出补偿移位值;针对
4bits
数据的精确计算和近似计算均为:在
4bits
数据的最高位补符号位拓展,获得
5bits
数据,之后执行步骤
S2
;
S2、
对拓展为
5bits
的数据进行
5*5
有符号运算,得到部分积计算结果,对截断为
5bits
的数据计算补偿移位值并求和,得到总补偿移位值
N
,然后进行
5*5
有符号运算并对结果左移
N
位,得到部分积计算结果,之后执行步骤
S3
;
S3、
对步骤
S2
部分积计算结果进行逐级加法累加,并在逐级加法累加时做
1bit
位宽拓展,得到子张量乘加单元的计算结果
。2.
根据权利要求1所述的面向神经网络计算的多位宽重构近似张量乘加方法,其特征在于,步骤
S1
中,针对
8bits
数据的精确计算为:
bits
数据拆分为高
4bits
数据和低
4bits
数据,高
4bits
数据的最高位补符号位,低
4bits
数据的最高位补0,获得
5bits
数据
。3.
根据权利要求1所述的面向神经网络计算的多位宽重构近似张量乘加方法,其特征在于,步骤
S1
中,所述针对
8bits
数据的近似计算包括:从第7位向第0位遍历,找到首个与前一位不同的数,确定首个与前一位不同的数为第
n
位,则截取数据为
A[n+1:n
‑
3]
,其中
A 为待进行近似计算的
8bits
数据,
[:]
为截断值;并且当
n=7
时,截取数据为
A[7:3]
;当
n≤4
时,截取数据为
A[4:0]
,补偿移位值的计算方式为:当
n≥3
时,补偿移位值为
n
‑3;当
n<3
时,补偿移位值为
0。4.
根据权利要求3所述的面向神经网络计算的多位宽重构近似张量乘加方法,其特征在于,步骤
S1
中还包括:针对
技术研发人员:张浩,汪粲星,谢钠,
申请(专利权)人:南京美辰微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。