卷积神经网络定点化优化的方法及系统技术方案

技术编号:19009606 阅读:910 留言:0更新日期:2018-09-22 09:25
本发明专利技术提供了一种卷积神经网络定点化优化的方法及系统,包括:量化步骤:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为N bits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;训练步骤:控制卷积层参数不变,训练量化后的卷积神经网络;卷积运算步骤:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个N bits的定点数以及n个4bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。本发明专利技术提高了运算效率降低了功耗,同时保证预测结果的准确度。

Method and system for fixed-point optimization of convolution neural network

The invention provides a method and a system for fixed-point optimization of convolution neural network, which comprises the following steps: quantizing the pre-trained convolution neural network, quantizing the input of the convolution neural network into fixed-point numbers of N bits, quantifying the parameters in the convolution kernel into numbers in the preset set, and selecting the preset set. The training steps are as follows: control the parameters of the convolution layer unchanged, train the quantized convolution neural network; convolution operation steps: input the trained convolution neural network into the convolutor, the input of the convolutor is the fixed number of n N bits and the parameters of N 4 bits convolution kernel, after displacement The input n input tree cascade adder, the n is the number of convolution kernels. The invention improves operation efficiency, reduces power consumption and ensures the accuracy of prediction results.

【技术实现步骤摘要】
卷积神经网络定点化优化的方法及系统
本专利技术涉及卷积神经网络
,具体地,涉及卷积神经网络定点化优化的方法及系统。
技术介绍
随着计算能力剧增,人工智能获得了巨大的发展,深度学习作为机器学习的新兴领域,起源对人工神经网络的进一步研究,为生物科学和计算机科学相互交叉渗透的产物,其处理复杂抽象的学习问题上表现很好,因此迅速风靡于学术界。然而,典型深度神经网络百万、千万或上亿数量级的参数数量使其对计算和存储设备有较高要求,因此部署网络模型时需要面对多个问题,如模型存储困难以及计算时模型参数传输困难等。因此,深度神经网络的海量参数和所需的计算量均限制了其实际应用,特别是移动设备上的应用,其带来的代价是服务端资源的巨大消耗。目前,随着嵌入式设备的普及,将神经网络部署在这些设备上能够大大减轻服务器的运算压力以及带宽压力。定点化是一种硬件上常用提高乘法加法效率的方法,又因为卷积神经网络的预测精度对参数变化不敏感,因此近年来定点化逐渐被用于硬件加速卷积神经网络。然而,普通的定点化操作仍然需要很多乘法加法的开销,因此二值神经网络被提出,这是一种参数均为+1,-1的网络,能将乘法操作摒除,然而这种方法会大大降低网络的精度。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种卷积神经网络定点化优化的方法及系统。根据本专利技术提供的一种卷积神经网络定点化优化的方法,包括:量化步骤:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为Nbits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;训练步骤:控制卷积层参数不变,训练量化后的卷积神经网络;卷积运算步骤:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个Nbits的定点数以及n个4bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。较佳的,所述预设集合为{-0.125,-0.25,-0.5,-1,-2,-4,-8,0.125,0.25,0.5,1,2,4,8}。较佳的,所述4bits的卷积核参数中的1bit卷积核参数的符合位。较佳的,所述卷积器中的位移器为n个并行位移器,或者多次复用一个移位器达代替n个并行移位器。较佳的,所述训练步骤之前还包括采用fine-tune微调方法微调量化后的卷积神经网络。根据本专利技术提供的一种卷积神经网络定点化优化的系统,包括:量化模块:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为Nbits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;训练模块:控制卷积层参数不变,训练量化后的卷积神经网络;卷积运算模块:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个Nbits的定点数以及n个4bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。较佳的,所述预设集合为{-0.125,-0.25,-0.5,-1,-2,-4,-8,0.125,0.25,0.5,1,2,4,8}。较佳的,所述4bits的卷积核参数中的1bit卷积核参数的符合位。较佳的,所述卷积器中的位移器为n个并行位移器,或者多次复用一个移位器达代替n个并行移位器。较佳的,所述训练模块之前还包括采用fine-tune微调方法微调量化后的卷积神经网络。与现有技术相比,本专利技术具有如下的有益效果:本专利技术通过特殊的模型参数定点化操作,得到更轻量的神经网络,后进行再训练提高网络精度,接着通过自主设计的基于移位操作的卷积器,有效避免了卷积操作中较为耗时的乘法操作,提高了运算效率降低了功耗,同时保证预测结果的准确度。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为传统卷积神经网络的卷积操作示意图;图2为本专利技术的卷积器架构示意图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。如图1所示,传统的卷积神经网络的基本卷积操作都是将输入和卷积核进行一系列的乘加操作,而实际上,针对图中的卷积核,参数只有0.5,1,2,这些乘法完全可以将原本的乘法单元转换为移位操作,如参数为0.5时,即是将输入数据左移一位。卷积神经网络的预测精度对参数变化不敏感,因此可以将参数全部量化为集合{-0.125,-0.25,-0.5,-1,-2,-4,-8,0.125,0.25,0.5,1,2,4,8}之中的数,这样一来,可以用4bit来存储每个参数的大小,其中1bit记录的是参数的符号位。本专利技术提供的一种卷积神经网络定点化优化的方法,包括:量化步骤:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为Nbits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;训练步骤:控制卷积层参数不变,训练量化后的卷积神经网络;卷积运算步骤:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个Nbits的定点数以及n个4bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。在卷积神经网络模型被放到fpga上去预测结果前,需要将典型的预训练过的卷积神经网络进行量化,首先卷积神经网络的输入可以量化为Nbits的定点数,卷积核中的参数量化为预设集合{-0.125,-0.25,-0.5,-1,-2,-4,-8,0.125,0.25,0.5,1,2,4,8}之中的数,选择与预设集合中的数欧式距离最近的数进行量化,如0.27量化为0.25。参数{0.125,0.25,0.5,1,2,4,8}可以编码为{111,110,101,000,001,010,011},另外还有一位符号位记录参数的正负。将卷积神经网络量化后,其预测精度必然有所下降,因此可以对网络进行fine-tune微调,控制卷积层参数不变,开始训练网络,此时主要变化的是全连接层中的参数,训练完毕后,该卷积神经网络将得到一个较为理想的预测精度。如图2所示,以3*3卷积核为例,本专利技术设计的卷积器,输入为9个Nbits的定点数以及9个4bits的卷积核参数,移位器可以有多种选择,桶型移位器和对数移位器均可,之后再经过定制的9输入树形级联加法器后可以输出一次卷积的结果,将这个模块封装为一个IP。本专利技术提出的硬件结构不限于上文所述,例如,针对5*5卷积核,只需将输入改为25个输入即可;由于移位器部分是多个并行的硬件结构,因此可以通过pipeline的方法多次复用1个移位器达到用多个并行移位器的效果,硬件资源消耗可以减少,但带来卷积器的延迟变大。本专利技术对于任意一种带有卷积操作的神经网络均适用,首先将卷积神经网络通过本专利技术所述的定点化量化方案进行模型量化,然后对整个神经网络进行fine-tune微调训练,得到一个精度可以接受的卷积神经网络,接着将原本的卷积神经网络的硬件结构进行替换,替换其中的卷积器为本专利技术所提出的卷积器,可以得到一种能效比非常高,预测速度更快,能够保证与专利技术本文档来自技高网...
卷积神经网络定点化优化的方法及系统

【技术保护点】
1.一种卷积神经网络定点化优化的方法,其特征在于,包括:量化步骤:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为N bits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;训练步骤:控制卷积层参数不变,训练量化后的卷积神经网络;卷积运算步骤:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个N bits的定点数以及n个4bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。

【技术特征摘要】
1.一种卷积神经网络定点化优化的方法,其特征在于,包括:量化步骤:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为Nbits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;训练步骤:控制卷积层参数不变,训练量化后的卷积神经网络;卷积运算步骤:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个Nbits的定点数以及n个4bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。2.根据权利要求1所述的卷积神经网络定点化优化的方法,其特征在于,所述预设集合为{-0.125,-0.25,-0.5,-1,-2,-4,-8,0.125,0.25,0.5,1,2,4,8}。3.根据权利要求1所述的卷积神经网络定点化优化的方法,其特征在于,所述4bits的卷积核参数中的1bit卷积核参数的符合位。4.根据权利要求1所述的卷积神经网络定点化优化的方法,其特征在于,所述卷积器中的位移器为n个并行位移器,或者多次复用一个移位器达代替n个并行移位器。5.根据权利要求1所述的卷积神经网络定点化优化的方法,其特征在于,所述训练步骤之前还包括采用fine-tune微调方法微调量化后的卷积神经网络。...

【专利技术属性】
技术研发人员:王琴柳泽辰蒋剑飞绳伟光景乃锋
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1