神经网络量化存储方法技术

技术编号:27590231 阅读:32 留言:0更新日期:2021-03-10 10:07
本发明专利技术公开了神经网络量化存储方法。本发明专利技术方法首先取得神经网络需要量化的数据,然后对数据进行高低位分割,判断判断高位数据是否等于零:如果为零,则舍去高位数据,仅保留低位数据;如果不为零,则舍去低位数据,仅保留高位数据。如果是无符号数据,在保留数据的头部或尾部添加标志位,将保留数据和标志位进行存储;如果是有符号数据,在保留高位的头部或尾部添加标志位,并在整体数据段前添加符号位,将符号位、标志位和保留数据进行存储。利用该方法存储神经网络数据,表示数据的比特位长度有效缩短,利于嵌入式设备存储,计算和部署,在相同数据位长的情况下相比于线性量化神经网络的预测精度更高。络的预测精度更高。络的预测精度更高。

【技术实现步骤摘要】
神经网络量化存储方法


[0001]本专利技术属于人工智能
,尤其是神经网络
,具体涉及一种神经网络数据量化存储方法。

技术介绍

[0002]深度学习技术目前已经广泛应用于图像分类、目标检测、语音识别以及自然语言处理等领域。然而深度学习并不是一项新技术,其思想早在上世纪50年代就已经诞生了,但是一直受制于算力,直到本世纪初,随之计算机硬件的发展,深度学习的热度才逐渐再次升温。
[0003]2012年AlexNet诞生之后才整个深度学习的发展迎来爆发期,目前已经有非常多的经典网络诞生,其模型预测精度已经逐渐逼近人类的预测精度,甚至在某些领域已经超过了人类的预测精度。但是效果的改进往往与模型的大小有关,更大的模型往往有着更高的精度,随之带来的问题是,网络越来越深,参数越来越多,神经网络消耗的内存也成为制约神经网络部署的重要问题。对于图像任务来说,数据量通常比较巨大,在需要实时预测的场景下,算力依然是一个制约神经网络性能的因素。在此基础上,数据的位长越短,对算力的要求越低,于是提出一种有效的神经网络数据量化存储方法十分必要,在相同位长的情况下,能够保留更多的有效信息,目前主要依赖过压缩或者编码等方式减小数据量级。量化是目前最常用也是应用最广泛的手段,量化有着原理简单,公式少,实现方便,性能稳定,技巧多样等特点。
[0004]量化可以降低表示数据所用的比特数,虽然目前应用十分广泛,但是直接简单量化带来的最普遍的问题是网络精度的下降,于是专门针对量化的研究也成为了热点。如何在量化数据的同时保证神经网络的性能,并且可以更加节约存储,提出一种满足要求的的神经网络量化方法十分必要。

技术实现思路

[0005]本专利技术的目的就是针对现有技术的不足,提供一种神经网络量化存储方法。
[0006]本专利技术方法具体如下:
[0007](1).首先取得神经网络需要量化的数据,包括权重、偏置、样本数据;
[0008](2).如果数据d为无符号数据,对长度为L位的数据d进行高低位分割,L=2
k
,取数据前n位作为高位,则后(L-n)位为低位,b为调整参数,b=0,1,2,

,k;
[0009]判断高位数据d
high
是否等于零:如果为零,则截断数据,舍去高位数据,仅保留低位数据d
low
;如果不为零,则截断数据,舍去低位数据,仅保留高位数据d
high

[0010]i,j∈[0,L-1];
[0011]在保留数据的头部或尾部添加标志位,将保留数据和标志位进行存储;
[0012](3).如果数据d为有符号数据,对长度为L的数据d进行高低位分割,L=2
k
,去除数据符号后,将前m位作为高位,则后(L-m-1)位为低位,b为调整参数,b=0,1,2,

,k;
[0013]判断高位数据d
high
是否等于零:如果为零,则截断数据,舍去高位数据,仅保留低位数据d
low
;如果不为零,则截断数据,舍去低位数据,仅保留高位数据d
high

[0014]i,j∈[0,L-1];
[0015]在保留数据头部或尾部添加标志位,并在整体数据段前添加符号位,将符号位、标志位和保留数据进行存储。
[0016]目前通用的线性量化处理数据最简单,但是未针对神经网络的数据做相应的优化。对于神经网络的权重数据来说,有相当一部分都是较小并且接近与0的数值,对于样本数据和偏置来说,也有可能出现较小并且接近于0的值。本专利技术方法首先判断数据高位是否存在数值,若存在,则对高位的数值进行保留,截断数据,舍弃低位的数值;若不存在,则保留低位的数值,舍弃高位部分。利用本专利技术所述方法存储神经网络的数据,可以使大量的权重数据位长缩短,并且对神经网络的预测精度影响很小。在相同数据位长的情况下相比于线性量化硬件存储的信息更多,网络性能更好。同时在存储时位长显著缩短,节省了存储空间,表示数据的比特数缩短后也节约了硬件算力,对硬件更加友好,易于硬件实现。
附图说明
[0017]图1是本专利技术第一实施例示意图;
[0018]图2是本专利技术第二实施例示意图;
[0019]图3是本专利技术第三实施例示意图;
[0020]图4是本专利技术第四实施例示意图。
具体实施方式
[0021]神经网络量化存储方法,针对数据自身的特点进行适当的截断,使得数据在相同数据位长的情况下保留了更多的有效数值,使得神经网络性能下降更少。具体流程如下:
[0022](1).首先取得神经网络需要量化的数据,包括权重、偏置、样本数据;
[0023](2).如果数据d为无符号数据,对长度为L位的数据d进行高低位分割,L=2
k
,取数据前n位作为高位,则后(L-n)位为低位,b为调整参数,b=0,1,2,

,k;
[0024]判断高位数据d
high
是否等于零:如果为零,则截断数据,舍去高位数据,仅保留低位数据d
low
;如果不为零,则截断数据,舍去低位数据,仅保留高位数据d
high

[0025]i,j∈[0,L-1];
[0026]在保留的高位数据d
high
或低位数据d
low
的头部或尾部添加标志位,以表示保留的数据为原始数据的高位或低位,将保留数据和标志位进行存储;
[0027](3).如果数据d为有符号数据,对长度为L的数据d进行高低位分割,L=2
k
,去除数
据符号后,将前m位作为高位,则后(L-m-1)位为低位,b为调整参数,b=0,1,2,

,k;
[0028]判断高位数据d
high
是否等于零:如果为零,则截断数据,舍去高位数据,仅保留低位数据d
low
;如果不为零,则截断数据,舍去低位数据,仅保留高位数据d
high

[0029]i,j∈[0,L-1];
[0030]在保留的高位数据d
high
或低位数据d
low
的头部或尾部添加标志位,以表示保留的数据为原始数据的高位或低位,并在整体数据段前添加符号位,将符号位、标志位和保留数据进行存储。
[0031]实施例1:
[0032]输入长度为16位的数据data,将数据划分为5位高位数据和11位低位数据;然后判断高位数据是否为0,高位数据都为0,于是保留低11位数据,舍去高5位数据;在低位数据头部增加标志位1,表示保留的数据是原始数据的低位,最后输出数据,如图1。
[0033]实施例2:
[0034]输入长度为16位的数据data,将数据划分为8位高位数据和8位低位数据;然后判断高位数据是否为0,高位数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.神经网络量化存储方法,其特征在于,该方法具体如下:(1).首先取得神经网络需要量化的数据,包括权重、偏置、样本数据;(2).如果数据d为无符号数据,对长度为L位的数据d进行高低位分割,L=2
k
,取数据前n位作为高位,则后(L-n)位为低位,b为调整参数,b=0,1,2,

,k;判断高位数据d
high
是否等于零:如果为零,则截断数据,舍去高位数据,仅保留低位数据d
low
;如果不为零,则截断数据,舍去低位数据,仅保留高位数据d
high
;在保留数据的头部或尾部添加标志位...

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

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

1