CN116187420B - 轻量化的深度神经网络的训练方法、系统、设备和介质 - Google Patents

轻量化的深度神经网络的训练方法、系统、设备和介质 Download PDF

Info

Publication number
CN116187420B
CN116187420B CN202310490193.2A CN202310490193A CN116187420B CN 116187420 B CN116187420 B CN 116187420B CN 202310490193 A CN202310490193 A CN 202310490193A CN 116187420 B CN116187420 B CN 116187420B
Authority
CN
China
Prior art keywords
network
floating point
layer
point network
layers
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
Application number
CN202310490193.2A
Other languages
English (en)
Other versions
CN116187420A (zh
Inventor
舒顺朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Qigan Electronic Information Technology Co ltd
Original Assignee
Shanghai Qigan Electronic Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Qigan Electronic Information Technology Co ltd filed Critical Shanghai Qigan Electronic Information Technology Co ltd
Priority to CN202310490193.2A priority Critical patent/CN116187420B/zh
Publication of CN116187420A publication Critical patent/CN116187420A/zh
Application granted granted Critical
Publication of CN116187420B publication Critical patent/CN116187420B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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中任一项所述的方法。
CN202310490193.2A 2023-05-04 2023-05-04 轻量化的深度神经网络的训练方法、系统、设备和介质 Active CN116187420B (zh)

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 CN116187420A (zh) 2023-05-30
CN116187420B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077740B (zh) * 2023-09-25 2024-03-12 荣耀终端有限公司 模型量化方法和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414679A (zh) * 2019-08-02 2019-11-05 厦门美图之家科技有限公司 模型训练方法、装置、电子设备和计算机可读存储介质
WO2021129570A1 (zh) * 2019-12-25 2021-07-01 神思电子技术股份有限公司 一种基于网络激活与稀疏化的网络裁剪优化方法
CN115526310A (zh) * 2022-09-26 2022-12-27 杭州海康威视数字技术股份有限公司 一种网络模型的量化方法、装置及设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245741A (zh) * 2018-03-09 2019-09-17 佳能株式会社 多层神经网络模型的优化和应用方法、装置及存储介质
CN110929865B (zh) * 2018-09-19 2021-03-05 深圳云天励飞技术有限公司 网络量化方法、业务处理方法及相关产品
US11676003B2 (en) * 2018-12-18 2023-06-13 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
CA3155094A1 (en) * 2019-09-25 2021-04-01 Deepmind Technologies Limited Fast sparse neural networks
CN113408715B (zh) * 2020-03-17 2024-05-28 杭州海康威视数字技术股份有限公司 一种神经网络的定点化方法、装置
CN111598238A (zh) * 2020-07-17 2020-08-28 支付宝(杭州)信息技术有限公司 深度学习模型的压缩方法及装置
US20220044114A1 (en) * 2020-08-04 2022-02-10 Nvidia Corporation Hybrid quantization of neural networks for edge computing applications
CN112766456B (zh) * 2020-12-31 2023-12-26 平安科技(深圳)有限公司 浮点型深度神经网络的量化方法、装置、设备及存储介质
CN113780551B (zh) * 2021-09-03 2023-03-24 北京市商汤科技开发有限公司 模型量化方法、装置、设备、存储介质及计算机程序产品
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 西安电子科技大学 多手段复合的调制类型识别模型轻量化处理方法
CN114898108B (zh) * 2022-03-30 2023-01-06 哈尔滨工业大学 一种基于fpga的cnn模型轻量化方法、目标检测方法及系统
CN114925780A (zh) * 2022-06-16 2022-08-19 福州大学 一种基于fpga的轻量级cnn分类器的优化提速方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414679A (zh) * 2019-08-02 2019-11-05 厦门美图之家科技有限公司 模型训练方法、装置、电子设备和计算机可读存储介质
WO2021129570A1 (zh) * 2019-12-25 2021-07-01 神思电子技术股份有限公司 一种基于网络激活与稀疏化的网络裁剪优化方法
CN115526310A (zh) * 2022-09-26 2022-12-27 杭州海康威视数字技术股份有限公司 一种网络模型的量化方法、装置及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于剪枝与量化的卷积神经网络压缩方法;孙彦丽;叶炯耀;;计算机科学(第08期);268-273 *

Also Published As

Publication number Publication date
CN116187420A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN108427771B (zh) 摘要文本生成方法、装置和计算机设备
CN110135580B (zh) 一种卷积网络全整型量化方法及其应用方法
CN111914085B (zh) 文本细粒度情感分类方法、系统、装置及存储介质
CN116187420B (zh) 轻量化的深度神经网络的训练方法、系统、设备和介质
CN109361404B (zh) 一种基于半监督深度学习网络的ldpc译码系统及译码方法
CN111133507B (zh) 一种语音合成方法、装置、智能终端及可读介质
CN111147862B (zh) 一种基于目标编码的端到端图像压缩方法
CN109978144B (zh) 一种模型压缩方法和系统
CN110796251A (zh) 基于卷积神经网络的图像压缩优化方法
CN110674924B (zh) 一种深度学习推理自动量化方法和装置
CN111950715A (zh) 基于自适应动态移位的8位整型全量化推理方法及装置
CN112861996A (zh) 深度神经网络模型压缩方法及装置、电子设备、存储介质
CN110837890A (zh) 一种面向轻量级卷积神经网络的权值数值定点量化方法
CN117194637A (zh) 基于大语言模型的多层级可视化评估报告生成方法、装置
CN112035701A (zh) 一种互联网短视频溯源的方法及系统
CN111275166B (zh) 基于卷积神经网络的图像处理装置、设备及可读存储介质
CN112766397A (zh) 一种分类网络及其实现方法和装置
CN110782396B (zh) 一种轻量化的图像超分辨率重建网络和重建方法
CN109472366B (zh) 一种机器学习模型的编码解码方法与装置
CN117494762A (zh) 学生模型的训练方法、素材处理方法、装置及电子设备
CN112200275B (zh) 人工神经网络的量化方法及装置
CN111542838A (zh) 一种卷积神经网络的量化方法、装置及电子设备
CN112652299B (zh) 时间序列语音识别深度学习模型的量化方法及装置
CN111048065B (zh) 文本纠错数据生成方法及相关装置
CN114565080A (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
GR01 Patent grant
GR01 Patent grant