CN116957010A - 一种用于卷积神经网络的模型推理方法和装置 - Google Patents
一种用于卷积神经网络的模型推理方法和装置 Download PDFInfo
- Publication number
- CN116957010A CN116957010A CN202310857190.8A CN202310857190A CN116957010A CN 116957010 A CN116957010 A CN 116957010A CN 202310857190 A CN202310857190 A CN 202310857190A CN 116957010 A CN116957010 A CN 116957010A
- Authority
- CN
- China
- Prior art keywords
- model
- neural network
- convolutional neural
- value
- parameter
- 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.)
- Pending
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000013139 quantization Methods 0.000 claims abstract description 106
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 25
- 238000013138 pruning Methods 0.000 claims abstract description 14
- 230000011218 segmentation Effects 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 238000005520 cutting process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种用于卷积神经网络的模型推理方法和装置,首先提取已完成训练的第一卷积神经网络模型的模型参数;然后对提取模型参数进行剪枝,以去除其值在第一阈值区间的模型参数,保留其值在第二阈值区间的模型参数;再对每个模型参数进行量化处理,以获取每个所述模型参数的标志位、符号位和有效宽位的值;其中,模型参数的有效宽位的值为定点数值,是应用二分段量化方法或多分段量化方法对模型参数进行量化处理获得;最后将量化处理后获得的模型参数替换原模型参数,以获取第二卷积神经网络模型。由于新的卷积神经网络模型的模型参数是依据已完成训练的模型参数获取,大大提高了新卷积神经网络模型的训练效率。
Description
技术领域
本发明涉及卷积神经网络模型训练技术领域,具体涉及一种用于卷积神经网络的模型推理方法和装置。
背景技术
随着基于神经网络的人工智能解决方案的需求越来越多,在一些移动平台如无人机、机器人等都应用卷积神经网络构建,这些都正在深刻的改变人类的生产和生活方式。卷积神经网路模型其计算复杂性高、参数冗余,对硬件平台的内存、带宽等条件要求较高,从而导致在一些场景或设备上的推理部署存在限制。近几年来模型推理的优化方法包括模型压缩、软件库优化、异构计算、硬件加速等技术。然而卷积神经网络模型的结构多样、数据量大、计算量大,也给硬件实现神经网络算法设计提出了巨大挑战,尤其,卷积神经网络模型的训练过程,不但至关重要,但也及其繁琐,如何提高卷积神经网络模型的训练效率,是现阶段卷积神经网络模型的主要研究方向。
发明内容
本申请提供一种用于卷积神经网络的模型推理方法,用于提高卷积神经网络模型的训练效率。
根据第一方面,一实施例中提供一种用于卷积神经网络的模型推理方法,包括:
步骤101,提取已完成训练的第一卷积神经网络模型的模型参数;所述第一卷积神经网络模型用于提取第一图像特征;所述第一卷积神经网络模型的模型参数包括权重;
步骤102,对提取的所述第一卷积神经网络模型的模型参数进行剪枝,以去除其值在第一阈值区间的模型参数,保留其值在第二阈值区间的模型参数;所述第二阈值区间的范围大于所述第一阈值区间;
步骤103,对每个所述模型参数进行量化处理,以获取每个所述模型参数的标志位、符号位和有效宽位的值;其中,所述模型参数的有效宽位的值为定点数值,是应用二分段量化方法或多分段量化方法对所述模型参数进行量化处理获得;
步骤104,将量化处理后获得的所述模型参数替换所述第一卷积神经网络模型的模型参数,以获取第二卷积神经网络模型;所述第二卷积神经网络模型用于提取第二图像特征。
一实施例中,所述第一图像特征与所述第二图像特征不同。
一实施例中,所述模型推理方法还包括:
步骤105,通过包含所述第二图像特征的训练数据集对所述第二卷积神经网络模型进行训练,以获取所述第二卷积神经网络模型的精度损失值;
步骤106,当所述精度损失值大于一第一预设值时变更所述第一阈值区间或所述第二阈值区间,并重复步骤102至步骤105;
当所述精度损失值不大于所述第一预设值时,输出所述第二卷积神经网络模型。
一实施例中,所述模型推理方法还包括:
对占比较高的绝对值小于一第一预设初始值的模型参数应用所述二分段量化方法进行量化处理。
一实施例中,所述二分段量化方法对所述模型参数进行量化处理包括:
标识所述模型参数的标志位、符号位和有效位宽,并设定有效位宽的中间为一个切分点;所述标志位用于表示所述模型参数的值是高位值还是低位值,所述符号位用于表示所述模型参数的值是正值或负值,所述有效位宽用于表示模型参数的有效值;
清除所述模型参数有效位宽在所述切分点之前的数据,以减少所述有效位宽,并将减少所述有效位宽的数据作为所述第二卷积神经网络模型的模型参数。
一实施例中,所述模型推理方法还包括:
对占比较低的绝对值不小于所述第一预设初始值的模型参数应用所述多分段量化方法进行量化处理。
一实施例中,所述多分段量化方法对所述模型参数进行量化处理包括:
标识所述模型参数的标志位、符号位和有效位宽,并按预设步长在所述有效位宽上设定至少两个切分点;所述标志位用于表示所述模型参数的值是高位值还是低位值,所述符号位用于表示所述模型参数的值是正值或负值,所述有效位宽用于表示模型参数的有效值;
清除所述模型参数有效位宽在最后一个所述切分点之前的数据,以减少所述有效位宽,并将减少所述有效位宽的数据作为所述第二卷积神经网络模型的模型参数。
一实施例中,所述模型推理方法还包括:
再通过包含所述第二图像特征的训练数据集对所述第二卷积神经网络模型进行训练,以获取所述第二卷积神经网络模型的精度损失值;
当所述精度损失值大于一第二预设值时变更所述二分段量化方法或所述多分段量化方法中所述切分点的位置,并重复步骤102至步骤105;
当所述精度损失值不大于所述第二预设值时,输出所述第二卷积神经网络模型。
根据第二方面,一实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现如第一方面所述的模型推理方法。
根据第三方面,一实施例中提供一种用于卷积神经网络的模型推理装置,包括:
参数提取模块,用于提取已完成训练的第一卷积神经网络模型的模型参数;所述第一卷积神经网络模型用于提取第一图像特征;所述第一卷积神经网络模型的模型参数包括权重;
参数剪枝模块,用于对提取的所述第一卷积神经网络模型的模型参数进行剪枝,以去除其值在第一阈值区间的模型参数,保留其值在第二阈值区间的模型参数;所述第二阈值区间的范围大于所述第一阈值区间;
量化处理模块,用于对每个所述模型参数进行量化处理,以获取每个所述模型参数的标志位、符号位和有效宽位的值;其中,所述模型参数的有效宽位的值为定点数值,是应用二分段量化方法或多分段量化方法对所述模型参数进行量化处理获得;
模型获取模块,用于将量化处理后获得的所述模型参数替换所述第一卷积神经网络模型的模型参数,以获取第二卷积神经网络模型;所述第二卷积神经网络模型用于提取第二图像特征。
依据上述实施例的模型推理方法,是依据已完成训练的卷积神经网络模型的模型参数获取新卷积神经网络模型的模型参数,可以大大提高了新卷积神经网络模型的训练效率。
附图说明
图1为一种卷积神经网络的结构图;
图2为一种单隐藏层卷积神经网络结构图;
图3为另一种实施例的图像数据信息;
图4为一种实施例中模型推理方法的流程示意图;
图5为一种实施例中模型参数的数据格式表示示意图;
图6为一种实施例中多分段量化方法中切分位置设置示意图;
图7为一种实施例中多分段量化后模型参数的数据格式表示示意图;
图8为一种实施例中模型推理装置的结构框图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,一般可以分为输入层、隐藏层和输出层,隐藏层又可分为卷积层和池化层。
下面用一个具体的实例讲解下卷积神经网络的结构,如图1所示,为一种卷积神经网络的结构图。该卷积神经网络输入的是一张a*a分辨率的图像,例如28*28分辨率的图像。
卷积层C1用M个n*n的卷积核对上述图像做卷积运算,获得M个b*b分辨率的图像,一般还会加偏置和激活的操作,便于理解卷积神经网络的结构省略了这两个步骤。
采样层S2对卷积层C1获得的M个 b *b分辨率的图像进行采样操作获得M个 b /2*b /2分辨率的图像。
卷积层C3用12个5*5的卷积核对采样层S2获得6个12*12分辨率的图像进行卷积运算,获得12个8*8分辨率的图像。
采样层S3对卷积层C3获得的12个8*8分辨率的图像进行采样操作获得12个4*4分辨率的图像。
输出层是对采样层S3获得的12个4*4分辨率的图像进行全连接输出,得到图像的12个特征信息。
从上述例子中卷积神经网络采用两个卷积层,并且输出层的全连接输出也是一种特殊的卷积运算,所以卷积计算是卷积神经网络的主要工作,而卷积运算参数是卷积神经网络的核心。
请参考图2,为一种单隐藏层卷积神经网络结构图,卷积神经网络的输入层输入的是像素点为7*7的MINIST数据集图像信息,进行4位量化,小数取2位。MINIST数据集多张灰度图片,可以用一个数字数组来表示一张图片,每张图片包含7*7个像素点。每一张图片都有对应的标签,也就是图片对应的数字,例如图3所示,为图片信息为数字“0”的图片和对应图像像素点的数值,每张图片里的每一个像素点的数值都表示该张图片里的某个像素点的强度值。MINIST数据集的训练数据集标签是介于0到9的数字,用来描述给定图片里表示的数字。称为唯一向量,一个唯一向量除了某一位数字1以外其余各维度数字都是0,所以此例中数字N将表示成一个只有在第N维度(从0开始)数字为1的10维向量。比如,图3所示标签0将表示成([1,0,0,0,0,0,0,0,0,0])。其标签就是一个[10000,10]的数字矩阵。
本实施例选取选取6个4*4大小的卷积核,根据如下公式(1),获得Y k :
;
其中,k代表卷积核的个数(如k=1,2,3,4,5,6),m代表卷积核大小(此例中4位量化m=4*4),Wc ik 是卷积层权重,bc k 为卷积核偏置,x i 为输入的图像数据。
池化层最大下采样操作取dim=2,全连接层的权重是2*2*10=40个,进行4位量化,小数取0位,全连接层的偏置为10个1,采用4位量化,小数取2位。全连接层的卷积公式是:
;
其中,Zout_channeli是代表全连接运算结果,f k ()是代表激活池化变换函数,Y k 是上一层卷积计算层输出值,k代表全连接层偏置个数(k=1.2.3. 4...k为自然数),i代表全连接输出分类通道编号,m代表通道个数(如m=4*4=16),Wd ik 是全连接权重,bd k 为全连接层偏置。
对卷积神经网络模型的训练过程就是对卷积运算参数的量化过程,现有技术中,对卷积神经网络模型进行参数量化就只有对整个卷积神经网络进行长时间的有效训练。
在本申请实施例中,基于一已训练完成的第一卷积神经网络模型,依托定向调参和少量训练的方式,推理出第二卷积神经网络模型,无需重新训练整张卷积神经网络模型,在保证模型精度的前提下,降低量化参数成本的方法,进而大大提高卷积神经网络模型的卷积运算参数量化的效率。
实施例一:
请参考图4,为一种实施例中模型推理方法的流程示意图,该模型推理方法是依据已完成训练的第一卷积神经网络模型的模型参数获取第二卷积神经网络模型的模型参数,具体包括:
步骤101,提取模型参数。
提取已完成训练的第一卷积神经网络模型的模型参数。第一卷积神经网络模型用于提取第一图像特征,第一卷积神经网络模型的模型参数包括权重。
步骤102,执行剪枝操作。
对提取的第一卷积神经网络模型的模型参数进行剪枝,以去除其值在第一阈值区间的模型参数,保留其值在第二阈值区间的模型参数。其中,第二阈值区间的范围大于第一阈值区间。
剪枝是设定一个较大阈值(第一阈值区间)和较小阈值(第二阈值区间),在得到二者的精度损失结果后相互逼近,直至找到一个精度损失较小且阈值较大的点。根据对多个卷积神经网络的模型参数进行统计结果可知,卷积神经网络的模型参数分布近似为一个数学期望为 0 的正态分布。从参数近似于正态分布的状况中得知,卷积神经网络的权重值基本集中在[-1,1]这个区间(少数网络会有略大于[-1,1]区间的权值,根据训练方法和网络结构的不同略有差异)。接近 0 的小参数(第二阈值区间内的)占据了大部分,绝对值极大的参数(第一阈值区间内的)所占比例有限。
步骤103,进行量化处理。
对每个模型参数进行量化处理,以获取每个模型参数的标志位、符号位和有效宽位的值。其中,模型参数的有效宽位的值为定点数值,是应用二分段量化方法或多分段量化方法对模型参数进行量化处理获得。
在进行网络参数量化的过程中,对于权重值的绝对值较大和较小的网络参数应当采取不同的量化策略,即对于绝对值较大的参数,应当尽可能的保持其原本数值,保证其变化较小;对于绝对值较小的参数,可以在一定程度上忽略其数值变化,甚至可以将在绝对值在一定阈值之内的参数直接以 0 来表示。
另外,对于同一神经网络模型,其卷积层的权值和全连接层的权值存在较大差异。例如,在 AlexNet 中,卷积层的权值参数集中在(-0.4, 0.4)这个区间,而全连接层的权重值集中在(-0.04, 0.04)。两者之间存在一个数量级的差异,将数值换算成二进制有符号定点数后,二者存在 3 位的差异(全连接层除符号位外的小数点后最高 3 位为 0)。因此,在对不同数值范围的权重值进行网络参数量化时,也应当选择不同的量化策略。因此,对模型参数进行量化是要根据模型参数的特征,进行参数的分布分析,并用合适的值去替代,在保证精度损失较低的情况下,再对网络参数进行量化处理,例如:
在对网络参数进行剪枝处理后,就需要根据数据的长度选择合适的位宽表达,同样是基于精度损失的评估来确定合适的长度划分,即确定对定点数位宽及切分位置。
一实施例中,对占比较高的绝对值小于一第一预设初始值的模型参数应用二分段量化方法进行量化处理。其中,二分段量化方法对模型参数进行量化处理包括:
标识模型参数的标志位、符号位和有效位宽,并设定有效位宽的中间为一个切分点。标志位用于表示模型参数的值是高位值还是低位值,符号位用于表示模型参数的值是正值或负值,有效位宽用于表示模型参数的有效值。清除模型参数有效位宽在切分点之前的数据,以减少有效位宽,并将减少有效位宽的数据作为第二卷积神经网络模型的模型参数。
一实施例中,对占比较低的绝对值不小于第一预设初始值的模型参数应用多分段量化方法进行量化处理。其中,多分段量化方法对模型参数进行量化处理包括:
标识模型参数的标志位、符号位和有效位宽,并按预设步长在有效位宽上设定至少两个切分点。标志位用于表示模型参数的值是高位值还是低位值,符号位用于表示模型参数的值是正值或负值,有效位宽用于表示模型参数的有效值。清除模型参数有效位宽在最后一个切分点之前的数据,以减少有效位宽,并将减少有效位宽的数据作为第二卷积神经网络模型的模型参数。
下面设定模型参数从 16 位位宽开始,分别测试二分段量化方法和多分段量化方法的效果。模型参数数据的有效位宽从 8 位开始逐次降低,直至精度损失大于 2%时为止。多分段量化的分段数量逐次调高,可以存在非 2 的整数次幂的分段数,如 3 段、5 段、6段等。
请参考图5,为一种实施例中模型参数的数据格式表示示意图,二分段量化方法是对于占比较高的绝对值较小的参数,根据其频率分配了尽可能多的量化点,对于绝对值较大的参数,也分配了相同数量的量化中心点。以 16 位无符号数为例,第7-8位中间截断,这个位置称之为切分位置。切分后的两段,由于需要数据格式上需要达到统一,宽度应当相等,均为 8 位。这个宽度称之为有效位宽。除此之外,还应有1位符号位表明该数据的正负,1位标志位表示这个数据是高 8 位的 Q0.8 还是低 8 位的 Q-8.16。
当模型参数的有效位宽和切分点确定后,量化参数也就随之确定在了有限的数值内。二分段量化从定点数的数值表示范围和精度出发,为卷积神经网络的低位宽量化提供了一种使用一半有效位宽表征原本位宽定点数的解决思路。具体的切分位置和有效位宽的确定需要通过迭代过程确定。
请参考图6,为一种实施例中多分段量化方法中切分位置设置示意图,将模型参数继续切分为多段则可以进一步降低参数的位宽。相应的,其截断误差相对于二分段量化会增加,标志位也会大于 1 位。比如四段量化,则可切分为为均匀的四段,每段四位。其中每段的有效位宽可以相互重叠,从而增加有效位宽,降低截断误差,增加量化参数的准确性。多段量化的代价就是标志位位宽增加。同时,切分位置可以不再均分,这样的好处则是在不同网络不同层中量化的细节可以不同,从而对不同层则可以选择更加合适的量化方式。请参考图7,为一种实施例中多分段量化后模型参数的数据格式表示示意图,多分段参数的数据格式与二分段类似,不同的是标志位的宽度大于1位,具体的宽度d由分段数N决定。
步骤104,替换模型参数。
将量化处理后获得的模型参数替换所述第一卷积神经网络模型的模型参数,以获取第二卷积神经网络模型。第二卷积神经网络模型用于提取第二图像特征。其中,第一图像特征与所述第二图像特征不同。
一实施例中,本申请公开的模型推理方法还包括:
步骤105,获取精度损失值。
通过包含第二图像特征的训练数据集对第二卷积神经网络模型进行训练,以获取第二卷积神经网络模型的精度损失值。
步骤106,重新设定阈值区间。
当精度损失值大于一第一预设值时变更所述第一阈值区间或第二阈值区间,并重复步骤102至步骤105。且当精度损失值不大于第一预设值时,输出第二卷积神经网络模型。
步骤107,重新进行量化。
当精度损失值大于一第二预设值时变更二分段量化方法或多分段量化方法中切分点的位置,并重复步骤102至步骤105,且当精度损失值不大于所述第二预设值时,输出第二卷积神经网络模型。在实际应用中,在对于每一个神经网络模型的量化过程中,需要对当前的量化结果做精度测试。即将量化后的神经网络模型和原本的浮点模型在同一数据集下做识别精度测试,确定其精度损失是否在可接受的范围之内,一实施例中,设计目标为精度损失在 2%以内。如果精度损失过高,则调整量化策略,增加有效位宽或改变分段切分位置;若精度损失可以接受则进一步降低有效位宽。
下面对本申请公开的模型推理方法的一种应用场景进行举例,例如:
第一卷积神经网络模型用于获取的第一图像特征是识别“椅子”,而预获取的第二卷积神经网络模型用于获取的第二图像特征是识别“带靠背的椅子”。现有技术中,即使第一卷积神经网络模型和第二卷积神经网络模型的结构相同,也需要对整个第二卷积神经网络模型重新训练,而本申请公开的模型推理方法可以依据第一卷积神经网络模型和第二卷积神经网络模型的相似性高的特点,通过对第一卷积神经网络模型的模型参数进行量化处理,以获取第一卷积神经网络模型的模型参数。然后,通过少量的训练数据集进行精度损失测试,当精度损失低于一预设值时就完成了第二卷积神经网络模型的训练。
请参考图8,为一种实施例中模型推理装置的结构框图,该模型推理装置用于应用如上所述的模型推理方法,具体包括参数提取模块100、参数剪枝模块200、量化处理模块300和模型获取模块400。参数提取模块100用于提取已完成训练的第一卷积神经网络模型的模型参数。第一卷积神经网络模型用于提取第一图像特征。第一卷积神经网络模型的模型参数包括权重。参数剪枝模块200用于对提取的第一卷积神经网络模型的模型参数进行剪枝,以去除其值在第一阈值区间的模型参数,保留其值在第二阈值区间的模型参数。第二阈值区间的范围大于第一阈值区间。量化处理模块300用于对每个模型参数进行量化处理,以获取每个模型参数的标志位、符号位和有效宽位的值。其中,模型参数的有效宽位的值为定点数值,是应用二分段量化方法或多分段量化方法对模型参数进行量化处理获得。模型获取模块400用于将量化处理后获得的模型参数替换第一卷积神经网络模型的模型参数,以获取第二卷积神经网络模型。第二卷积神经网络模型用于提取第二图像特征。
本申请公开的模型推理方法和装置,首先提取已完成训练的第一卷积神经网络模型的模型参数;然后对提取模型参数进行剪枝,以去除其值在第一阈值区间的模型参数,保留其值在第二阈值区间的模型参数;再对每个模型参数进行量化处理,以获取每个所述模型参数的标志位、符号位和有效宽位的值;其中,模型参数的有效宽位的值为定点数值,是应用二分段量化方法或多分段量化方法对模型参数进行量化处理获得;最后将量化处理后获得的模型参数替换原模型参数,以获取第二卷积神经网络模型。由于新的卷积神经网络模型的模型参数是依据已完成训练的模型参数获取,大大提高了新卷积神经网络模型的训练效率。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的***进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (10)
1.一种用于卷积神经网络的模型推理方法,其特征在于,包括:
步骤101,提取已完成训练的第一卷积神经网络模型的模型参数;所述第一卷积神经网络模型用于提取第一图像特征;所述第一卷积神经网络模型的模型参数包括权重;
步骤102,对提取的所述第一卷积神经网络模型的模型参数进行剪枝,以去除其值在第一阈值区间的模型参数,保留其值在第二阈值区间的模型参数;所述第二阈值区间的范围大于所述第一阈值区间;
步骤103,对每个所述模型参数进行量化处理,以获取每个所述模型参数的标志位、符号位和有效宽位的值;其中,所述模型参数的有效宽位的值为定点数值,是应用二分段量化方法或多分段量化方法对所述模型参数进行量化处理获得;
步骤104,将量化处理后获得的所述模型参数替换所述第一卷积神经网络模型的模型参数,以获取第二卷积神经网络模型;所述第二卷积神经网络模型用于提取第二图像特征。
2.如权利要求1所述的模型推理方法,其特征在于,所述第一图像特征与所述第二图像特征不同。
3.如权利要求2所述的模型推理方法,其特征在于,还包括:
步骤105,通过包含所述第二图像特征的训练数据集对所述第二卷积神经网络模型进行训练,以获取所述第二卷积神经网络模型的精度损失值;
步骤106,当所述精度损失值大于一第一预设值时变更所述第一阈值区间或所述第二阈值区间,并重复步骤102至步骤105;
当所述精度损失值不大于所述第一预设值时,输出所述第二卷积神经网络模型。
4.如权利要求2所述的模型推理方法,其特征在于,还包括:
对占比较高的绝对值小于一第一预设初始值的模型参数应用所述二分段量化方法进行量化处理。
5.如权利要求4所述的模型推理方法,其特征在于,所述二分段量化方法对所述模型参数进行量化处理包括:
标识所述模型参数的标志位、符号位和有效位宽,并设定有效位宽的中间为一个切分点;所述标志位用于表示所述模型参数的值是高位值还是低位值,所述符号位用于表示所述模型参数的值是正值或负值,所述有效位宽用于表示模型参数的有效值;
清除所述模型参数有效位宽在所述切分点之前的数据,以减少所述有效位宽,并将减少所述有效位宽的数据作为所述第二卷积神经网络模型的模型参数。
6.如权利要求5所述的模型推理方法,其特征在于,还包括:
对占比较低的绝对值不小于所述第一预设初始值的模型参数应用所述多分段量化方法进行量化处理。
7.如权利要求6所述的模型推理方法,其特征在于,所述多分段量化方法对所述模型参数进行量化处理包括:
标识所述模型参数的标志位、符号位和有效位宽,并按预设步长在所述有效位宽上设定至少两个切分点;所述标志位用于表示所述模型参数的值是高位值还是低位值,所述符号位用于表示所述模型参数的值是正值或负值,所述有效位宽用于表示模型参数的有效值;
清除所述模型参数有效位宽在最后一个所述切分点之前的数据,以减少所述有效位宽,并将减少所述有效位宽的数据作为所述第二卷积神经网络模型的模型参数。
8.如权利要求7所述的模型推理方法,其特征在于,还包括:
再通过包含所述第二图像特征的训练数据集对所述第二卷积神经网络模型进行训练,以获取所述第二卷积神经网络模型的精度损失值;
当所述精度损失值大于一第二预设值时变更所述二分段量化方法或所述多分段量化方法中所述切分点的位置,并重复步骤102至步骤105;
当所述精度损失值不大于所述第二预设值时,输出所述第二卷积神经网络模型。
9.一种计算机可读存储介质,其特征在于,所述介质上存储有程序,所述程序能够被处理器执行以实现如权利要求1至8中任一项所述的模型推理方法。
10.一种用于卷积神经网络的模型推理装置,其特征在于,包括:
参数提取模块,用于提取已完成训练的第一卷积神经网络模型的模型参数;所述第一卷积神经网络模型用于提取第一图像特征;所述第一卷积神经网络模型的模型参数包括权重;
参数剪枝模块,用于对提取的所述第一卷积神经网络模型的模型参数进行剪枝,以去除其值在第一阈值区间的模型参数,保留其值在第二阈值区间的模型参数;所述第二阈值区间的范围大于所述第一阈值区间;
量化处理模块,用于对每个所述模型参数进行量化处理,以获取每个所述模型参数的标志位、符号位和有效宽位的值;其中,所述模型参数的有效宽位的值为定点数值,是应用二分段量化方法或多分段量化方法对所述模型参数进行量化处理获得;
模型获取模块,用于将量化处理后获得的所述模型参数替换所述第一卷积神经网络模型的模型参数,以获取第二卷积神经网络模型;所述第二卷积神经网络模型用于提取第二图像特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310857190.8A CN116957010A (zh) | 2023-07-13 | 2023-07-13 | 一种用于卷积神经网络的模型推理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310857190.8A CN116957010A (zh) | 2023-07-13 | 2023-07-13 | 一种用于卷积神经网络的模型推理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116957010A true CN116957010A (zh) | 2023-10-27 |
Family
ID=88450465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310857190.8A Pending CN116957010A (zh) | 2023-07-13 | 2023-07-13 | 一种用于卷积神经网络的模型推理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116957010A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873789A (zh) * | 2024-03-13 | 2024-04-12 | 之江实验室 | 一种基于分段量化的检查点写入方法及装置 |
-
2023
- 2023-07-13 CN CN202310857190.8A patent/CN116957010A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873789A (zh) * | 2024-03-13 | 2024-04-12 | 之江实验室 | 一种基于分段量化的检查点写入方法及装置 |
CN117873789B (zh) * | 2024-03-13 | 2024-05-10 | 之江实验室 | 一种基于分段量化的检查点写入方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110852439B (zh) | 数据处理方法及装置、存储介质 | |
CN108898168B (zh) | 用于目标检测的卷积神经网络模型的压缩方法和*** | |
US20210089922A1 (en) | Joint pruning and quantization scheme for deep neural networks | |
CN108510067B (zh) | 基于工程化实现的卷积神经网络量化方法 | |
CN110969251B (zh) | 基于无标签数据的神经网络模型量化方法及装置 | |
CN107636697B (zh) | 用于量化浮点神经网络以获得定点神经网络的方法和设备 | |
CN111095302A (zh) | 稀疏深度卷积网络权重的压缩 | |
KR0154739B1 (ko) | 프랙탈 영상 압축 장치 및 방법 | |
CN110555450A (zh) | 人脸识别神经网络调整方法和装置 | |
EP3469521A1 (en) | Neural network and method of neural network training | |
CN112508125A (zh) | 一种图像检测模型的高效全整数量化方法 | |
US20230401833A1 (en) | Method, computer device, and storage medium, for feature fusion model training and sample retrieval | |
CN116957010A (zh) | 一种用于卷积神经网络的模型推理方法和装置 | |
CN113420651B (zh) | 深度卷积神经网络的轻量化方法、***及目标检测方法 | |
WO2023151529A1 (zh) | 人脸图像的处理方法及相关设备 | |
CN113095470A (zh) | 神经网络的训练方法、图像处理方法及装置、存储介质 | |
CN116976428A (zh) | 模型训练方法、装置、设备及存储介质 | |
CN114239861A (zh) | 基于多教师联合指导量化的模型压缩方法及*** | |
CN109754357B (zh) | 图像处理方法、处理装置以及处理设备 | |
CN116629123A (zh) | 基于配对的单细胞多组学数据整合方法及*** | |
Kulkarni et al. | AI model compression for edge devices using optimization techniques | |
CN113344182A (zh) | 一种基于深度学习的网络模型压缩方法 | |
CN113361589A (zh) | 基于迁移学习与知识蒸馏的珍稀濒危植物叶片识别方法 | |
CN114766024A (zh) | 用于修剪神经网络的方法和设备 | |
CN111639751A (zh) | 一种用于二值卷积神经网络的非零填补训练方法 |
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 |