当前位置: 首页 > 专利查询>东南大学专利>正文

三值神经网络稀疏性权重的压缩计算单元制造技术

技术编号:28631649 阅读:27 留言:0更新日期:2021-05-28 16:28
本发明专利技术公开了一种三值神经网络稀疏性权重的压缩计算单元,涉及神经网络硬件加速领域,包括依次连接的权重近似处理单元、哈夫曼编码单元、权重整合单元、序列检测译码模块和计算优化配置模块;本发明专利技术的近似压缩计算单元,通过对权重进行近似处理获得更高的稀疏性,通过对网络中大量重复出现的权重进行压缩编码,通过卷积计算结果的复用以及针对三值神经网络近似计算降低计算工作量,从而减少系统整体面积与功耗。

【技术实现步骤摘要】
三值神经网络稀疏性权重的压缩计算单元
本专利技术涉及神经网络硬件加速领域,尤其是三值神经网络稀疏性权重的压缩计算单元。
技术介绍
目前在关键词识别的
中深度神经网络、循环神经网络、卷积神经网络是几个比较主流的方向。其中卷积神经网络较为主流,这是因为卷积神经网络的特性与语音关键词识别的需求较为符合。在语音音频中,想要提高语音识别率就需要克服语音信号中各种各样的干扰。而卷积神经网络能提供时间和空间上的不变性,可以利用卷积的不变性来克服语音信号本身的多样性。卷积神经网络存在较大的问题是,乘法操作过多导致数据计算量过大。于是又有了二值化权重卷积神经网络,它将卷积神经网络中的权重量化为1bit,这样可以将网络中的乘法操作替换为反向和移位操作,这在硬件实现上带来了巨大的便利性,相比于乘法操作将节省许多执行周期与功耗。而二值化权重卷积神经网络也因为权重量化过多导致对于多种场景以及高噪声环境下的适应性不好。因此可以又有三值化权重神经网络,它在二值权重神经网络中增加了0权重,带来了权重数据信息量的提升可以提高对于多种场景以及高噪声环境下的适应性。并且新增加的0权重也不会带来乘法操作,但也带来了新的问题,就是三值化权重神经网络的权重存储至少需要2bit,比二值化的权重多了一倍。
技术实现思路
专利技术目的:本专利技术是为了解决三值化权重神经网络中权重存储所需要的存储空间过大以及计算单元中对于三值化权重神经网络的优化问题。本专利技术对三值神经网络稀疏性权重的压缩计算单元,主要用于对三值化权重神经网络的权重进行压缩存储,以降低整体存储单元的静态功耗,并且通过对计算单元的优化,采用减少数据读取、近似存储等方法来减少功耗,以降低计算单元的动态功耗。本专利技术的三值神经网络稀疏性权重的压缩计算单元,包括权重近似处理单元和计算优化配置模块;权重近似处理单元的输出端连接计算优化配置模块的输入端。所述的权重近似处理单元用于对权重矩阵进行近似处理,形成近似权重矩阵;输入待处理数据矩阵和处理后的权重矩阵到计算优化配置模块,所述计算优化配置模块包括近似计算单元,近似计算单元对输入的权重矩阵进行读取,读取到权重矩阵中权重数据是‘0’时,不再读取输入待处理数据矩阵中的数据,在对应的计算结果存储单元中直接写‘0’;读取到权重是‘1’时,读取输入待处理数据矩阵中的数据,在对应的计算结果存储单元中直接写待处理数据矩阵中对应的数据;读取到权重是‘-1’时,读取输入待处理数据矩阵中的数据,对待处理数据矩阵中对应的数据取反后写到对应的存储单元中。所述近似计算单元用于减少数据读取次数和加法器的翻转次数来实现跳0操作,在对于三值权重中的负值进行计算中采用近似计算以减少计算功耗和信号翻转。优选的,在权重近似处理单元和计算优化配置模块之间还依次连接有哈夫曼编码单元、权重整合单元和序列检测译码模块;权重近似处理单元的输出端连接哈夫曼编码单元的输入端,序列检测译码模块的输出端连接计算优化配置模块的输入端;权重近似处理单元的输出端连接哈夫曼编码单元的输入端,序列检测译码模块的输出端连接计算优化配置模块的输入端;所述的权重近似处理单元用于对权重矩阵进行近似处理,形成近似权重矩阵,具有更高的稀疏性;所述哈夫曼编码单元用于对近似权重矩阵中的重复权重数据进行哈夫曼编码,所述的哈夫曼编码是属于对重复权重数据的不定长编码。权重整合单元用于对重复权重数据的哈夫曼编码不定长编码结果与非重复权重数据的定长编码结果整合,形成编码权重矩阵,存储在序列检测译码模块中;所述序列检测译码模块用于对编码权重矩阵进行译码恢复,将所编的定长与不定长的编码进行解码。优选的,在权重近似处理单元中,如果权重数据出现第一连续权重数据、间隔权重数据和第二权重数据的依次排列的方式,则将间隔权重数据修改为与第一连续权重数据相同大小的数据;得到近似权重矩阵;以提高权重的稀疏性。所述第一连续权重数据是指连续三个及以上相同权重数据,间隔权重数据是指两个及以下不同于连续权重数据的数据,所述第二连续权重数据是指连续三个及以上相同权重数据,第一连续权重数据和第二连续权重数据的数据大小相同、数量可以不同。所述的哈夫曼编码单元,用于对相同权重数据的重复次数进行哈夫曼编码,从而减少权重的整体位宽。具体方法为:设待编码重复出现的权重有5种符号u1、u2、u3、u4、u5,分别代表重复出现相同权重的次数。其对应概率为p1=0.4、p2=0.1、p3=p4=0.2、p5=0.1,假设这5种类型共出现了10次,则代表u1类型重复出现4次,u2类型重复出现1次,u3、u4类型重复出现2次,u5类型重复出现1次。首先,将符号按照概率由大到小排序。编码时,从最小概率的两个符号开始,选上支路为0,下支路为1。再将已编码的两支路的概率合并,并重新排序。多次重复使用上述方法直至合并概率归一时为止。由于哈夫曼码的码字(各符号的代码)是异前置码字,即任一码字不会是另一码字的前面部分,这使各码字可以连在一起传送,中间不需另加隔离符号即为唯一可译码。优选的,所述序列检测译码模块包括查找表、标志判断模块和序列检测模块;在哈夫曼编码单元中对近似处理后的权重矩阵进行哈夫曼编码,将编码规则记录在查找表中,标志判断模块用于记录编码标志位和对编码码标志位进行判断,序列检验模块用于对输入的编码权重矩阵进行扫描。优选的,序列检测译码模块对输入的编码权重矩阵进行译码包括如下步骤:步骤201:将编码权重矩阵中未使用的‘10’作为编码标志位,序列检测模块对权重矩阵中的权重数据进行扫描,通过标志判断模块将扫描到的权重数据与记录编码标志位进行对比,当序列检测模块扫描到编码标志位时进入哈夫曼译码状态。步骤202:进入哈夫曼译码状态后,序列检测模块扫描到的编码标志位后的2bit数据代表之后译码的权重数据。步骤203:使用序列检测模块与查找表相结合,继续逐位向后扫描,当已扫描的数据和查找表中的编码数据相同时译码,停止扫描,结束哈夫曼译码状态,进入普通译码状态,所述普通译码状态是指使用查找表进行译码。优选的,计算优化配置模块包括计算结果复用单元。所述的计算结果复用单元用于判断输入的权重矩阵中是否存在复用单元,如果判断当前权重矩阵中存在复用单元,则优先使用计算结果复用单元对输入的待处理数据矩阵及权重矩阵进行卷积运算,可以通过复用单元来减少网络的运算量。如果判断当前权重矩阵中不存在复用单元,则采用近似计算单元对输入的待处理数据矩阵及权重矩阵进行卷积运算。所述的复用单元是指权重矩阵中存在至少两行相同的权重数据,每行相同的权重数据均被称为复用单元。在计算结果复用单元中,输入待处理数据矩阵与权重矩阵做卷积运算时,待处理数据矩阵中同一行数据与权重矩阵中的复用单元只做一次运算,并将运算结果存在缓存中,当输入数据滑动后,同一行的输入数据与权重矩阵的复用单元不再进行卷积运算,而是直接调用缓存中的计算结果,记录到输入数据滑动后与权重矩阵的运算结果中。有益效果:本专利技术的近似压缩计算单元,通过对权重进行近似处理获得更高的本文档来自技高网...

【技术保护点】
1.三值神经网络稀疏性权重的压缩计算单元,其特征在于,包括权重近似处理单元和计算优化配置模块;/n权重近似处理单元的输出端连接计算优化配置模块的输入端。/n所述的权重近似处理单元用于对权重矩阵进行近似处理,形成近似权重矩阵;/n输入待处理数据矩阵和处理后的权重矩阵到计算优化配置模块,所述计算优化配置模块包括近似计算单元,近似计算单元对输入的权重矩阵进行读取,读取到权重矩阵中权重数据是‘0’时,不再读取输入待处理数据矩阵中的数据,在对应的计算结果存储单元中直接写‘0’;读取到权重是‘1’时,读取输入待处理数据矩阵中的数据,在对应的计算结果存储单元中直接写待处理数据矩阵中对应的数据;读取到权重是‘-1’时,读取输入待处理数据矩阵中的数据,对待处理数据矩阵中对应的数据取反后写到对应的存储单元中。/n

【技术特征摘要】
1.三值神经网络稀疏性权重的压缩计算单元,其特征在于,包括权重近似处理单元和计算优化配置模块;
权重近似处理单元的输出端连接计算优化配置模块的输入端。
所述的权重近似处理单元用于对权重矩阵进行近似处理,形成近似权重矩阵;
输入待处理数据矩阵和处理后的权重矩阵到计算优化配置模块,所述计算优化配置模块包括近似计算单元,近似计算单元对输入的权重矩阵进行读取,读取到权重矩阵中权重数据是‘0’时,不再读取输入待处理数据矩阵中的数据,在对应的计算结果存储单元中直接写‘0’;读取到权重是‘1’时,读取输入待处理数据矩阵中的数据,在对应的计算结果存储单元中直接写待处理数据矩阵中对应的数据;读取到权重是‘-1’时,读取输入待处理数据矩阵中的数据,对待处理数据矩阵中对应的数据取反后写到对应的存储单元中。


2.根据权利要求1所述的三值神经网络稀疏性权重的压缩计算单元,其特征在于,在权重近似处理单元和计算优化配置模块之间还依次连接有哈夫曼编码单元、权重整合单元和序列检测译码模块;
权重近似处理单元的输出端连接哈夫曼编码单元的输入端,序列检测译码模块的输出端连接计算优化配置模块的输入端;
所述哈夫曼编码单元用于对近似权重矩阵中重复权重数据进行哈夫曼编码,所述的哈夫曼编码是属于对重复权重数据的不定长编码;
权重整合单元用于对重复权重的哈夫曼编码不定长编码结果与非重复权重的定长编码结果整合为一串码,形成编码权重矩阵,存储在序列检测译码模块中;
所述序列检测译码模块用于对编码权重矩阵进行译码恢复,将所编的定长与不定长的编码进行解码。


3.根...

【专利技术属性】
技术研发人员:刘波杨海川钱俊逸王梓羽蔡浩龚宇杨军
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

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

1