一种基于帧内数据差值神经网络加速方法技术

技术编号:28560502 阅读:39 留言:0更新日期:2021-05-25 17:55
本发明专利技术公开了一种基于帧内数据差值神经网络加速方法。本发明专利技术方法流程包括:通道相关性重排、权重累加预处理、第一层作为当前计算层、当前层输入数据差值处理、矩阵乘加、是否进行过行列方向差值、行或者列方向差值恢复,激活函数处理、是否为最后一层,下一层作为当前层。本发明专利技术方法通过对神经网络的数据进行通道方向、行或者列方向进行差值得到差值后数据,相比原始数据稀疏性增强。本发明专利技术方法通过对神经网络全连接层权重进行累加预处理,对神经网络卷积层进行差值恢复处理,使得可以使用差值后数据作为计算输入。当神经网络计算支持稀疏矩阵计算加速时,相比直接采用原始数据,采用差值后数据作为输入提升了稀疏矩阵计算的加速效果。

【技术实现步骤摘要】
一种基于帧内数据差值神经网络加速方法
本专利技术属于神经网络
,具体涉及一种基于帧内数据差值神经网络加速方法。
技术介绍
图像分类检测的神经网络应用中,帧内差值法一般用于图像的压缩,由于一般图像数值变化较为缓慢,但值不一定为0,稀疏性并不高,数据的分布也较为分散。因此可以通过对图像数值进行水平或者垂直方向差值计算,从而大大增加图像数值的稀疏性并且可以改变图像数值的分布。其分别会变成为0附近的数值出现概率较高。这种数据分布的改变可以加大图像通过熵编码后的压缩率,而稀疏性的增加对于矩阵乘加运算的加速是有较大帮助的。神经网络输入特征图源自神经网络对图像数据的处理,其性质与图像相像,因此也可以采用帧内差值法对对其进行处理,从而增加其0值数量改变其数据分布。神经网络输入通道之间也有相关性,所谓相关性是指输入数据值接近,因此数据也可以从输入通道方向进行差值。但是无论是从行,列或者输入通道方向进行差值,其差值计算后的数据已经不是原始的神经网络原输入数据,其进行神经网络计算后的数据也不是神经网络原输出数据。利用其稀疏性对神经网络计算进行加速需要解本文档来自技高网...

【技术保护点】
1.一种基于帧内数据差值神经网络加速方法,其特征在于,该方法具体如下:/nS1.对神经网络每层的输入通道进行相关性重排序,生成重排序权重集合W′;在一个数据集上测试神经网络,记录计算过程中每一层每个通道的输入数据,其中第i层,第j个通道的所有输入数据为D

【技术特征摘要】
1.一种基于帧内数据差值神经网络加速方法,其特征在于,该方法具体如下:
S1.对神经网络每层的输入通道进行相关性重排序,生成重排序权重集合W′;在一个数据集上测试神经网络,记录计算过程中每一层每个通道的输入数据,其中第i层,第j个通道的所有输入数据为D(i,j),每层的输入通道数为Cil(i);
S2.对重排序权重集合W′进行累加处理,生成输入通道方向累加预处理权重集合W″;
S3.从第一层开始计算神经网络;
S4.对当前计算层输入数据X进行差值处理,得到当前计算层差值数据ΔX;
S5.使用当前计算层差值数据ΔX和输入通道方向累加预处理权重W″进行支持稀疏加速的矩阵乘加运算,得到当前计算层中间结果数据Y′;
S6.当该层输入数据X执行过行或者列方向的差值处理,当前计算层中间结果数据Y′等于当前计算层原矩阵乘加计算结果Y的行或者列方向差值结果ΔY,执行步骤S7;否则计算层中间结果数据Y′等于当前计算层原矩阵乘加计算结果Y,执行步骤S8;
S7.对当前计算层中间结果数据ΔY进行行或者列方向差值恢复处理,得到当前计算层原矩阵乘加计算结果Y;
S8.根据当前计算层原矩阵乘加计算结果Y,通过激活函数计算得到该层的最终结果;
S9.如果当前计算层为最后一层则结束计算,如果不为最后一层则执行步骤S10;
S10.执行下一层计算,把下一层设为当前计算层,执行步骤S4。


2.如权利要求1所述的一种基于帧内数据差值神经网络加速方法,其特征在于,步骤S1相关性重排序具体是:
S101.由神经网络第一层作为当前计算层,i=1;
S102.从当前计算层第一个通道开始进行计算,将当前计算层的所有通道序号按顺序存入待处理列表Dil(i);
S103.如果当前计算层输入通道个数大于1,执行S104,否则执行S108;
S104.将当前计算通道序号j添加到输入通道映射列表Cil(i)末尾,从待处理列表Dil(i)删除当前计算通道序号j;
S105.将当前计算通道的输入数据D(i,j)与待处理列表Dil(i)中所有通道的输入数据D(i,j')进行差值绝对值之和计算,得到中间参数SD(i,j,j′)=∑|D(i,j)-D(i,j′)|,j′∈Dil(i);
S106.将SD(i,j,j')作为当前计算通道和当前层剩余通道相似度的衡量,选取SD(i,j,j')最小值对应的通道的序号j′作为当前计算通道序号,即j=j′;
S107.如果除去当前计算通道序号j,该层其他通道序号已经全部添加到Cil(i)中,则执行S108,否则跳转到步骤S104;
S108.将当前计算通道序号j添加到输入通道映射列表Cil(i)末尾,从待处理列表Dil(i)删除当前计算通道序号j;
S109.如果当前计算层非最后一层,执行S1010;否则执行S1011;
S1010.将下一层设为当前计算层,i=i+1,执行S102;
S1011.根据每层输入通道映射列表Cil(i)中通道的序号对神经网络输入输出通道进行重新排序,即对每层的原始权重集合W进行重排序,生成重排序后的权重集合W′;具体方法是:
如果第i层不为最后一层,映射方法为:w′(i,j',z')=w(i,Cil(i,t),Cil(i+1,r)),t=j′,r=z′;
如果第i层为最后一层,映射方法为:w′(i,j',z')=w(i,Cil(i,...

【专利技术属性】
技术研发人员:钟宇清梁骏杨常星宋蕴宋一平黄磊应屹航
申请(专利权)人:杭州国芯科技股份有限公司
类型:发明
国别省市:浙江;33

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

1