CN116187420A - 轻量化的深度神经网络的训练方法、系统、设备和介质 - Google Patents
轻量化的深度神经网络的训练方法、系统、设备和介质 Download PDFInfo
- Publication number
- CN116187420A CN116187420A CN202310490193.2A CN202310490193A CN116187420A CN 116187420 A CN116187420 A CN 116187420A CN 202310490193 A CN202310490193 A CN 202310490193A CN 116187420 A CN116187420 A CN 116187420A
- Authority
- CN
- China
- Prior art keywords
- network
- floating point
- layer
- layers
- point network
- 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.)
- Granted
Links
Images
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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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 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)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
本发明提供一种轻量化的深度神经网络的训练方法、系统、设备和介质,方法,包括:获取已训练过的浮点网络;所述浮点网络须为多分支结构;对浮点网络进行低比特量化,以得到第一网络;获取第一网络各组合层的权重参数;判断N个组合层的权重参数是否为预设值;当N个组合层的权重参数全部为预设值时,在前向推理过程中将N个组合层对应浮点网络的各层和分支删除,以得到第二网络;当N个组合层的权重参数不全为预设值时,选取N个组合层中的M个组合层对应浮点网络的各层和分支删除,以得到第二网络;将第二网络作为浮点网络,反复K次执行上述步骤,以对浮点网络进行结构化减枝和通道处理。该方法用于获取轻量化的深度神经网络。
Description
技术领域
本发明涉及深度学习神经网络技术领域,尤其涉及一种轻量化的深度神经网络的训练方法、系统、设备和介质。
背景技术
目前,深度学习网络已经在分类上取得了媲美人类的成果。然而在工业应用时,相关深度学习网络的庞大数据和复杂运算,加上硬件算力和功耗的限制导致深度学习网络的应用面临着一定困难。尤其是在边缘计算领域,低算力、低功耗是常态要求。所以深度学习网络的轻量化技术是至关重要的,其目前有网络量化、剪枝、蒸馏、压缩等方面技术。
在现有技术中,仅依赖单一技术对深度神经网络轻量化效果有限,得到的轻量化的深度神经网络占用算力和功耗资源较大,难以进行工业快速部署,难以切合实际应用场景。因此,亟需一种新型的轻量化的深度神经网络的训练方法、系统、设备和介质以改善上述问题。
发明内容
本发明的目的在于提供一种轻量化的深度神经网络的训练方法、系统、设备和介质,该方法用于获取轻量化的深度神经网络。
第一方面,本发明提供一种轻量化的深度神经网络的训练方法,包括:S1,获取已训练过的浮点网络;所述浮点网络为多分支结构;对所述浮点网络进行低比特量化,以得到第一网络;获取所述第一网络各组合层的权重参数;S2,判断N个所述组合层的权重参数是否为预设值;当所述N个组合层的权重参数全部为预设值时,将所述N个组合层对应所述浮点网络的各层和分支删除,N为任意正整数;当所述N个组合层的权重参数不全为预设值时,选取所述N个组合层中的M个组合层对应所述浮点网络的各层和分支删除,M为任意正整数,且M小于N;将所述第一网络剩余的层结构组成第二网络;S3,将所述第二网络作为所述浮点网络,反复K次执行S1-S2,以对所述浮点网络进行结构化减枝和通道处理,得到轻量化的深度神经网络。
本发明的方法有益效果为:本发明通过将所述N个组合层对应所述浮点网络的各层和分支删除,以及选取所述N个组合层中的M个组合层对应所述浮点网络的各层和分支删除实现对浮点网络的结构剪枝和通道剪枝,实现了基于浮点网络的多层次的量化剪枝处理,有利于提升训练效率。本发明联合采用了训练量化和基于量化网络的多种网络剪枝操作,有利于降低工业应用所需的算力和功耗。不同于依靠单纯的浮点数据的处理方法,本发明剪枝的数据处理是建立在量化数据上的,本发明通过低比特量化能够降低内存使用量,有利于节约成本。
可选的,在所述S1中,对所述浮点网络进行低比特量化前,还包括对所述浮点网络的各层进行网络算子融合;融合后的所述浮点网络用于所述低比特量化。其有益效果在于,本发明量化网络前进行了网络算子融合处理,网络算子融合后能够降低网络应用时的复杂度,贴近硬件环境的实际计算设计。
可选的,所述S2中包括S21,将取零的权重参数占比记录为第一比例;当所述第一比例大于第一阈值时,将第一网络中取零的权重参数所对应所述浮点网络的各层和分支删除,以获得所述第二网络。
可选的,所述S2中包括S22,获取所述第二网络中目标层的各通道的权重参数,将取零的权重参数占比记录为第二比例;当所述第二比例大于第二阈值时,将所述目标层中取零的权重参数所对应的浮点网络通道删除;所述S2中包括S23,切换所述目标层并重复所述S22,直至所述目标层遍历所述第二网络,以获得第三网络。
可选的,在所述S21中,当所述第一比例大于第一阈值时,在之后的量化处理中,将所述目标层的权重参数全部置0,以使反向传播过程中的所述目标层的梯度为零。
可选的,在第二次执行所述S2之后,判断所述第二网络的收敛性;当所述第二网络不再收敛时,提高所述第一阈值继续训练,直至第一阈值为上限值;所述第二网络保持收敛时,删除所述目标层对应的浮点网络层。
可选的,在所述S3中,还包括:根据所述第二比例的大小排序所述目标层内的通道;判断所述第三网络的收敛性;当所述第三网络不再收敛时,提高所述第二阈值继续训练,直至第二阈值为上限值;当所述第三网络保持收敛时,将所述目标层内第二比例大于第二阈值的通道删除;在非归一化层的网络中插入缩放比例因子(scale factor);所述缩放比例因子用于各通道的数据缩放。
可选的,针对具备稀疏化计算功能的硬件,在输出轻量化的深度神经网络前,还包括获取所述第三网络中各层的权重参数,将小于第三阈值的权重参数置为零,以获得稀疏化的网络。其有益效果在于,本申请针对所述第三网络进行上述处理,能够提高轻量化的深度神经网络的稀疏性,有利于减少计算量并突出与重点相关的权重参数。
可选的,当所述权重参数小于第三阈值时,将取非零的权重参数归零,适用于所述稀疏化网络的前向推理;所述稀疏化网络的反向传播过程按第三网络的权重参数计算梯度。
可选的,所述网络算子融合为归一化层与卷积层的合并;或所述网络算子融合为线性整流层、归一化层与卷积层的合并。
可选的,所述S3中,将所述目标层中取零的权重参数所对应的浮点网络通道删除,还包括:将所述目标层中取零的权重参数所对应的第一通道删除;将第二通道删除;所述第一通道和所述第二通道在经过所述网络算子融合后参与构成同一融合通道。其有益效果在于,本申请将参与构成同一融合通道的所述第一通道和所述第二通道删除,能够减少计算量,有利于加速量化训练。
第二方面,本发明提供一种轻量化的深度神经网络的训练系统,用于所述第一方面中任一项所述的方法,包括:处理模块,用于S1,获取已训练过的浮点网络;所述浮点网络为多分支结构;对所述浮点网络进行低比特量化,以得到第一网络;获取所述第一网络各组合层的权重参数;S2,判断N个所述组合层的权重参数是否为预设值;当所述N个组合层的权重参数全部为预设值时,将所述N个组合层对应所述浮点网络的各层和分支删除,N为任意正整数;当所述N个组合层的权重参数不全为预设值时,选取所述N个组合层中的M个组合层对应所述浮点网络的各层和分支删除,M为任意正整数,且M小于N;将所述第一网络剩余的层结构组成第二网络;S3,将所述第二网络作为所述浮点网络,反复K次执行S1-S2,以对所述浮点网络进行结构化减枝和通道处理,得到轻量化的深度神经网络;存储模块,用于记录所述预设值和所述权重参数。
第三方面,本发明提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的程序,当所述程序被所述处理器执行时,使得所述电子设备实现第一方面中任一项所述的方法。
第四方面,本发明提供一种可读存储介质,所述可读存储介质内存储有程序,所述程序被执行时,实现第一方面中任一项所述的方法。
附图说明
图1为本发明提供的一种轻量化的深度神经网络的训练方法的流程示意图;
图2为本发明提供的一种第一网络的结构示意图;
图3为本发明提供的一种第二网络的结构示意图;
图4为本发明提供的一种第三网络的结构示意图;
图5为本发明提供的一种轻量化的深度神经网络的训练系统的结构示意图;
图6为本发明提供的一种电子设备的结构示意图。
图中标号:
101、处理模块; 102、存储模块;
201、处理器; 202、存储器;203、输出接口;211、第一图像传感器;212、第二图像传感器。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
图1为本发明提供的一种轻量化的深度神经网络的训练方法的流程示意图;图2为本发明提供的一种第一网络的结构示意图;图3为本发明提供的一种第二网络的结构示意图。
针对现有技术存在的问题,如图1、2和3所示,本发明提供一种轻量化的深度神经网络的训练方法,包括:S1,获取已训练过的浮点网络;所述浮点网络为多分支结构;对所述浮点网络进行低比特量化,以得到第一网络;获取所述第一网络各组合层的权重参数;S2,判断N个所述组合层的权重参数是否为预设值;当所述N个组合层的权重参数全部为预设值时,将所述N个组合层对应所述浮点网络的各层和分支删除,N为任意正整数;当所述N个组合层的权重参数不全为预设值时,选取所述N个组合层中的M个组合层对应所述浮点网络的各层和分支删除,M为任意正整数,且M小于N;将所述第一网络剩余的层结构组成第二网络;S3,将所述第二网络作为所述浮点网络,反复K次执行S1-S2,以对所述浮点网络进行结构化减枝和通道处理,得到轻量化的深度神经网络。
具体的,在所述S1中,所述浮点网络为经过了32位浮点数据编码组成的浮点网络;所述低比特量化具体为8比特量化;所述预设值设为0;N设为10,M设为6。
另一些具体的实施例中,在所述S1中,所述浮点网络为经过了64位浮点数据编码组成的浮点网络;所述低比特量化具体为16比特量化;N设为20,M设为12。
参照图2和图3,示例性的,第一网络包含14个组合层,将14个组合层中的2个组合层对应所述浮点网络的各层和分支删除,以得到第二网络。
又一些实施例中,在所述S1中,所述浮点网络为经过了A位浮点数据编码组成的浮点网络;所述低比特量化具体为B比特量化;A、B、N与M均可以设为任意正整数,只要满足A大于B且N大于M即可。
值得说明的是,本发明通过将所述N个组合层对应所述浮点网络的各层和分支删除,以及选取所述N个组合层中的M个组合层对应所述浮点网络的各层和分支删除实现对浮点网络的结构剪枝和通道剪枝,实现了基于浮点网络的多层次的量化剪枝处理,有利于提升训练效率。本发明联合采用了训练量化和基于量化网络的多种网络剪枝操作,有利于降低工业应用所需的算力和功耗。不同于依靠单纯的浮点数据的处理方法,本发明剪枝的数据处理是建立在量化数据上的,本发明通过低比特量化能够降低内存使用量,有利于节约成本。
在一些实施例中,在所述S1中,对所述浮点网络进行低比特量化前,还包括对所述浮点网络的各层进行网络算子融合;融合后的所述浮点网络用于所述低比特量化。其有益效果在于,本发明量化网络前进行了网络算子融合处理,网络算子融合后能够降低网络应用时的复杂度,贴近硬件环境的实际计算设计。
具体的,在所述S1中,对所述浮点网络进行8比特量化前,还包括对网络进行便于计算和节省资源的算子融合,比如常见的卷积层和批归一化层,乃至激活层的融合;有利于工业部署。
在一些实施例中,所述S2中包括S21,将取零的权重参数占比记录为第一比例;当所述第一比例大于第一阈值时,将第一网络中取零的权重参数所对应所述浮点网络的各层和分支删除,以获得所述第二网络。需要注意的是,对于大于第一阈值的情况,这部分层或分支在网络前向推理的过程中置零,反向传播时认为这部分置零的层或分支不进行梯度计算,通过判断损失函数是否收敛来决定第一阈值是否合适。所以说第一阈值是一个连续调整的值,是通过反复训练获取的。
具体的,所述第一阈值设为0.5。
另一些具体的实施例中,所述第一阈值设为0.6。
值得说明的是,所述第一阈值设为区间(0,1)内的任意数值,其数值依赖于训练量化时网络的训练是否收敛,是否影响最终的网络功能,举例说明,比如第一阈值取上述0.5时,网络训练量化时,损失函数不在收敛,说明这一数值是不合适的,那么第一阈值就要调整为0.6,这样参与置零的层就会变少,在进一步的训练量化中再判断是否收敛,如果收敛那么证明合适,如果不收敛,那就继续调整。本方法的目的是通过持续的网络量化训练并加以网络参数的分析和约束,找到最小的网络,所以第一阈值是在持续迭代中逐渐优化的。
图4为本发明提供的一种第三网络的结构示意图。
如图4所示,在一些实施例中,所述S2中包括S22,获取所述第二网络中目标层的各通道的权重参数,将取零的权重参数占比记录为第二比例;当所述第二比例大于第二阈值时,将所述目标层中取零的权重参数所对应的浮点网络通道删除;所述S2中包括S23,切换所述目标层并重复所述S22,直至所述目标层遍历所述第二网络,以获得第三网络。
具体的,所述第二阈值设为0.3。
另一些具体的实施例中,所述第二阈值设为0.4。
值得说明的是,所述第二阈值设为区间(0,1)内的任意数值,只要满足第二阈值小于所述第一阈值即可。
在一些实施例中,在所述S21中,当所述第一比例大于第一阈值时,在之后的量化处理中,将所述目标层的权重参数全部置0,以使反向传播过程中的所述目标层的梯度为零。
在一些实施例中,在第二次执行所述S2之后,判断所述第二网络的收敛性;当所述第二网络不再收敛时,提高所述第一阈值继续训练,直至第一阈值为上限值;所述第二网络保持收敛时,删除所述目标层对应的浮点网络层。
具体的,所述第一阈值的上限值为1;判断所述第二网络的收敛性包括:判断所述第二网络的损失函数是否继续下降;当损失函数不再下降时,确认所述第二网络的收敛。
在一些实施例中,在所述S3中,还包括:根据所述第二比例的大小排序所述目标层内的通道;判断所述第三网络的收敛性;当所述第三网络不再收敛时,提高所述第二阈值继续训练,直至第二阈值为上限值;当所述第三网络保持收敛时,将所述目标层内第二比例大于第二阈值的通道删除;在非归一化层的网络中插入缩放比例因子;所述缩放比例因子用于各通道的数据缩放。
具体的,所述第二阈值的上限值为1;判断所述第三网络的收敛性包括:判断所述第三网络的损失函数是否继续下降;当损失函数不再下降时,确认所述第三网络的收敛。
值得说明的是,针对具有批归一化层的网络,所述批归一化层的通道个数为D,批归一化层的Beta项有D个参数;在训练过程中,根据权重参数为零的比例按从大到小的顺序对所述归一化层的通道排序,只保留排序靠前且在保留阈值之内的通道,删除所述归一化层的其余通道。
更具体的,可先设所述保留阈值为0.5,即保留一半通道,在经过多次训练后,如果发现保留阈值不合理,可以逐步调大保留阈值,即多保留通道数,最后选取最合适的通道数量。
在一些实施例中,针对具备稀疏化计算功能的硬件,在输出轻量化的深度神经网络前,还包括获取所述第三网络中各层的权重参数,将小于第三阈值的权重参数置为零,以获得稀疏化的网络。其有益效果在于,本申请针对所述第三网络进行上述处理,能够提高轻量化的深度神经网络的稀疏性,有利于减少计算量并突出与重点相关的权重参数。
具体的,所述具备稀疏化计算功能的硬件的压缩存储格式采用压缩稀疏行方式(Compressed Sparse Row,CSR)。
另一些具体的实施例中,所述具备稀疏化计算功能的硬件的压缩存储格式采用压缩稀疏列方式(Compressed Sparse column,CSC)。
在一些实施例中,当所述权重参数小于第三阈值时,将取非零的权重参数归零,适用于所述稀疏化网络的前向推理;所述稀疏化网络的反向传播过程按第三网络的权重参数计算梯度。
值得说明的是,本实施例中,每次迭代均进行训练量化,前向推理过程是以量化数据返回的浮点数据形式进行的,而在反向传播的过程中是按照未量化的原始浮点数据进行的。
具体的,所述第三阈值设置为0.1。
另一些具体的实施例中,所述第三阈值设置为0.2。
又一些具体的实施例中,所述第三阈值设置为区间(Q1,Q2)内的任意数值,Q1为第三网络中各层的权重参数的最小值,Q2为第三网络中各层的权重参数的最大值。
在一些实施例中,所述网络算子融合为归一化层与卷积层的合并。
另一些具体的实施例中,所述网络算子融合为线性整流层与卷积层的合并。
又一些具体的实施例中,所述网络算子融合为线性整流层、归一化层与卷积层的合并。
在一些实施例中,所述S3中,将所述目标层中取零的权重参数所对应的浮点网络通道删除,还包括:将所述目标层中取零的权重参数所对应的第一通道删除;将第二通道删除;所述第一通道和所述第二通道在经过所述网络算子融合后参与构成同一融合通道。其有益效果在于,本申请将参与构成同一融合通道的所述第一通道和所述第二通道删除,能够减少计算量,有利于加速量化训练。
具体的,所述S3中,将所述目标层中取零的权重参数所对应的浮点网络通道删除,还包括:将所述目标层中取零的权重参数所对应的第一通道删除;将第二通道和第三通道删除;所述第一通道、所述第二通道和所述第三通道在经过所述网络算子融合后参与构成同一融合通道。
另一些实施例中,C个浮点网络通道参与构成同一融合通道;C为任意正整数;当所述C个浮点网络通道中的一个浮点网络通道的权重参数取零时,删除所述C个浮点网络通道。
图5为本发明提供的一种轻量化的深度神经网络的训练系统的结构示意图;
如图5所示,本发明提供一种轻量化的深度神经网络的训练系统,用于上述实施例中任一项所述的方法,包括:处理模块101,用于S1,获取已训练过的浮点网络;所述浮点网络为多分支结构;对所述浮点网络进行低比特量化,以得到第一网络;获取所述第一网络各组合层的权重参数;S2,判断N个所述组合层的权重参数是否为预设值;当所述N个组合层的权重参数全部为预设值时,将所述N个组合层对应所述浮点网络的各层和分支删除,N为任意正整数;当所述N个组合层的权重参数不全为预设值时,选取所述N个组合层中的M个组合层对应所述浮点网络的各层和分支删除,M为任意正整数,且M小于N;将所述第一网络剩余的层结构组成第二网络;S3,将所述第二网络作为所述浮点网络,反复K次执行S1-S2,以对所述浮点网络进行结构化减枝和通道处理,得到轻量化的深度神经网络;存储模块102,用于记录所述预设值和所述权重参数。
具体的,所述处理模块为处理器;应注意,本实施例中的处理器可以是一种图像处理芯片或一种集成电路芯片,具有对图像信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本实施例中的公开的各方法、步骤及逻辑框图。
另一些具体的实施例中,所述存储模块为存储器;本实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccess Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
图6为本发明提供的一种电子设备的结构示意图。
如图6所示,本发明提供一种电子设备,包括存储器202和处理器201,所述存储器202上存储有可在所述处理器201上运行的程序,当所述程序被所述处理器201执行时,使得所述电子设备实现第一方面中任一项所述的方法。
具体的,所述电子设备还包括第一图像传感器211;所述第一图像传感器211用于采集包含文字和缺陷的产品图像;所述产品图像用于训练所述浮点网络的文字识别层和缺陷识别层。所述电子设备还包括输出接口203;所述输出接口203用于输出所述轻量化的深度神经网络。
另一些具体的实施例中,所述第一图像传感器211用于采集文字图像;所述文字图像用于训练所述浮点网络的文字识别层;所述电子设备还包括第二图像传感器212,用于采集缺陷图像;所述缺陷图像用于训练所述浮点网络的缺陷识别层。
又一些具体的实施例中,所述电子设备还包括麦克风,所述麦克风用于采集音频信号;所述音频信号用于训练所述音频处理层。
本发明提供一种可读存储介质,所述可读存储介质内存储有程序,所述程序被执行时,实现第一方面中任一项所述的方法。
值得说明的是,所述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。
Claims (14)
1.一种轻量化的深度神经网络的训练方法,其特征在于,包括:
S1,获取已训练过的浮点网络;所述浮点网络为多分支结构;对所述浮点网络进行低比特量化,以得到第一网络;获取所述第一网络各组合层的权重参数;
S2,判断N个所述组合层的权重参数是否为预设值;当所述N个组合层的权重参数全部为预设值时,将所述N个组合层对应所述浮点网络的各层和分支删除,N为任意正整数;当所述N个组合层的权重参数不全为预设值时,选取所述N个组合层中的M个组合层对应所述浮点网络的各层和分支删除,M为任意正整数,且M小于N;将所述第一网络剩余的层结构组成第二网络;
S3,将所述第二网络作为所述浮点网络,反复K次执行S1-S2,以对所述浮点网络进行结构化减枝和通道处理,得到轻量化的深度神经网络。
2.根据权利要求1所述的方法,其特征在于,在所述S1中,对所述浮点网络进行低比特量化前,还包括对所述浮点网络的各层进行网络算子融合;融合后的所述浮点网络用于所述低比特量化。
3.根据权利要求1所述的方法,其特征在于,所述S2中包括S21,将取零的权重参数占比记录为第一比例;当所述第一比例大于第一阈值时,将第一网络中取零的权重参数所对应所述浮点网络的各层和分支删除,以获得所述第二网络。
4.根据权利要求3所述的方法,其特征在于,所述S2中包括S22,获取所述第二网络中目标层的各通道的权重参数,将取零的权重参数占比记录为第二比例;当所述第二比例大于第二阈值时,将所述目标层中取零的权重参数所对应的浮点网络通道删除;
所述S2中包括S23,切换所述目标层并重复所述S22,直至所述目标层遍历所述第二网络,以获得第三网络。
5.根据权利要求4所述的方法,其特征在于,在所述S21中,当所述第一比例大于第一阈值时,在之后的量化处理中,将所述目标层的权重参数全部置0,以使反向传播过程中的所述目标层的梯度为零。
6.根据权利要求4所述的方法,其特征在于,在第二次执行所述S2之后,判断所述第二网络的收敛性;
当所述第二网络不再收敛时,提高所述第一阈值继续训练,直至第一阈值为上限值;
当所述第二网络保持收敛时,删除所述目标层对应的浮点网络层。
7.根据权利要求4所述的方法,其特征在于,在所述S3中,还包括:
根据所述第二比例的大小排序所述目标层内的通道;判断所述第三网络的收敛性;
当所述第三网络不再收敛时,提高所述第二阈值继续训练,直至第二阈值为上限值;
当所述第三网络保持收敛时,将所述目标层内第二比例大于第二阈值的通道删除;
在非归一化层的网络中插入缩放比例因子;所述缩放比例因子用于各通道的数据缩放。
8.根据权利要求4所述的方法,其特征在于,针对具备稀疏化计算功能的硬件,在输出轻量化的深度神经网络前,还包括获取所述第三网络中各层的权重参数,将小于第三阈值的权重参数置为零,以获得稀疏化的网络。
9.根据权利要求8所述的方法,其特征在于,当所述权重参数小于第三阈值时,将取非零的权重参数归零,适用于所述稀疏化网络的前向推理;
所述稀疏化网络的反向传播过程按第三网络的权重参数计算梯度。
10.根据权利要求2所述的方法,其特征在于,所述网络算子融合为归一化层与卷积层的合并;
或所述网络算子融合为线性整流层、归一化层与卷积层的合并。
11.根据权利要求4所述的方法,其特征在于,所述S3中,将所述目标层中取零的权重参数所对应的浮点网络通道删除,还包括:
将所述目标层中取零的权重参数所对应的第一通道删除;
将第二通道删除;所述第一通道和所述第二通道在经过网络算子融合后参与构成同一融合通道。
12.一种轻量化的深度神经网络的训练系统,用于所述权利要求1至11中任一项所述的方法,其特征在于,包括:
处理模块,用于S1,获取已训练过的浮点网络;所述浮点网络为多分支结构;对所述浮点网络进行低比特量化,以得到第一网络;获取所述第一网络各组合层的权重参数;S2,判断N个所述组合层的权重参数是否为预设值;当所述N个组合层的权重参数全部为预设值时,将所述N个组合层对应所述浮点网络的各层和分支删除,N为任意正整数;当所述N个组合层的权重参数不全为预设值时,选取所述N个组合层中的M个组合层对应所述浮点网络的各层和分支删除,M为任意正整数,且M小于N;将所述第一网络剩余的层结构组成第二网络;S3,将所述第二网络作为所述浮点网络,反复K次执行S1-S2,以对所述浮点网络进行结构化减枝和通道处理,得到轻量化的深度神经网络;
存储模块,用于记录所述预设值和所述权重参数。
13.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的程序,当所述程序被所述处理器执行时,使得所述电子设备实现权利要求1至11中任一项所述的方法。
14.一种可读存储介质,所述可读存储介质内存储有程序,其特征在于,所述程序被执行时,实现权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310490193.2A CN116187420B (zh) | 2023-05-04 | 2023-05-04 | 轻量化的深度神经网络的训练方法、系统、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310490193.2A CN116187420B (zh) | 2023-05-04 | 2023-05-04 | 轻量化的深度神经网络的训练方法、系统、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116187420A true CN116187420A (zh) | 2023-05-30 |
CN116187420B CN116187420B (zh) | 2023-07-25 |
Family
ID=86436873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310490193.2A Active CN116187420B (zh) | 2023-05-04 | 2023-05-04 | 轻量化的深度神经网络的训练方法、系统、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116187420B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077740A (zh) * | 2023-09-25 | 2023-11-17 | 荣耀终端有限公司 | 模型量化方法和设备 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019160319A (ja) * | 2018-03-09 | 2019-09-19 | キヤノン株式会社 | 多階層ニューラルネットワークモデルを最適化して適用する方法及び装置、及び記憶媒体 |
CN110414679A (zh) * | 2019-08-02 | 2019-11-05 | 厦门美图之家科技有限公司 | 模型训练方法、装置、电子设备和计算机可读存储介质 |
CN110929865A (zh) * | 2018-09-19 | 2020-03-27 | 深圳云天励飞技术有限公司 | 网络量化方法、业务处理方法及相关产品 |
US20200193274A1 (en) * | 2018-12-18 | 2020-06-18 | Microsoft Technology Licensing, Llc | Training neural network accelerators using mixed precision data formats |
CN111598238A (zh) * | 2020-07-17 | 2020-08-28 | 支付宝(杭州)信息技术有限公司 | 深度学习模型的压缩方法及装置 |
US20200364552A1 (en) * | 2019-05-13 | 2020-11-19 | Baidu Usa Llc | Quantization method of improving the model inference accuracy |
CN112766456A (zh) * | 2020-12-31 | 2021-05-07 | 平安科技(深圳)有限公司 | 浮点型深度神经网络的量化方法、装置、设备及存储介质 |
WO2021129570A1 (zh) * | 2019-12-25 | 2021-07-01 | 神思电子技术股份有限公司 | 一种基于网络激活与稀疏化的网络裁剪优化方法 |
CN113408715A (zh) * | 2020-03-17 | 2021-09-17 | 杭州海康威视数字技术股份有限公司 | 一种神经网络的定点化方法、装置 |
CN113902113A (zh) * | 2021-09-18 | 2022-01-07 | 江苏科技大学 | 一种卷积神经网络通道剪枝方法 |
KR20220051242A (ko) * | 2019-09-25 | 2022-04-26 | 딥마인드 테크놀로지스 리미티드 | 고속 희소 신경망 |
CN114676629A (zh) * | 2022-03-18 | 2022-06-28 | 西安电子科技大学 | 多手段复合的调制类型识别模型轻量化处理方法 |
CN114868135A (zh) * | 2020-08-04 | 2022-08-05 | 辉达公司 | 用于边缘计算应用程序的神经网络的混合量化 |
CN114898108A (zh) * | 2022-03-30 | 2022-08-12 | 哈尔滨工业大学 | 一种基于fpga的cnn模型轻量化方法、目标检测方法及系统 |
CN114925780A (zh) * | 2022-06-16 | 2022-08-19 | 福州大学 | 一种基于fpga的轻量级cnn分类器的优化提速方法 |
CN115526310A (zh) * | 2022-09-26 | 2022-12-27 | 杭州海康威视数字技术股份有限公司 | 一种网络模型的量化方法、装置及设备 |
WO2023029349A1 (zh) * | 2021-09-03 | 2023-03-09 | 上海商汤智能科技有限公司 | 模型量化方法、装置、设备、存储介质、计算机程序产品及计算机程序 |
US20230084203A1 (en) * | 2021-09-06 | 2023-03-16 | Baidu Usa Llc | Automatic channel pruning via graph neural network based hypernetwork |
-
2023
- 2023-05-04 CN CN202310490193.2A patent/CN116187420B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019160319A (ja) * | 2018-03-09 | 2019-09-19 | キヤノン株式会社 | 多階層ニューラルネットワークモデルを最適化して適用する方法及び装置、及び記憶媒体 |
CN110929865A (zh) * | 2018-09-19 | 2020-03-27 | 深圳云天励飞技术有限公司 | 网络量化方法、业务处理方法及相关产品 |
US20200193274A1 (en) * | 2018-12-18 | 2020-06-18 | Microsoft Technology Licensing, Llc | Training neural network accelerators using mixed precision data formats |
US20200364552A1 (en) * | 2019-05-13 | 2020-11-19 | Baidu Usa Llc | Quantization method of improving the model inference accuracy |
CN110414679A (zh) * | 2019-08-02 | 2019-11-05 | 厦门美图之家科技有限公司 | 模型训练方法、装置、电子设备和计算机可读存储介质 |
KR20220051242A (ko) * | 2019-09-25 | 2022-04-26 | 딥마인드 테크놀로지스 리미티드 | 고속 희소 신경망 |
WO2021129570A1 (zh) * | 2019-12-25 | 2021-07-01 | 神思电子技术股份有限公司 | 一种基于网络激活与稀疏化的网络裁剪优化方法 |
CN113408715A (zh) * | 2020-03-17 | 2021-09-17 | 杭州海康威视数字技术股份有限公司 | 一种神经网络的定点化方法、装置 |
CN111598238A (zh) * | 2020-07-17 | 2020-08-28 | 支付宝(杭州)信息技术有限公司 | 深度学习模型的压缩方法及装置 |
CN114868135A (zh) * | 2020-08-04 | 2022-08-05 | 辉达公司 | 用于边缘计算应用程序的神经网络的混合量化 |
CN112766456A (zh) * | 2020-12-31 | 2021-05-07 | 平安科技(深圳)有限公司 | 浮点型深度神经网络的量化方法、装置、设备及存储介质 |
WO2023029349A1 (zh) * | 2021-09-03 | 2023-03-09 | 上海商汤智能科技有限公司 | 模型量化方法、装置、设备、存储介质、计算机程序产品及计算机程序 |
US20230084203A1 (en) * | 2021-09-06 | 2023-03-16 | Baidu Usa Llc | Automatic channel pruning via graph neural network based hypernetwork |
CN113902113A (zh) * | 2021-09-18 | 2022-01-07 | 江苏科技大学 | 一种卷积神经网络通道剪枝方法 |
CN114676629A (zh) * | 2022-03-18 | 2022-06-28 | 西安电子科技大学 | 多手段复合的调制类型识别模型轻量化处理方法 |
CN114898108A (zh) * | 2022-03-30 | 2022-08-12 | 哈尔滨工业大学 | 一种基于fpga的cnn模型轻量化方法、目标检测方法及系统 |
CN114925780A (zh) * | 2022-06-16 | 2022-08-19 | 福州大学 | 一种基于fpga的轻量级cnn分类器的优化提速方法 |
CN115526310A (zh) * | 2022-09-26 | 2022-12-27 | 杭州海康威视数字技术股份有限公司 | 一种网络模型的量化方法、装置及设备 |
Non-Patent Citations (5)
Title |
---|
FANGXIN LIU 等: "Improving Neural Network Efficiency via Post-training Quantization with Adaptive Floating-Point", 《2021 IEEE/CVF INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV)》, pages 5261 - 5270 * |
REZA ABBASI-ASL 等: "Structural Compression of Convolutional Neural Networks with Applications in Interpretability", 《FRONT. BIG DATA》, pages 1 - 13 * |
孙彦丽;叶炯耀;: "基于剪枝与量化的卷积神经网络压缩方法", 计算机科学, no. 08, pages 268 - 273 * |
闵锐;: "高效深度神经网络综述", 电信科学, no. 04, pages 115 - 124 * |
靳丽蕾;杨文柱;王思乐;崔振超;陈向阳;陈丽萍;: "一种用于卷积神经网络压缩的混合剪枝方法", 小型微型计算机系统, no. 12, pages 2596 - 2601 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077740A (zh) * | 2023-09-25 | 2023-11-17 | 荣耀终端有限公司 | 模型量化方法和设备 |
CN117077740B (zh) * | 2023-09-25 | 2024-03-12 | 荣耀终端有限公司 | 模型量化方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116187420B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427771B (zh) | 摘要文本生成方法、装置和计算机设备 | |
CN110135580B (zh) | 一种卷积网络全整型量化方法及其应用方法 | |
CN116187420B (zh) | 轻量化的深度神经网络的训练方法、系统、设备和介质 | |
CN111133507B (zh) | 一种语音合成方法、装置、智能终端及可读介质 | |
CN110070867B (zh) | 语音指令识别方法、计算机装置及计算机可读存储介质 | |
CN110796251A (zh) | 基于卷积神经网络的图像压缩优化方法 | |
CN109978144B (zh) | 一种模型压缩方法和系统 | |
CN110674924B (zh) | 一种深度学习推理自动量化方法和装置 | |
CN111950715A (zh) | 基于自适应动态移位的8位整型全量化推理方法及装置 | |
CN111275166B (zh) | 基于卷积神经网络的图像处理装置、设备及可读存储介质 | |
CN112861996A (zh) | 深度神经网络模型压缩方法及装置、电子设备、存储介质 | |
CN110837890A (zh) | 一种面向轻量级卷积神经网络的权值数值定点量化方法 | |
CN111542838A (zh) | 一种卷积神经网络的量化方法、装置及电子设备 | |
CN112035701A (zh) | 一种互联网短视频溯源的方法及系统 | |
WO2021253857A1 (zh) | 一种融合裁剪与量化的模型压缩方法及系统 | |
CN112488291B (zh) | 一种神经网络8比特量化压缩方法 | |
CN112766397A (zh) | 一种分类网络及其实现方法和装置 | |
CN111048065B (zh) | 文本纠错数据生成方法及相关装置 | |
CN110782396B (zh) | 一种轻量化的图像超分辨率重建网络和重建方法 | |
CN117494762A (zh) | 学生模型的训练方法、素材处理方法、装置及电子设备 | |
CN114372565B (zh) | 一种用于边缘设备的目标检测网络压缩方法 | |
CN112200275B (zh) | 人工神经网络的量化方法及装置 | |
CN112818846A (zh) | 视频帧的特征提取方法、装置及电子设备 | |
CN113034381B (zh) | 一种基于空洞化的核预测网络的单图像去噪方法和装置 | |
CN113762498B (zh) | 一种量化RoiAlign算子的方法 |
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 |