一种特定余数基的余数系统卷积计算单元技术方案

技术编号:34956634 阅读:14 留言:0更新日期:2022-09-17 12:35
本发明专利技术公开一种特定余数基的余数系统卷积计算单元,应用于人工智能领域,针对现有卷积计算存在的高时延的问题;本发明专利技术将一组较大的卷积数据通过前向转换单元转换为余数表示,在余数系统中进行卷积运算,利用模加法器和模乘法器来完成二进制中的加法和乘法运算,最后将计算完成的结果通过后向转换单元转换成二进制输出,减少了构造传统乘加运算所需的DSP单元并且降低了卷积计算的时延。单元并且降低了卷积计算的时延。单元并且降低了卷积计算的时延。

【技术实现步骤摘要】
一种特定余数基的余数系统卷积计算单元


[0001]本专利技术属于人工智能
,特别涉及一种用于卷积神经网络中卷积计算的硬件电路的实现技术。

技术介绍

[0002]卷积神经网络中卷积层用于提取输入数据的特征,卷积运算占用了卷积神经网络前向推断过程中的大部分运算,包含了大量的乘法和加法运算。在数字电路实现中多采用DSP(Digital Signal Processing)资源来实现,由于卷积神经网络算法的发展主要以增加网络深度和宽度,随之而来的是网络中对应的参数的增加,通过硬件实现的运算效率也会有所降低。因此需要利用硬件电路优化的方法来满足算法对速度的要求。余数系统(Residue Number System,RNS)是一个无权,并行的数值表征系统。余数系统由于其高并行度以及高运算速度,常常被用于设计矩阵运算的乘累加单元(MAC),矩阵运算又是卷积神经网络中卷积层运算所需要的关键技术,卷积计算在卷积神经网络中拥有较高的占比。

技术实现思路

[0003]为解决上述技术问题,本专利技术提出一种特定余数基的余数系统卷积计算单元,将一组较大的卷积数据通过前向转换单元转换为余数表示,在余数系统中进行卷积运算,利用模加法器和模乘法器来完成二进制中的加法和乘法运算。
[0004]本专利技术采用的技术方案为:一种特定余数基的余数系统卷积计算单元,包括:前向转换模块、后向转换模块、模加法器、模乘法器、基拓展模块和缩放模块;
[0005]前向转换模块用于将输入的二进制数据转换为三组余数基{2
n<br/>,2
n

1,2
n+1

1}中的余数表示,输入的二进制数据具体包括:特征图数据、权重数据和偏置数据;
[0006]各通道中,将该通道对应的特征图数据和权重数据输入模乘法器,同时对该通道的偏置数据进行缓存;
[0007]同一通道中,将模乘法器的输出与缓存的偏置数据输入模加法器;
[0008]将各通道模加法器的输出输入后向转换单元,得到卷积运算的结果。
[0009]本专利技术的有益效果:本专利技术的一种基为{2
n
,2
n

1,2
n+1

1}的余数系统卷积计算单元,将一组较大的卷积数据通过前向转换单元转换为余数表示,在余数系统中进行卷积运算,利用模加法器和模乘法器来完成二进制中的加法和乘法运算,最后将计算完成的结果通过后向转换单元转换成二进制输出,减少了构造传统乘加运算所需的DSP单元并且降低了卷积计算的时延。
附图说明
[0010]图1是基为{2
n
,2
n

1,2
n+1

1}的余数系统的卷积计算单元结构图。
[0011]图2是余数系统基为{26‑
1,26,27‑
1}前向转换模块。
[0012]图3是模加法器结构。
[0013]图4是模乘法器结构。
[0014]图5是基拓展模块结构。
[0015]图6是各个通道的模乘加单元结构
[0016]图7是余数系统基为{26‑
1,26,27‑
1}后向转换模块。
具体实施方式
[0017]为便于本领域技术人员理解本专利技术的
技术实现思路
,下面结合附图对本
技术实现思路
进一步阐释。
[0018]请参阅图1,本专利技术提供了一种基于余数系统的卷积计算单元,用于完成神经网络中卷积的乘法和加法运算,包括了余数系统前向转换模块、余数系统后向转换模块、模加法器、模乘法器、基拓展模块和缩放模块。
[0019]其中前向转换模块和后向转换模块主要完成二进制与余数系统之间的互相转换,模加法器和模乘法器完成卷积运算,基拓展模块用于防止计算过程中数据的溢出问题,缩放模块用于基的还原操作。余数系统由三个通道{2
n
,2
n

1,2
n+1

1}构成,输入为3组n比特的数据,分别为特征图数据Pixel_in、权重数据Weight_in和偏置数据Bias_in,经过前向转换模块得到三个通道的数据后分别在各个通道中进行运算,最后通过后向转换来得到卷积计算的结果。
[0020]这里的特征图数据Pixel_in可以理解为目标检测中待检测图片的输入数据,权重数据Weight_in和偏置数据Bias_in为提前训练好的该神经网络的参数;
[0021]具体步骤如下:
[0022]步骤一、输入数据通过前向转换模块分别得到三组余数基{2
n
,2
n

1,2
n+1

1}中的余数表示;
[0023]步骤二、三个余数通道2
n

1、2
n
、2
n+1

1中优先对特征图数据和权重数据进行模乘运算,同时对偏置数据进行缓存;
[0024]步骤三、同一通道中步骤二中模乘的结果与缓存的偏置数据进行模加运算,得到卷积运算的各通道余数结果;
[0025]步骤四、将三个通道的计算结果通过余数系统后向转换单元转换为二进制表示,得到卷积运算的结果。
[0026]所述步骤三中:对于通道模2
n
中模乘后的结果进行位拓展为模2
n+k
后再与缓存的偏置数据进行模加,对应后向转换单元将模加后的结果进行缩放回模2
n

[0027]本实施例的优选实施例中,利用如图2的前向转换结构实现二进制数到余数的转换,余数基中n取5即余数基为{26‑
1,26,27‑
1},前向转换后得到的位宽分别为6、6、7,模2
n
的结果为R2,可以直接得到,剩余两个结果需要分别通过两个进位保留加法器得到两个加数的和还有进位,最后分别使用模2
n

1和模2
n+1

1加法器对其进行相加就能得到对应模2
n

1和模2
n+1

1的通道的余数结果R1和R3。
[0028]步骤三中模加法器则由如图3所示的端回进位并行前缀加法器构成,运算结果仍为三个通道的余数。
[0029]步骤二中模乘法器则由如图4所示的结构构成,图4所示的结构为现有已知技术,本专利技术中不对其具体结构做详细阐述。
[0030]基于余数设计的系统在进行大量加法和乘法运算过程中可能会产生超出模集所能表示的动态范围外的结果,在系统计算过程中,可能存在由于与数据转换而存在溢出和舍入舍出误差,本实施例中采用如图5所示的基拓展方法来拓展模26通道,拓展单独一个通道的方法较拓展整个动态范围硬件开销小得多,不同通道的模乘加单元结构如图6所示。拓展后的模集需要通过以下尺度变换来进行缩放,使得后向转换与前向转换的余数基一致,x本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种特定余数基的余数系统卷积计算单元,其特征在于,包括:前向转换模块、后向转换模块、模加法器、模乘法器;前向转换模块用于将输入的二进制数据转换为三组余数基{2
n
,2
n

1,2
n+1

1}中的余数表示;然后将三组余数表示的数据输入三个余数基通道;各余数基通道中,将该通道对应的特征图数据和权重数据输入模乘法器,同时对该通道的偏置数据进行缓存;同一余数基通道中,将模乘法器的输出与缓存的偏置数据输入模加法器;将各余数基通道模加法器的输出结果输入后向转换单元,得到卷积运算的结果。2.根据权利...

【专利技术属性】
技术研发人员:卢有亮郑伟生周小琴张哲陈彦伯江陆翔
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1