适用于稀疏神经网络计算阵列的数据处理方法和加速器技术

技术编号:34769900 阅读:32 留言:0更新日期:2022-08-31 19:29
本发明专利技术提出一种适用于稀疏神经网络计算阵列的数据处理方法和加速器。本发明专利技术将特征图数据进行编码存储,采用的编码方法是将数据以行向量为单位进行存储,以行向量为单位进行编码存储和解码输出,有利于大型矩阵的分块操作,解决了稀疏矩阵中连续全零行的存储问题,存储开销比较小。本发明专利技术编码传输方式,保留传输必要有效的列向量数据,对于无效计算的零向量使用游程编码,可快速跳过大量无效零向量,直接选择有效向量计算,加快计算速度减少执行周期。周期。

【技术实现步骤摘要】
适用于稀疏神经网络计算阵列的数据处理方法和加速器


[0001]本专利技术涉及深度学习数据编解码领域,具有涉及适用于稀疏神经网络计算阵列的数据处理方法和加速器。

技术介绍

[0002]近年来随着深度学习在图像处理、自然语言文本处理、序列建模等方面的技术应用落地实现,为了解决深度学习神经网络计算需求不断增长的问题,通过定制化专用计算硬件(例如GPU、FPGA、ASIC),通过对深度神经网络进行领域特定体系结构设计提升神经网络的计算效率和速度。随着越来越多的公司开发出了用于深度学习的硬件加速器应用于这些领域,优秀的硬件架构也不断设计实现。例如脉动阵列TPU结构、脉动阵列行固定数据流结构。
[0003]在神经网络深度学习领域方面,用于雷达回波图像处理、医学造影成像、文本挖掘、电商股票预测、语音识别、序列建模等方面的卷积神经网络模型中,由于数据收集过程中绝大部分数值为零或当处理图像时包含许多黑色像素,特征图数据包含大量的零元素且零元素呈不规则分布呈稀疏化,因此这些方面的神经网络模型的输入数据经常是稀疏矩阵。另外由于神经网络推断过程中激活函数引入大本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.适用于稀疏神经网络计算阵列的数据处理方法,其特征在于,包括:将特征图数据进行编码存储:使用values数组存储特征图数据有效数据行中非零的有效元素数据,对于1列或多列连续的全零行则存储0值作为连续全零行标记;使用column_indices数组存储values数组中每个有效元素数据在有效数据行中的列索引和0值对应的连续全零行数量;使用column_num数组存储每个有效数据行的有效元素数据个数;读取编码存储的特征图数据并进行解码,得到解码后的特征图数据;将解码后的特征图数据中多行行向量整合为连续列向量,得到整合后的特征图数据;对整合后的特征图数据进行编码传输,编码传输时对连续列向量中的连续全零列向量进行游程编码,得到待计算的特征图数据;调度待计算的特征图数据中除连续全零列向量外的连续列向量和卷积核,并进行卷积计算。2.根据权利要求1所述的适用于稀疏神经网络计算阵列的数据处理方法,其特征在于,读取编码存储的特征图数据并进行解码具体是:读取编码存储的特征图数据,解码的当前行在编码前特征图数据的行索引记为row_index,同时对values、column_indices和column_num三个数组中的数据进行遍历,遍历values数组中的数据x,如果数据x不为0,则表示解码的当前行为有效数据行,数据x是当前行的第一个有效元素数据,column_indices数组对应取出的是数据x在当前行的列索引,column_num数组对应的是当前行的有效元素数据个数n;根据n值遍历values数组取出后续与数据x处于同一行的有效元素数据,直到当前行的有效元素数据全部取出,解码得到当前行,然后行索引更新为row_index=row_index+1,继续进行遍历;如果数据x为0,则表示解码的当前行为连续全零行,对应column_indices数组取出的是连续全零行的列数;遍历完得到解码后的特征图数据。3.根据权利要求1所述的适用于稀疏神经网络计算阵列的数据处理方法,其特征在于,对整合后的特征图数据进行编码传输具体是:对连续列向量中的连续全零列向量,使用游程编码标记连续数量,并且使用1位标记位,标记位为0时,向量位数值为全零列向量连续数量;标记位为1时,向量位为连续列向量中的有效向量数值;调度连续列向量时,跳过标记位为0的连续全零列向量。4.根据权利要求1所述的适用于稀疏神经网络计算阵列的数据处理方法,其特征在于,所述卷积核是通过提取卷积核权重有效向量得到。...

【专利技术属性】
技术研发人员:张国和吴慧东
申请(专利权)人:西安交通大学
类型:发明
国别省市:

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

1