[发明专利]一种面向神经网络稀疏特征的数据去零编码及封装方法有效
| 申请号: | 202110024406.3 | 申请日: | 2021-01-08 |
| 公开(公告)号: | CN112883982B | 公开(公告)日: | 2023-04-18 |
| 发明(设计)人: | 张萌;王党辉;张盛兵;朱挺;李楚曦;丁汇;姚腾腾;王淼 | 申请(专利权)人: | 西北工业大学 |
| 主分类号: | G06V10/40 | 分类号: | G06V10/40;G06V10/764;G06V10/82;G06N3/063 |
| 代理公司: | 西北工业大学专利中心 61204 | 代理人: | 金凤 |
| 地址: | 710072 *** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 神经网络 稀疏 特征 数据 编码 封装 方法 | ||
本发明公开了一种面向神经网络稀疏特征的数据去零编码及封装方法,首先定义数据存储传输单元,再将数据存储传输单元划分为若干个数据去零单元,根据数据去零单元中的非零和零数据,形成数据去零单元的掩码信息,再将掩码信息与非零数据组成结构体,完成第一级编码;再按照数据传输位宽对结构体进行封装;对封装后的数据定义MaskLoc和MaskEff,组成maskinfo,完成第二级编码;再按照数据传输位宽对maskinfo进行第三级编码和封装;本发明可以保留去零时神经网络计算输出特征图与DDR存储结构之间的映射关系,能够提升计算速度,并且减少实际需要的译码资源,降低实际的系统功耗。
技术领域
本发明属于信息处理技术领域,具体涉及一种数据去零编码及封装方法。
背景技术
受到神经网络结构模型的影响,在计算中存在大量的激活操作,目前最常见的激活函数为RELU函数,而通过RELU函数激活后的输出数据中有着伴随着大量的零值的稀疏化特征。传统的卷积神经网路加速器在计算过程中往往会伴随着高达40%的零值分布情况,零值的分布在神经网络计算过程中十分普遍。
神经网络加速器的带宽限制是制约其高效完成计算任务的瓶颈,计算过程往往伴随着大量的数据,这些数据直接进行传输会消耗大量的传输时间。但是由于这些数据中的稀疏化特征,直接传输原始数据时接口传输了大量的无效零值,对于提升计算的性能是十分不利的。
在神经网络加速器中,由于硬件模型操作造成的这种大量的零值,在计算和数据传输过程中会耗费大量的计算资源和传输带宽处理这些零值的问题。这种零值的问题极大制约了神经网络加速器性能的提升,造成资源尤其是传输带宽的极大浪费。
深度卷积神经网络模型具有模型深度高、层次复杂、数据量级大、并行度高、计算密集和存储密集等特征,所以计算结果的数据维度比较高,加上神经网络中可能存在的频繁的输出维度变化操作,本身索引方式就相对比较复杂。数据存储在DDR中的存储只具有一维的线性存储关系,而计算结果在输出特征图上的存储结构则为三维结构,这样不去零时由于计算结果的数据总量是固定的,所以此时仍然存在从DDR一维结构到输出特征图的三维结构上的位置映射。这种情况在去零过程中更加的明显,由于对数据进行去零处理后,有效数据总量不再固定,去零数据进行去零后会失去数据总量固定性的特征,直接进行去零编码会使数据丧失其存储在DDR上的位置到三维输出特征图结构上相应的位置的映射,这样在译码过程中对于数据的译码必须从第一个数据开始进行,造成译码逻辑较为复杂。
嵌入式系统在要求更高的计算并行度时这种问题将会更加严重。当嵌入式平台并行度要求比较高时,采取去零的方式时,如果数据没有保留相应的位置信息,会造成数据译码时由于需要对去零后的数据进行串行译码而严重制约并行度的提升。串行解码需要硬件按照数据存储的顺序将数据依次进行解码,即后面的译码结果会与前面的译码过程有着很重要的依赖关系。在这种关系上,无法进行高并行的额的译码和计算,造成计算并行度的浪费。
发明内容
为了克服现有技术的不足,本发明提供了一种面向神经网络稀疏特征的数据去零编码及封装方法,首先定义数据存储传输单元,再将数据存储传输单元划分为若干个数据去零单元,根据数据去零单元中的非零和零数据,形成数据去零单元的掩码信息,再将掩码信息与非零数据组成结构体,完成第一级编码;再按照数据传输位宽对结构体进行封装;对封装后的数据定义MaskLoc和MaskEff,组成maskinfo,完成第二级编码;再按照数据传输位宽对maskinfo进行第三级编码和封装;本发明可以保留去零时神经网络计算输出特征图与DDR存储结构之间的映射关系,能够提升计算速度,并且减少实际需要的译码资源,降低实际的系统功耗。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤1:神经网络加速器的输出特征图具有三维结构;将输出特征图三维结构中的任意两个维度定义为数据的二维位置信息,二维位置信息之外第三个维度表示的通道数为C;设定原始二进制数据位宽为N,N=2n,n=1,2,3……;C=p*N,p=1,2,3…;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110024406.3/2.html,转载请声明来源钻瓜专利网。





