CN108564165B - 卷积神经网络定点化优化的方法及系统 - Google Patents
卷积神经网络定点化优化的方法及系统 Download PDFInfo
- Publication number
- CN108564165B CN108564165B CN201810206021.7A CN201810206021A CN108564165B CN 108564165 B CN108564165 B CN 108564165B CN 201810206021 A CN201810206021 A CN 201810206021A CN 108564165 B CN108564165 B CN 108564165B
- Authority
- CN
- China
- Prior art keywords
- neural network
- convolutional neural
- convolution
- parameters
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000012549 training Methods 0.000 claims abstract description 15
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000013139 quantization Methods 0.000 claims description 9
- 238000011002 quantification Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种卷积神经网络定点化优化的方法及系统,包括:量化步骤:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为N bits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;训练步骤:控制卷积层参数不变,训练量化后的卷积神经网络;卷积运算步骤:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个N bits的定点数以及n个4bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。本发明提高了运算效率降低了功耗,同时保证预测结果的准确度。
Description
技术领域
本发明涉及卷积神经网络技术领域,具体地,涉及卷积神经网络定点化优化的方法及系统。
背景技术
随着计算能力剧增,人工智能获得了巨大的发展,深度学习作为机器学习的新兴领域,起源对人工神经网络的进一步研究,为生物科学和计算机科学相互交叉渗透的产物,其处理复杂抽象的学习问题上表现很好,因此迅速风靡于学术界。然而,典型深度神经网络百万、千万或上亿数量级的参数数量使其对计算和存储设备有较高要求,因此部署网络模型时需要面对多个问题,如模型存储困难以及计算时模型参数传输困难等。因此,深度神经网络的海量参数和所需的计算量均限制了其实际应用,特别是移动设备上的应用,其带来的代价是服务端资源的巨大消耗。
目前,随着嵌入式设备的普及,将神经网络部署在这些设备上能够大大减轻服务器的运算压力以及带宽压力。定点化是一种硬件上常用提高乘法加法效率的方法,又因为卷积神经网络的预测精度对参数变化不敏感,因此近年来定点化逐渐被用于硬件加速卷积神经网络。然而,普通的定点化操作仍然需要很多乘法加法的开销,因此二值神经网络被提出,这是一种参数均为+1,-1的网络,能将乘法操作摒除,然而这种方法会大大降低网络的精度。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种卷积神经网络定点化优化的方法及系统。
根据本发明提供的一种卷积神经网络定点化优化的方法,包括:
量化步骤:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为Nbits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;
训练步骤:控制卷积层参数不变,训练量化后的卷积神经网络;
卷积运算步骤:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个N bits的定点数以及n个4 bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。
较佳的,所述预设集合为{-0.125,-0.25,-0.5,-1,-2,-4,-8,0.125,0.25,0.5,1,2,4,8}。
较佳的,所述4 bits的卷积核参数中的1 bit为卷积核参数的符号位。
较佳的,所述卷积器中的位移器为n个并行位移器,或者多次复用一个位移器代替n个并行位移器。
较佳的,所述训练步骤包括采用fine-tune微调方法微调量化后的卷积神经网络。
根据本发明提供的一种卷积神经网络定点化优化的系统,包括:
量化模块:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为Nbits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;
训练模块:控制卷积层参数不变,训练量化后的卷积神经网络;
卷积运算模块:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个N bits的定点数以及n个4 bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。
较佳的,所述预设集合为{-0.125,-0.25,-0.5,-1,-2,-4,-8,0.125,0.25,0.5,1,2,4,8}。
较佳的,所述4 bits的卷积核参数中的1 bit为卷积核参数的符号位。
较佳的,所述卷积器中的位移器为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个N bits的定点数以及n个4 bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。
在卷积神经网络模型被放到fpga上去预测结果前,需要将典型的预训练过的卷积神经网络进行量化,首先卷积神经网络的输入可以量化为N bits的定点数,卷积核中的参数量化为预设集合{-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个N bits的定点数以及9个4bits的卷积核参数,位移器可以有多种选择,桶型位移器和对数位移器均可,之后再经过定制的9输入树形级联加法器后可以输出一次卷积的结果,将这个模块封装为一个IP。
本发明提出的硬件结构不限于上文所述,例如,针对5*5卷积核,只需将输入改为25个输入即可;由于位移器部分是多个并行的硬件结构,因此可以通过pipeline的方法多次复用1个位移器达到用多个并行位移器的效果,硬件资源消耗可以减少,但带来卷积器的延迟变大。
本发明对于任意一种带有卷积操作的神经网络均适用,首先将卷积神经网络通过本发明所述的定点化量化方案进行模型量化,然后对整个神经网络进行fine-tune微调训练,得到一个精度可以接受的卷积神经网络,接着将原本的卷积神经网络的硬件结构进行替换,替换其中的卷积器为本发明所提出的卷积器,可以得到一种能效比非常高,预测速度更快,能够保证与发明前硬件结构相仿的神经网络推导器。
在上述一种卷积神经网络定点化优化的方法的基础上,本发明还提供一种卷积神经网络定点化优化的系统,包括:
量化模块:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为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微调方法微调量化后的卷积神经网络,控制卷积层参数不变,训练量化后的卷积神经网络;
卷积运算模块:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个N bits的定点数以及n个4 bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量。4 bits的卷积核参数中的1 bit为卷积核参数的符号位。卷积器中的位移器为n个并行位移器,或者多次复用一个位移器代替n个并行位移器。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (2)
1.一种卷积神经网络定点化优化的方法,其特征在于,包括:
量化步骤:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为Nbits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;
训练步骤:控制卷积层参数不变,训练量化后的卷积神经网络;
卷积运算步骤:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个Nbits的定点数以及n个4 bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量;
所述卷积器中的位移器为n个并行位移器,或者多次复用一个位移器代替n个并行位移器;
所述训练步骤包括采用fine-tune微调方法微调量化后的卷积神经网络;
所述预设集合为{-0.125,-0.25,-0.5,-1,-2,-4,-8,0.125,0.25,0.5,1,2,4,8};
所述4 bits的卷积核参数中的1 bit为卷积核参数的符号位。
2.一种卷积神经网络定点化优化的系统,其特征在于,包括:
量化模块:将预训练过的卷积神经网络进行量化,将卷积神经网络的输入量化为Nbits的定点数,将卷积核中的参数量化为预设集合中的数,选择与所述预设集合中欧式距离最近的数进行量化;
训练模块:控制卷积层参数不变,训练量化后的卷积神经网络;
卷积运算模块:将经过训练的卷积神经网络输入卷积器,所述卷积器的输入为n个Nbits的定点数以及n个4 bits的卷积核参数,经过位移器输入n输入树形级联加法器,所述n为卷积核的数量;
所述卷积器中的位移器为n个并行位移器,或者多次复用一个位移器代替n个并行位移器;
所述训练模块包括采用fine-tune微调方法微调量化后的卷积神经网络;
所述预设集合为{-0.125,-0.25,-0.5,-1,-2,-4,-8,0.125,0.25,0.5,1,2,4,8};
所述4 bits的卷积核参数中的1 bit为卷积核参数的符号位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810206021.7A CN108564165B (zh) | 2018-03-13 | 2018-03-13 | 卷积神经网络定点化优化的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810206021.7A CN108564165B (zh) | 2018-03-13 | 2018-03-13 | 卷积神经网络定点化优化的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108564165A CN108564165A (zh) | 2018-09-21 |
CN108564165B true CN108564165B (zh) | 2024-01-23 |
Family
ID=63532548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810206021.7A Active CN108564165B (zh) | 2018-03-13 | 2018-03-13 | 卷积神经网络定点化优化的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108564165B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111144560B (zh) * | 2018-11-05 | 2024-02-02 | 杭州海康威视数字技术股份有限公司 | 一种深度神经网络运算方法及装置 |
CN109359727B (zh) * | 2018-12-07 | 2022-01-11 | 北京字节跳动网络技术有限公司 | 神经网络的结构确定方法、装置、设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239829A (zh) * | 2016-08-12 | 2017-10-10 | 北京深鉴科技有限公司 | 一种优化人工神经网络的方法 |
CN107480770A (zh) * | 2017-07-27 | 2017-12-15 | 中国科学院自动化研究所 | 可调节量化位宽的神经网络量化与压缩的方法及装置 |
CN107644254A (zh) * | 2017-09-09 | 2018-01-30 | 复旦大学 | 一种卷积神经网络权重参数量化训练方法及系统 |
CN107657316A (zh) * | 2016-08-12 | 2018-02-02 | 北京深鉴科技有限公司 | 通用处理器与神经网络处理器的协同系统设计 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170076195A1 (en) * | 2015-09-10 | 2017-03-16 | Intel Corporation | Distributed neural networks for scalable real-time analytics |
US10831444B2 (en) * | 2016-04-04 | 2020-11-10 | Technion Research & Development Foundation Limited | Quantized neural network training and inference |
-
2018
- 2018-03-13 CN CN201810206021.7A patent/CN108564165B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239829A (zh) * | 2016-08-12 | 2017-10-10 | 北京深鉴科技有限公司 | 一种优化人工神经网络的方法 |
CN107657316A (zh) * | 2016-08-12 | 2018-02-02 | 北京深鉴科技有限公司 | 通用处理器与神经网络处理器的协同系统设计 |
CN107480770A (zh) * | 2017-07-27 | 2017-12-15 | 中国科学院自动化研究所 | 可调节量化位宽的神经网络量化与压缩的方法及装置 |
CN107644254A (zh) * | 2017-09-09 | 2018-01-30 | 复旦大学 | 一种卷积神经网络权重参数量化训练方法及系统 |
Non-Patent Citations (4)
Title |
---|
吴艳.基于FPGA的数字图像处理基本算法研究与实现.《中国优秀硕士学位论文全文数据库 信息科技辑》.2012,论文第44-47页. * |
周孟然.煤矿瓦斯的激光光谱检测技术研究.合肥工业大学出版社,2012,第158-161页. * |
周孟然.神经网络在瓦斯浓度检测中的应用.《煤矿瓦斯的激光光谱检测技术研究》.2012,第159-160页. * |
基于FPGA的数字图像处理基本算法研究与实现;吴艳;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120715;论文第44-47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108564165A (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102672004B1 (ko) | 저 정밀도 뉴럴 네트워크 학습을 위한 방법 및 장치 | |
US20240005135A1 (en) | Accelerating neural networks with low precision-based multiplication and exploiting sparsity in higher order bits | |
CN108491926B (zh) | 一种基于对数量化的低比特高效深度卷积神经网络硬件加速设计方法、模块及系统 | |
CN107451658B (zh) | 浮点运算定点化方法及系统 | |
CN109543830B (zh) | 一种用于卷积神经网络加速器的拆分累加器 | |
CN109325590B (zh) | 用于实现计算精度可变的神经网络处理器的装置 | |
CN111814973B (zh) | 一种适用于神经常微分方程网络计算的存内计算系统 | |
EP3931756A1 (en) | Neural network layer processing with normalization and transformation of data | |
CN107766936A (zh) | 人造神经网络、人造神经元及人造神经元的控制方法 | |
CN108564165B (zh) | 卷积神经网络定点化优化的方法及系统 | |
CN111382860A (zh) | 一种lstm网络的压缩加速方法及fpga加速器 | |
CN110796251A (zh) | 基于卷积神经网络的图像压缩优化方法 | |
CN110265002A (zh) | 语音识别方法、装置、计算机设备及计算机可读存储介质 | |
CN110751265A (zh) | 一种轻量型神经网络构建方法、系统及电子设备 | |
CN115982528A (zh) | 基于Booth算法的近似预编码卷积运算方法及系统 | |
CN111160524A (zh) | 一种两阶段的卷积神经网络模型压缩方法 | |
CN109993279A (zh) | 一种基于查找表计算的双层同或二值神经网络压缩方法 | |
Xiyuan et al. | A review of FPGA‐based Custom computing architecture for convolutional neural network inference | |
Reddy et al. | Quantization aware approximate multiplier and hardware accelerator for edge computing of deep learning applications | |
Li et al. | Large language model inference acceleration: A comprehensive hardware perspective | |
Fuketa et al. | Image-classifier deep convolutional neural network training by 9-bit dedicated hardware to realize validation accuracy and energy efficiency superior to the half precision floating point format | |
Zhan et al. | Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems | |
CN112529189A (zh) | 模型压缩方法、装置、电子设备及存储介质 | |
Lang et al. | A Comprehensive Study on Quantization Techniques for Large Language Models | |
Kumar et al. | Complex multiplier: implementation using efficient algorithms for signal processing application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |