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

一种基于参数压缩的目标检测深度学习网络优化方法技术

技术编号:21631062 阅读:21 留言:0更新日期:2019-07-17 11:46
本发明专利技术公开了一种于FPGA硬件平台上对深度学习神经网络网络参数进行压缩的方法,具体涉及霍夫曼编码,并结合FPGA硬件资源特点对参数进行量化压缩,这种压缩方式能将原来的参数压缩20%‑30%,从而减小了参数所需的存储空间并加快神经网络前向推理速度,使得在小型化设备实现利用神经网络进行实时性目标检测成为可能。本发明专利技术的步骤为:一、根据参数的数据分布对全精度参数进行重新编码并得到一套数据位数为8bit的码表;二、将分布最多的数据用4bit数据索引来表示,其余分布数据用8bit数据索引表示;三、使用布尔数组来做数据索引的索引;四、检测布尔数组为1的时候通过移位得到分布最高的数据的索引;五、利用4bit或者8bit索引去码表中查找对应真实值。

An Optimal Method of Deep Learning Network for Target Detection Based on Parameter Compression

【技术实现步骤摘要】
一种基于参数压缩的目标检测深度学习网络优化方法
本专利技术专利属于神经网络优化领域,尤其涉及一种基于新型参数压缩方法并结合FPGA硬件资源特点,对目标检测深度学习网络优化方法。
技术介绍
深度神经网络是一种效果良好的方法,广泛应用于多种领域。在目标检测应用中常用的卷积神经网络是深度神经网络的一种变化形式。卷积神经网络模型在发展中尺寸不断增大,从而拥有计算密集与参数存储量大的特点,在很多资源受限的设备中无法部署应用。传统神经网络模型使用矩阵的数据结构存储网络参数,且数据采用32bit浮点型形式存储,在这些参数矩阵中不仅有大量的0值,且包含众多高概率重复数据。数据重复后直接存储会导致所需要的存储空间变大,存储效率降低,更重要的是会导致检测的时候读取参数所耗的时间变长,从而检测速度变慢,无法实现实时检测的目的。
技术实现思路
研究表明,采用8bit定点型格式去存储32bit浮点型权重数据,在不大范围降低检测效果的基础上会大幅压缩参数,减少数据存储空间。同时,不是简单地直接存储得到的数据(直接得到的数据中含有大量重复数据),而是减少重复数据的重复存储,又将进一步压缩参数,减少数据存储空间。因此,本专利技术提出一种基于参数压缩的目标检测深度学习网络优化方法,旨在利用霍夫曼编码规则,并结合FPGA硬件资源特点对参数进行量化压缩,这种压缩方式会随着数据概率分布而有不同的压缩率,从而减小了参数所需的存储空间并加快神经网络前向推理速度,使得在小型化设备实现利用神经网络进行实时性目标检测成为可能。本专利技术目的是根据霍夫曼编码规则,同时利用FPGA硬件资源的特点对参数进行量化压缩,以达到减小了参数所需的存储空间并加快神经网络前向推理速度目的,从而使得在小型化设备实现利用神经网络进行实时性目标检测成为可能。本专利技术通过以下技术方案来实现上述目的:一种基于新型参数压缩方法并结合FPGA硬件资源特点,对目标检测深度学习网络优化方法,包括以下步骤:步骤一,根据权重数据分布对权重数据进行重新编码并得到一套数据位数为8bit的码表;步骤二,将分布最多的权重数据用4bit数据索引来表示,其余分布的权重数据用8bit数据索引表示;步骤三,使用布尔数组来做数据索引的索引;步骤四,检测布尔数组为1的时候通过移位得到分布最高的权重数据的数据索引;步骤五,利用4bit或者8bit数据索引去码表中查找对应真实值。进一步的,步骤一中重新编码的具体实现过程如下,将每一层的权重数据分成[2-16,2-15,…,20,21,…,215]32组,对所有权重数据取绝对值,将分布在数组之间的权重数据向左规整到这32组中最邻近的数据中,并做出直方图;然后用边界宽度为8,步进为1的矩形区域划过直方图,重合面积最大的时的权重数据范围,即为权重信息主要集中的部分,将这一部分的权重数据编码到[-128,127]中,超出边界的权重数据规整为边界值;将权重数据转换成8位数据进行编码时,权重的量化尺度S1为:其中,权重的最小值为2m。进一步的,步骤一中生成码表放置在高速RAM里面便于快速读取数据。进一步的,步骤三中使用布尔数组来做数据索引的索引,其具体过程为,对权重数据的数据索引数组对应的布尔数组所在的存储空间进行数值扫描,如果发现数值为0,则与该位数值对应的数据索引数组为8bit数据;如果发现数值为1,则与该位数值对应的数据索引数组为两个4bit数据,此时将该位数据索引数组值向左向右移位4bit分别得到两个4bit数据。进一步的,步骤四中通过左移四位得到的后4bit数据表示的数据索引,而向右移动4bit数据得到的前4bit数据表示的数据索引。在如上所述算法流程的基础上,本专利技术实现了利用霍夫曼编码规则,并结合FPGA硬件资源特点对参数进行量化压缩,这种压缩方式会随着数据概率分布而有不同的压缩率,从而减小了参数所需的存储空间并加快神经网络前向推理速度,使得在小型化设备实现利用神经网络进行实时性目标检测成为可能。具体压缩率的计算如下:假设量化得到的[-128,127]总共256个数据的概率分别为p1、p2、p3......p255、p256。其中概率最高的16位分别是pmax1、pmax2......pmax15、pmax16。且其中信息熵为按照我们的编码方式得到的平均码长为则编码效率为而若采用定长8bit编码,其码长为8,其编码效率为参数编码效率提升了Δη=(η1-η2)×100%而不压缩时m个参数存储空间大小为m1=8mbit而压缩之后的参数存储空间为则参数空间压缩效率为可以根据相应的数据概率分布和参数个数来计算相应的编码效率和空间压缩效率。本专利技术的有益之处在于:可以大幅度减少参数存储空间,加快前向推理速度,而且实际上,这种参数存储方式并不只限于神经网络,其他于FPGA上实现的,需要大量参数存储空间的项目,均可以通过该方式有效减小所需的参数存储空间。附图说明为了易于说明,本专利技术由下述的实施例及附图进行详细描述。图1为本专利技术的流程图。图2为数据分布示意图。图3为数据索引存储示意图。图4为数据计算过程示意图。图5为一个目标检测深度学习网络框架。图6为一个目标检测深度学习网络参数构成。具体实施方式为了便于本领域普通技术人员理解和实施本专利技术,下面结合附图及实施例对本专利技术作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本专利技术,并不用于限定本专利技术。下面将结合附图对本专利技术实施例进行详细说明。一个具体的实施例子是YOLOv3目标检测深度学习网络。图4为YOLOv3目标检测深度学习网络框架。YOLOv3对YOLO9000进行了改进,网络模型比YOLO9000更大,进一步提高检测准确率,但速度比YOLO9000稍慢。与其他目标检测算法诸如SSD、DSSD等算法相比YOLOv3的综合性能仍然很是最好的,被业界誉为是最适合的工程算法,增加了候选框预测增加是否包含物体的判断,每个候选框可以预测多个分类,使用逻辑归二分类器进行分类。从图5中我们可以看出卷积神经网络的参数数量非常庞大,如果用32位浮点型的数据来表示,那么就会占用大量的硬件内存并且浮点运算会消耗大量的硬件资源,这种类型的数据对硬件并不友好。实验已经证明8位参数的和32位参数的卷积神经网络得出的结果在精度上相差并不是很大,网络在训练的过程中学习到了数据样本的模式可分性与数据中本来就存在的噪声,所以使得网络具有较强的鲁棒性。与图像上目标间的位置,姿态,角度等的变化程度相比,因为量化而产生的噪声只是很少的一部分,但实际上这些噪声引进的变动同样会使各个层的激活值输出发生变动,但却对结果影响不大。具体地,参考附图1和附图2所示,本专利技术上述实施例采用了一种基于新型参数压缩方法并结合FPGA硬件资源特点,对目标检测深度学习网络优化的方法。流程包括:根据权重数据分布对权重数据进行重新编码并得到一套数据位数为8bit的码表;将分布最多的权重数据用4bit数据索引来表示,其余分布的权重数据用8bit数据索引表示;使用布尔数组来做数据索引的索引;检测布尔数组为1的时候通过移位得到分布最高的权重数据的索引;利用4bit或者8bit索引去码表中查找对应真实值。具体步骤如下:步骤一:根据权重数据的分布对权重数据进行重新编码并得到一套数据位数为8bit的码本文档来自技高网...

【技术保护点】
1.一种基于参数压缩的目标检测深度学习网络优化方法,其特征在于,包括如下步骤:步骤一,根据权重数据分布对权重数据进行重新编码并得到一套数据位数为8bit的码表;步骤二,将分布最多的权重数据用4bit数据索引来表示,其余分布的权重数据用8bit数据索引表示;步骤三,使用布尔数组来做数据索引的索引;步骤四,检测布尔数组为1的时候通过移位得到分布最高的权重数据的数据索引;步骤五,利用4bit或者8bit数据索引去码表中查找对应真实值。

【技术特征摘要】
1.一种基于参数压缩的目标检测深度学习网络优化方法,其特征在于,包括如下步骤:步骤一,根据权重数据分布对权重数据进行重新编码并得到一套数据位数为8bit的码表;步骤二,将分布最多的权重数据用4bit数据索引来表示,其余分布的权重数据用8bit数据索引表示;步骤三,使用布尔数组来做数据索引的索引;步骤四,检测布尔数组为1的时候通过移位得到分布最高的权重数据的数据索引;步骤五,利用4bit或者8bit数据索引去码表中查找对应真实值。2.如权利要求1所述的一种基于参数压缩的目标检测深度学习网络优化方法,其特征在于:步骤一中重新编码的具体实现过程如下,将每一层的权重数据分成[2-16,2-15,…,20,21,…,216]32组,对所有权重数据取绝对值,将分布在数组之间的权重数据向左规整到这32组中最邻近的数据中,并做出直方图;然后用边界宽度为8,步进为1的矩形区域划过直方图,重合面积最大的时的权重数据范围,即为权重信息主要集中的部分,将这些权重数据编码到[-12...

【专利技术属性】
技术研发人员:范赐恩邹炼黄鑫郭洋杜娟
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北,42

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

1