CN113159269A - 终端模型处理方法、装置及设备 - Google Patents
终端模型处理方法、装置及设备 Download PDFInfo
- Publication number
- CN113159269A CN113159269A CN202010075666.9A CN202010075666A CN113159269A CN 113159269 A CN113159269 A CN 113159269A CN 202010075666 A CN202010075666 A CN 202010075666A CN 113159269 A CN113159269 A CN 113159269A
- Authority
- CN
- China
- Prior art keywords
- layer set
- model
- training
- layer
- processed
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012549 training Methods 0.000 claims abstract description 392
- 238000000034 method Methods 0.000 claims abstract description 248
- 238000012545 processing Methods 0.000 claims abstract description 102
- 238000013139 quantization Methods 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims description 94
- 230000004913 activation Effects 0.000 claims description 85
- 238000013145 classification model Methods 0.000 claims description 44
- 238000003860 storage Methods 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 abstract description 24
- 238000013473 artificial intelligence Methods 0.000 abstract description 9
- 238000003062 neural network model Methods 0.000 description 40
- 230000000694 effects Effects 0.000 description 34
- 239000013585 weight reducing agent Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 15
- 230000001537 neural effect Effects 0.000 description 15
- 238000005457 optimization Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000000605 extraction Methods 0.000 description 9
- 238000011946 reduction process Methods 0.000 description 9
- 241000282326 Felis catus Species 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000010191 image analysis Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/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)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了终端模型处理方法、装置及电子设备,适用于人工智能领域中的模型小型化技术领域,该方法包括:将待处理的终端模型中的模型层划分为多个原层集合,并对各个原层集合进行多种轻量化处理得到对应的量化层集合。利用预设样本数据,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至模型收敛,完成对模型的轻量化训练。再基于轻量化训练得到模型对待处理数据进行处理,得到对应的处理结果。由于选取出的层集合权重参数的数据量小于原本的待处理模型,且模型运行时的计算量也大大减小,从而使得在保障模型性能的同时,模型的体积得以缩减并节约了计算资源。
Description
技术领域
本申请属于人工智能技术领域,尤其涉及终端模型处理方法、装置及设备。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的不断进步,利用AI提升电子设备智能化的场景也越来越丰富。例如通过在终端设备内置包含如神经网络模型等终端模型(以下简称模型)的AI应用,可以极大地丰富终端设备的功能,使得终端设备变得更为智能化。
为了提升模型的性能,往往会训练较多的权重参数来表示模型,这使得模型存储时占用的存储空间和运行时占用的计算资源等都会迅速增长,影响了终端设备的处理性能。特别是对应手机等计算资源较为有限的终端设备而言,甚至可能导致AI应用无法正常使用。
发明内容
有鉴于此,本申请实施例提供了终端模型处理方法、装置及设备,可以减小终端模型的内存占用空间以及计算资源,提高终端设备的处理性能。
本申请实施例的第一方面提供了一种终端模型处理方法,包括:
将待处理的终端模型中的模型层划分为多个原层集合,并对各个原层集合进行多种轻量化处理得到对应的量化层集合。利用预设样本数据,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至模型收敛,完成对模型的轻量化训练。再基于轻量化训练得到模型对待处理数据进行处理,得到对应的处理结果。其中,轻量化处理包含以下处理中的至少两种:对层集合中权重参数进行量化处理、减少层集合中权重参数数量以及对层集合中模型层之间的网络结构进行调整。
由于选取出的层集合权重参数的数据量小于原本的待处理模型,且模型运行时的计算量也大大减小,从而使得在保障模型性能的同时,对电子设备存储空间的占用和模型运行时对计算资源的占用均得以减小。
在第一方面的第一种可能的实现方式中,减少层集合中权重参数数量,包括:
减小层集合中包含的卷积核的尺寸,或者减少卷积核的数量。
通过对卷积核的尺寸和数量的缩减,可以更好地实现对层集合的轻量化操作。
在第一方面的第二种可能的实现方式中,作为第一种可能实现方式中对第一层集合轻量化的一种可选方式,包括:
基于深度可分离卷积技术对第一层集合进行网络结构优化。
通过深度可分离卷积技术对第一层集合进行网络结构优化,可以降低第一层集合中模型层的网络结构冗余度,使得第一层集合中权重参数数量和运算量得以降低。
在第一方面的第三种可能的实现方式中,在对第二层集合进行权重参数迭代训练之前,还包括:
获取每个第二层集合对应的预设激活概率,其中,预设激活概率与第二层集合中权重参数占用的字节数呈负相关。
在每次对第二层集合进行训练的过程中,包括:
根据对应的预设激活概率,选取所需激活的第二层集合,并对选取出的第二层集合进行权重参数更新。
通过设置激活概率的方式,实现对各个第二层集合训练的控制,以保证低精度权重参数的第二层集合可以得到充分的训练,使得整体模型训练效果较佳。
在第一方面的第四种可能的实现方式中,在对第一层集合和第二层集合进行权重参数迭代训练之前,还包括:
获取每个第一层集合和第二层集合对应的预设激活概率,其中,预设激活概率与第一层集合和第二层集合中权重参数占用的字节数呈负相关。
在每次对第一层集合和第二层集合进行训练的过程中,包括:
根据对应的预设激活概率,从第一层集合和第二层集合中选取所需激活的层集合,并对选取出的层集合进行权重参数更新。
通过设置激活概率的方式,实现对各个第一层集合和第二层集合训练的控制,以保证低精度权重参数的层集合可以得到充分的训练,使得整体模型训练效果较佳。
在第一方面的第五种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若对第二层集合的单次训练完成后,或者对第一层集合和第二层集合的单次训练完成后,待处理的终端模型不满足预设收敛条件,获取该次训练完成后待处理的终端模型的至少一个性能指标参数。
利用预设样本数据和至少一个性能指标参数,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的终端模型满足预设收敛条件,完成轻量化处理。
在本申请实施例中,通过每次训练反馈指标参数的方式对层集合进行权重参数迭代更新训练,可以提高模型的训练效果,同时加快模型满足收敛条件的速度,提升模型训练效率。
在第一方面的第六种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
采用基于梯度下降的可微神经结构搜索的方法来对模型进行权重参数的迭代训练。
由于可微神经结构搜索可以实现对搜索空间内最佳架构的搜索。在设定好搜索的节点为各个层次中的层集合的基础上,通过可微神经结构搜索的训练方式对模型进行训练,可以在模型训练过程中就实现对各个层次中层集合的选取,进而使得在模型满足收敛条件,就可以得到由选取好的层集合构成的模型。
在第一方面的第七种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若迭代训练后待处理的终端模型满足预设收敛条件,以各个第二层集合为路径节点,对待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的终端模型。
通过以层集合为搜索节点,对满足收敛条件的模型进行层集合的路径搜索,可以在模型满足收敛条件,得到适宜存留的层集合,实现对模型的轻量化训练。
在第一方面的第八种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若迭代训练后待处理的终端模型满足预设收敛条件,以各个第一层集合和第二层集合为路径节点,对待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的终端模型。
通过以层集合为搜索节点,对满足收敛条件的模型进行层集合的路径搜索,可以在模型满足收敛条件,得到适宜存留的层集合,实现对模型的轻量化训练。
本申请实施例的第二方面提供了一种终端模型训练方法,包括:
将待处理的终端模型中的模型层划分为多个原层集合,并对各个原层集合进行多种轻量化处理得到对应的量化层集合。利用预设样本数据,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至模型收敛,得到训练完成的终端模型。其中,轻量化处理包含以下处理中的至少两种:对层集合中权重参数进行量化处理、减少层集合中权重参数数量以及对层集合中模型层之间的网络结构进行调整。
由于选取出的层集合权重参数的数据量小于原本的待处理模型,且模型运行时的计算量也大大减小,从而使得在保障模型性能的同时,对电子设备存储空间的占用和模型运行时对计算资源的占用均得以减小。
在第二方面的第一种可能的实现方式中,减少层集合中权重参数数量,包括:
减小层集合中包含的卷积核的尺寸,或者减少卷积核的数量。
通过对卷积核的尺寸和数量的缩减,可以更好地实现对层集合的轻量化操作。
在第二方面的第二种可能的实现方式中,作为第一种可能实现方式中对第一层集合轻量化的一种可选方式,包括:
基于深度可分离卷积技术对第一层集合进行网络结构优化。
通过深度可分离卷积技术对第一层集合进行网络结构优化,可以降低第一层集合中模型层的网络结构冗余度,使得第一层集合中权重参数数量和运算量得以降低。
在第二方面的第三种可能的实现方式中,在对第二层集合进行权重参数迭代训练之前,还包括:
获取每个第二层集合对应的预设激活概率,其中,预设激活概率与第二层集合中权重参数占用的字节数呈负相关。
在每次对第二层集合进行训练的过程中,包括:
根据对应的预设激活概率,选取所需激活的第二层集合,并对选取出的第二层集合进行权重参数更新。
通过设置激活概率的方式,实现对各个第二层集合训练的控制,以保证低精度权重参数的第二层集合可以得到充分的训练,使得整体模型训练效果较佳。
在第二方面的第四种可能的实现方式中,在对第一层集合和第二层集合进行权重参数迭代训练之前,还包括:
获取每个第一层集合和第二层集合对应的预设激活概率,其中,预设激活概率与第一层集合和第二层集合中权重参数占用的字节数呈负相关。
在每次对第一层集合和第二层集合进行训练的过程中,包括:
根据对应的预设激活概率,从第一层集合和第二层集合中选取所需激活的层集合,并对选取出的层集合进行权重参数更新。
通过设置激活概率的方式,实现对各个第一层集合和第二层集合训练的控制,以保证低精度权重参数的层集合可以得到充分的训练,使得整体模型训练效果较佳。
在第二方面的第五种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若对第二层集合的单次训练完成后,或者对第一层集合和第二层集合的单次训练完成后,待处理的终端模型不满足预设收敛条件,获取该次训练完成后待处理的终端模型的至少一个性能指标参数。
利用预设样本数据和至少一个性能指标参数,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的终端模型满足预设收敛条件,得到训练完成的终端模型。
在本申请实施例中,通过每次训练反馈指标参数的方式对层集合进行权重参数迭代更新训练,可以提高模型的训练效果,同时加快模型满足收敛条件的速度,提升模型训练效率。
在第二方面的第六种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
采用基于梯度下降的可微神经结构搜索的方法来对模型进行权重参数的迭代训练。
由于可微神经结构搜索可以实现对搜索空间内最佳架构的搜索。在设定好搜索的节点为各个层次中的层集合的基础上,通过可微神经结构搜索的训练方式对模型进行训练,可以在模型训练过程中就实现对各个层次中层集合的选取,进而使得在模型满足收敛条件,就可以得到由选取好的层集合构成的模型。
在第二方面的第七种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若迭代训练后待处理的终端模型满足预设收敛条件,以各个第二层集合为路径节点,对待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的终端模型。
通过以层集合为搜索节点,对满足收敛条件的模型进行层集合的路径搜索,可以在模型满足收敛条件,得到适宜存留的层集合,实现对模型的轻量化训练。
在第二方面的第八种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若迭代训练后待处理的终端模型满足预设收敛条件,以各个第一层集合和第二层集合为路径节点,对待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的终端模型。
通过以层集合为搜索节点,对满足收敛条件的模型进行层集合的路径搜索,可以在模型满足收敛条件,得到适宜存留的层集合,实现对模型的轻量化训练。
本申请实施例的第三方面提供了一种终端模型训练方法,包括:
构建一个包含多个待训练层组的初始模型;其中,每个待训练层组中包含多个层集合,每个层集合中包含一个或多个模型层,且每个待训练层组包含的层集合之间,存在以下差异中的至少一种差异:层集合中权重参数占用的字节数、层集合中权重参数的数量以及层集合中模型层之间的网络结构;
对初始模型进行权重参数的初始化,并对各个层集合进行权重参数迭代训练,直至初始模型满足预设收敛条件,得到训练完成的终端模型。
由于混合精度训练后筛选出的层集合数据量较小,使得最终模型的体积和运行时占用的计算资源也较小。对电子设备存储空间的占用和模型运行时对计算资源的占用均得以减小,提高了电子设备的性能。
在第三方面的第一种可能的实现方式中,减少层集合中权重参数数量,包括:
减小层集合中包含的卷积核的尺寸,或者减少卷积核的数量。
通过对卷积核的尺寸和数量的缩减,可以更好地实现对层集合的轻量化操作。
在第三方面的第二种可能的实现方式中,在对第二层集合进行权重参数迭代训练之前,还包括:
获取每个所述层集合对应的预设激活概率,其中,所述预设激活概率与所述层集合中权重参数占用的字节数呈负相关;
在所述对各个所述层集合进行权重参数迭代训练的过程中,每次训练的过程,包括:
根据对应的所述预设激活概率,选取所需激活的所述层集合,并对选取出的所述层集合进行权重参数更新。
通过设置激活概率的方式,实现对各个层集合训练的控制,以保证低精度权重参数的层集合可以得到充分的训练,使得整体模型训练效果较佳。
在第三方面的第四种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若对层集合的单次训练完成后,所述初始模型不满足预设收敛条件,获取该次训练完成后所述初始模型的至少一个性能指标参数。
利用预设样本数据和至少一个性能指标参数,对层集合进行权重参数迭代训练,直至所述初始模型满足预设收敛条件,得到训练完成的终端模型。
在本申请实施例中,通过每次训练反馈指标参数的方式对层集合进行权重参数迭代更新训练,可以提高模型的训练效果,同时加快模型满足收敛条件的速度,提升模型训练效率。
在第三方面的第五种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
采用基于梯度下降的可微神经结构搜索的方法来对模型进行权重参数的迭代训练。
由于可微神经结构搜索可以实现对搜索空间内最佳架构的搜索。在设定好搜索的节点为各个层次中的层集合的基础上,通过可微神经结构搜索的训练方式对模型进行训练,可以在模型训练过程中就实现对各个层次中层集合的选取,进而使得在模型满足收敛条件,就可以得到由选取好的层集合构成的模型。
在第三方面的第七种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若迭代训练后的所述初始模型满足预设收敛条件,以各个层集合为路径节点,对待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的终端模型。
通过以层集合为搜索节点,对满足收敛条件的模型进行层集合的路径搜索,可以在模型满足收敛条件,得到适宜存留的层集合,实现对模型的轻量化训练。
本申请实施例的第四方面提供了一种图像分类模型训练方法,包括:
将待处理的图像分类模型的隐藏层划分为至少一个第一层集合,其中,每个第一层集合中包含至少一个第一模型层,第一模型层为包含卷积算子的隐藏层,卷积算子用于图像特征分析。对每个第一层集合进行轻量化处理,得到对应的第二层集合。利用预设样本图像,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的图像分类模型满足预设收敛条件,得到训练完成的图像分类模型。轻量化处理包含以下处理中的至少两种:对层集合中卷积算子包含的权重参数进行量化处理、减少层集合中卷积算子包含的权重参数数量以及对层集合中模型层之间的网络结构进行调整。
由于选取出的层集合中,卷积算子中权重参数的数据量小于原本待训练的图像分类模型,且模型运行时的计算量也大大减小,从而使得在保障图像分类模型性能的同时,对电子设备存储空间的占用和模型运行时对计算资源的占用均得以减小。
在第四方面的第一种可能的实现方式中,
所述减少层集合中卷积算子包含的权重参数数量,包括:
减小卷积算子中包含的卷积核的尺寸,或者减少卷积算子中卷积核的数量。
通过对卷积核的尺寸和数量的缩减,可以更好地实现对层集合的轻量化操作。
通过对第一层集合的轻量化处理,可以更好地实现对模型的轻量化操作。
在第四方面的第二种可能的实现方式中,作为第一种可能实现方式中对第一层集合轻量化的一种可选方式,包括:
基于深度可分离卷积技术对第一层集合进行网络结构优化。
通过深度可分离卷积技术对第一层集合进行网络结构优化,可以降低第一层集合中模型层的网络结构冗余度,使得第一层集合中权重参数数量和运算量得以降低。
在第四方面的第三种可能的实现方式中,在对第二层集合进行权重参数迭代训练之前,还包括:
获取每个第二层集合对应的预设激活概率,其中,预设激活概率与第二层集合中卷积算子的权重参数占用的字节数呈负相关。
在每次对第二层集合进行训练的过程中,包括:
根据对应的预设激活概率,选取所需激活的第二层集合,并对选取出的第二层集合进行权重参数更新。
通过设置激活概率的方式,实现对各个第二层集合训练的控制,以保证低精度权重参数的第二层集合可以得到充分的训练,使得整体模型训练效果较佳。
在第四方面的第四种可能的实现方式中,在对第一层集合和第二层集合进行权重参数迭代训练之前,还包括:
获取每个第一层集合和第二层集合对应的预设激活概率,其中,预设激活概率,与第一层集合和第二层集合中卷积算子的权重参数占用的字节数呈负相关。
在每次对第一层集合和第二层集合进行训练的过程中,包括:
根据对应的预设激活概率,从第一层集合和第二层集合中选取所需激活的层集合,并对选取出的层集合进行权重参数更新。
通过设置激活概率的方式,实现对各个第一层集合和第二层集合训练的控制,以保证低精度权重参数的层集合可以得到充分的训练,使得整体模型训练效果较佳。
在第四方面的第五种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若对第二层集合的单次训练完成后,或者对第一层集合和第二层集合的单次训练完成后,待处理的图像分类模型不满足预设收敛条件,获取该次训练完成后待处理的图像分类模型的至少一个性能指标参数。
利用预设样本数据和至少一个性能指标参数,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的图像分类模型满足预设收敛条件,完成轻量化处理。
在本申请实施例中,通过每次训练反馈指标参数的方式对层集合进行权重参数迭代更新训练,可以提高模型的训练效果,同时加快模型满足收敛条件的速度,提升模型训练效率。
在第四方面的第六种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
采用基于梯度下降的可微神经结构搜索的方法来对模型进行权重参数的迭代训练。
由于可微神经结构搜索可以实现对搜索空间内最佳架构的搜索。在设定好搜索的节点为各个层次中的层集合的基础上,通过可微神经结构搜索的训练方式对模型进行训练,可以在模型训练过程中就实现对各个层次中层集合的选取,进而使得在模型满足收敛条件,就可以得到由选取好的层集合构成的模型。
在第四方面的第七种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若迭代训练后待处理的图像分类模型满足预设收敛条件,以各个第二层集合为路径节点,对待处理的图像分类模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的图像分类模型。
通过以层集合为搜索节点,对满足收敛条件的模型进行层集合的路径搜索,可以在模型满足收敛条件,得到适宜存留的层集合,实现对模型的轻量化训练。
在第四方面的第八种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若迭代训练后待处理的图像分类模型满足预设收敛条件,以各个第一层集合和第二层集合为路径节点,对待处理的图像分类模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的图像分类模型。
通过以层集合为搜索节点,对满足收敛条件的模型进行层集合的路径搜索,可以在模型满足收敛条件,得到适宜存留的层集合,实现对模型的轻量化训练。
本申请实施例的第五方面提供了一种语音识别模型训练方法,包括:
将待处理的语音识别模型的隐藏层划分为至少一个第一层集合,其中,每个第一层集合中包含至少一个第一模型层,第一模型层为包含预设算子的隐藏层,预设算子为时序算子或卷积算子,时序算子用于处理时序数据,卷积算子用于语音特征分析。对每个第一层集合进行轻量化处理,得到对应的第二层集合。利用预设样本语音,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的语音识别模型满足预设收敛条件,得到训练完成的语音识别模型。其中,轻量化处理包含以下处理中的至少两种:对层集合中预设算子包含的权重参数进行量化处理、减少层集合中预设算子包含的权重参数数量以及对层集合中模型层之间的网络结构进行调整。
由于选取出的层集合中,预设算子中权重参数的数据量小于原本待训练的语音识别模型,且模型运行时的计算量也大大减小,从而使得在保障语音识别模型性能的同时,对电子设备存储空间的占用和模型运行时对计算资源的占用均得以减小。
在第五方面的第一种可能的实现方式中,
所述减少层集合中预设算子包含的权重参数数量,包括:
减小预设算子中包含的卷积核的尺寸,或者减少预设算子中卷积核的数量
通过对卷积核的尺寸和数量的缩减,可以更好地实现对层集合的轻量化操作。
在第五方面的第二种可能的实现方式中,作为第一种可能实现方式中对第一层集合轻量化的一种可选方式,包括:
基于深度可分离卷积技术对第一层集合进行网络结构优化。
通过深度可分离卷积技术对第一层集合进行网络结构优化,可以降低第一层集合中模型层的网络结构冗余度,使得第一层集合中权重参数数量和运算量得以降低。
在第五方面的第三种可能的实现方式中,在对第二层集合进行权重参数迭代训练之前,还包括:
获取每个第二层集合对应的预设激活概率,其中,预设激活概率与第二层集合中预设算子的权重参数占用的字节数呈负相关。
在每次对第二层集合进行训练的过程中,包括:
根据对应的预设激活概率,选取所需激活的第二层集合,并对选取出的第二层集合进行权重参数更新。
通过设置激活概率的方式,实现对各个第二层集合训练的控制,以保证低精度权重参数的第二层集合可以得到充分的训练,使得整体模型训练效果较佳。
在第五方面的第四种可能的实现方式中,在对第一层集合和第二层集合进行权重参数迭代训练之前,还包括:
获取每个第一层集合和第二层集合对应的预设激活概率,其中,预设激活概率,与第一层集合和第二层集合中预设算子的权重参数占用的字节数呈负相关。
在每次对第一层集合和第二层集合进行训练的过程中,包括:
根据对应的预设激活概率,从第一层集合和第二层集合中选取所需激活的层集合,并对选取出的层集合进行权重参数更新。
通过设置激活概率的方式,实现对各个第一层集合和第二层集合训练的控制,以保证低精度权重参数的层集合可以得到充分的训练,使得整体模型训练效果较佳。
在第五方面的第五种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若对第二层集合的单次训练完成后,或者对第一层集合和第二层集合的单次训练完成后,待处理的语音识别模型不满足预设收敛条件,获取该次训练完成后待处理的语音识别模型的至少一个性能指标参数。
利用预设样本数据和至少一个性能指标参数,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的语音识别模型满足预设收敛条件,完成轻量化处理。
在本申请实施例中,通过每次训练反馈指标参数的方式对层集合进行权重参数迭代更新训练,可以提高模型的训练效果,同时加快模型满足收敛条件的速度,提升模型训练效率。
在第五方面的第六种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
采用基于梯度下降的可微神经结构搜索的方法来对模型进行权重参数的迭代训练。
由于可微神经结构搜索可以实现对搜索空间内最佳架构的搜索。在设定好搜索的节点为各个层次中的层集合的基础上,通过可微神经结构搜索的训练方式对模型进行训练,可以在模型训练过程中就实现对各个层次中层集合的选取,进而使得在模型满足收敛条件,就可以得到由选取好的层集合构成的模型。
在第五方面的第七种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若迭代训练后待处理的语音识别模型满足预设收敛条件,以各个第二层集合为路径节点,对待处理的语音识别模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的语音识别模型。
通过以层集合为搜索节点,对满足收敛条件的模型进行层集合的路径搜索,可以在模型满足收敛条件,得到适宜存留的层集合,实现对模型的轻量化训练。
在第五方面的第八种可能的实现方式中,对各个层集合权重参数的迭代训练过程中,包括:
若迭代训练后待处理的语音识别模型满足预设收敛条件,以各个第一层集合和第二层集合为路径节点,对待处理的语音识别模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的语音识别模型。
通过以层集合为搜索节点,对满足收敛条件的模型进行层集合的路径搜索,可以在模型满足收敛条件,得到适宜存留的层集合,实现对模型的轻量化训练。
本申请实施例的第六方面提供了一种终端模型处理装置,包括:
获取模块,用于获取待处理的终端模型。
模型轻量化模块,用于对待处理的终端模型进行轻量化处理,得到处理后的终端模型。
数据处理模块,用于获取待处理数据,并通过处理后的终端模型对待处理数据进行处理,得到对应的处理结果。
模型轻量化模块,包括:
层集合划分模块,用于层集合将待处理的终端模型的模型层划分为至少一个第一层集合。
轻量化子模块,用于对每个所述第一层集合轻量化处理,得到对应的第二层集合,其中,所述轻量化处理包含以下处理中的至少两种:对层集合中权重参数进行量化处理、减少层集合中权重参数数量以及对层集合中模型层之间的网络结构进行调整。
迭代训练模块,用于利用预设样本数据,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的终端模型满足预设收敛条件,完成轻量化处理。
在第六方面的第一种可能的实现方式中,轻量化子模块,包括:
缩减模块,用于减小层集合中包含的卷积核的尺寸,或者减少卷积核的数量。
在第六方面的第二种可能的实现方式中,层集合轻量化模块,包括:
基于深度可分离卷积技术对第一层集合进行网络结构优化。
在第六方面的第三种可能的实现方式中,该终端模型处理装置,还包括:
概率获取模块,用于获取每个第二层集合对应的预设激活概率,其中,预设激活概率与第二层集合中权重参数占用的字节数呈负相关。
对应的,迭代训练模块,包括:
层集合激活模块,用于根据对应的预设激活概率,选取所需激活的第二层集合,并对选取出的第二层集合进行权重参数更新。
在第六方面的第四种可能的实现方式中,该终端模型处理装置,还包括:
概率获取模块,用于获取每个第一层集合和第二层集合对应的预设激活概率,其中,预设激活概率与第一层集合和第二层集合中权重参数占用的字节数呈负相关。
对应的,迭代训练模块,包括:
层集合激活模块,用于根据对应的预设激活概率,从第一层集合和第二层集合中选取所需激活的层集合,并对选取出的层集合进行权重参数更新。
在第六方面的第五种可能的实现方式中,迭代训练模块,包括:
参数反馈模块,用于若对第二层集合的单次训练完成后,或者对第一层集合和第二层集合的单次训练完成后,待处理的终端模型不满足预设收敛条件,获取该次训练完成后待处理的终端模型的至少一个性能指标参数。
迭代训练子模块,用于利用预设样本数据和至少一个性能指标参数,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的终端模型满足预设收敛条件,完成轻量化处理。
在第六方面的第六种可能的实现方式中,迭代训练模块,包括:
路径搜索模块,用于若迭代训练后待处理的终端模型满足预设收敛条件,以各个第二层集合为路径节点,对待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的终端模型。
在第六方面的第七种可能的实现方式中,迭代训练模块,包括:
路径搜索模块,用于若迭代训练后待处理的终端模型满足预设收敛条件,以各个第一层集合和第二层集合为路径节点,对待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由层集合路径中各个路径节点组成的模型作为处理后的终端模型。
可以理解的是,上述第六方面是与上述第一方面对应装置内容,其有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例的第七方面提供了一种电子设备,所述电子设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使得电子设备实现如上述第一方面中任一项所述终端模型处理方法的步骤,或者实现如上述第二方面中任一项所述终端模型训练方法的步骤,或者实现如上述第三方面中任一项所述图像分类模型训练方法的步骤,或者实现如上述第四方面中任一项所述语音识别模型训练方法的步骤。
本申请实施例的第八方面提供了一种计算机可读存储介质,包括:存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得电子设备实现如上述第一方面中任一项所述终端模型处理方法的步骤,或者实现如上述第二方面中任一项所述终端模型训练方法的步骤,或者实现如上述第三方面中任一项所述图像分类模型训练方法的步骤,或者实现如上述第四方面中任一项所述语音识别模型训练方法的步骤。
本申请实施例的第九方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述终端模型处理方法,或者实现如上述第二方面中任一项所述终端模型训练方法的步骤,或者实现如上述第三方面中任一项所述图像分类模型训练方法的步骤,或者实现如上述第四方面中任一项所述语音识别模型训练方法的步骤。
可以理解的是,上述第六方面至第九方面的有益效果可以参见上述第一方面、第二方面、第三方面和第四方面中的相关描述,在此不再赘述。
附图说明
图1是本申请一实施例提供的神经网络模型训练方法的流程示意图;
图2是本申请一实施例提供的应用场景示意图;
图3A是本申请一实施例提供的应用场景示意图;
图3B是本申请一实施例提供的应用场景示意图;
图4A是本申请一实施例提供的应用场景示意图;
图4B是本申请一实施例提供的应用场景示意图;
图4C是本申请一实施例提供的应用场景示意图;
图5A是本申请一实施例提供的应用场景示意图;
图5B是本申请一实施例提供的应用场景示意图;
图5C是本申请一实施例提供的应用场景示意图;
图5D是本申请一实施例提供的应用场景示意图;
图5E是本申请一实施例提供的应用场景示意图;
图6是本申请一实施例提供的神经网络模型训练方法的流程示意图;
图7是本申请一实施例提供的神经网络模型训练方法的流程示意图;
图8是本申请实施例提供的神经网络模型训练装置的结构示意图;
图9是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
本申请实施例提供的终端模型处理方法、终端模型训练、图像分类模型训练和语音识别模型训练方法,可应用于同一电子设备或不同的电子设备之中。其中,电子设备的具体设备类型此处不做任何限制,包括但不限于服务器,以及手机、电脑和可穿戴设备等终端设备,具体需由实际的应用场景确定。
为了便于理解本申请,此处先对本申请实施例进行简要说明:
在构建终端模型时,为了提升终端模型的性能,技术人员往往会堆叠更多的模型层数,训练更多的权重参数。而随着模型层数和权重参数的增长,模型的体积愈发臃肿同时运行时的计算量大大上升,从而使得模型存储时占用的存储空间和运行时占用的计算资源等都会迅速增长,降低了存储和运行模型的电子设备的处理性能。其中,终端模型的具体模型类型此处不做限定,可由技术人员根据实际场景情况确定。例如,包括但不限于如人工智能领域中的神经网络模型、决策树模型和随机森林模型。
为了减小模型体积并减少模型运行时占用的计算资源,实现对模型的轻量化处理。本申请实施例首先会对待处理的模型进行层集合划分,并以层集合为单位进行多种轻量化处理,得到体积更小占用计算资源更少的层集合。在得到各个层集合对应的量化后的层集合之后,再对这些层集合进行单精度或者不同精度权重参数的混合迭代训练,直至模型收敛。由于迭代训练后的模型满足性能收敛条件,且模型中不同层集合的组合对应的数据处理效果会存在一定的差异。因此可以从体积更小占用计算资源更少的层集合中挑选出适宜的层集合进行组合,从而保障了最终模型的性能。同时由于选取出的层集合权重参数的数据量小于原本的待处理模型,且模型运行时的计算量也大大减小,从而使得在保障模型性能的同时,模型的体积得以缩减并节约了计算资源。
其中,待处理的模型可以是已经训练完成的模型或者未经训练过的初始模型。对于未经训练过的初始模型的轻量化处理,其实质是对初始模型进行权重参数训练,在训练过程中通过权重参数量化和不同存储精度的权重参数混合训练选取的方式,来减少训练得到的模型的权重参数数量和存储精度。对于已训练完成的模型的轻量化处理,其实质就是对模型进行重新训练,以实现对模型的压缩处理,减少权重参数的数量并减低权重参数存储精度。
同时根据实际场景的不同,本申请实施例中的模型轻量化和利用轻量化后的模型进行数据处理的两部分操作,既可以是在同一电子设备中,也可以是在不同的电子设备中。例如,可以由电子设备A在完成对模型轻量化操作之后,再基于轻量化得到的模型进行待处理数据的处理。此时由于模型的体积更小运行时占用的计算资源更少,从而节约了电子设备A的本地存储空间,并减少了模型运行时对电子设备A处理器资源的占用,从而提升了电子设备A的处理性能。亦可以在电子设备A完成对模型轻量化操作之后,将轻量化完成的模型存储至电子设备B,由电子设备B利用轻量化完成的模型进行数据处理。此时可以节约电子设备B的本地存储空间,并减少模型运行时对电子设备B处理器资源的占用,从而提升了电子设备B的处理性能。其中,电子设备A和电子设备B为不同的两个设备,且均可以是服务器或者终端设备。
为了说明本申请所述的技术方案,下面以终端模型为神经网络模型为例,通过具体实施例来进行说明。
图1示出了本申请实施例一提供的神经网络模型训练方法的实现流程图,详述如下:
S101,电子设备获取预设样本数据和待处理的神经网络模型。
其中,预设样本数据用于训练待处理的模型,预设样本数据可由技术人员根据实际场景需求存储至电子设备中。预设样本数据的数据类型和待处理的模型的获取方式,需结合实际应用场景中待处理模型的模型种类和训练情况确定,此处不予限定。其中,模型种类包括但不限于如图像分类模型、自然语言处理模型、机器翻译模型、语音识别模型和视频处理模型。
例如,当本申请实施例结合图像分类场景应用时,此时待处理模型就是图像分类模型,预设样本数据就是可进行分类的样本图像。根据电子设备中是否存储有已训练好的图像分类模型,S101包括至少以下几种情况:
1、若电子设备中存储有已训练好的图像分类模型,此时电子设备可以读取已训练好的图像分类模型并作为待处理模型。
2、若电子设备中未存储已训练好的图像分类模型,此时电子设备可以自行构建一个用于进行图像分类的模型,并对该模型进行权重参数的初始化,再将初始化完成的模型作为待处理模型。
又例如当本申请实施例结合语音识别场景应用时,此时待处理模型就是语音识别模型,预设样本数据就是样本语音。根据电子设备中是否存储有已训练好的语音识别模型,S101同样可以包括上述情况1和情况2(只需要将图像分类模型替换为语音识别模型)。其他应用场景亦可参考上述图像分类场景进行预设样本数据的确定和S101的操作,此处不予赘述。
S102,电子设备将待处理的神经网络模型的模型层划分为至少一个第一层集合。
对于神经网络模型而言,一般由输入层、输出层和多个隐藏层串联组成。在本申请实施例中,模型层是指神经网络模型的隐藏层。这些隐藏层又可分为带有权重参数的模型层(如卷积层、全连接层和批量归一层等),以及不带有权重参数的模型层(如激励层)。神经网络模型训练,主要是指对各个模型层中的权重参数进行更新训练,使得训练完成后的神经网络模型可以满足预设的收敛条件。
在神经网络模型的各个模型层的基础上,不同的模型层之间可能会有不同的网络结构,例如串行结构、金字塔结构和残差网络结构等。不同的网络结构中模型层之间的连接关系和参数更新逻辑会存在一定的差异,进而导致了最终存留的权重参数的数量会存在较大的差异。因此,为了实现对待处理模型的优化。在获取到待处理的模型之后,本申请实施例会将待处理模型的模型层划分为多个原层集合,其中每个原层集合中包含一个或多个模型层。此时,可以获知每个原层集合中模型层之间具体的网络结构以及原层集合内包含的算子情况,如算子内包含的卷积核数量、各个卷积核的尺寸以及算子内包含的权重参数数量等,以作为原层集合轻量化的基础。其中,本申请实施例不对具体的原层集合划分方法进行限定,可由技术人员根据实际需求进行设定。但需满足单个原层集合中,至少包含一个带有权重参数的模型层,以保证原层集合可以进行权重参数优化。
作为本申请的一个可选实施例,为了保障量化层集合可以正常进行权重参数更新和使用,对原层集合划分规则可以设置为:包含一个或多个模型层分支,其中至少有一个分支中包含卷积层或全连接层。
在本申请实施例中,将模型层划分后得到的原层集合统一命名为第一层集合,并将对原层集合进行权重参数量化处理后得到的量化层集合,统一命名为第二层集合。
作为本申请的一个实施例,参考图2中的(a)部分,是一个同时包含9个模型层的神经网络模型A。参考图2的(b)部分,在本申请实施例中将该神经网络模型A的9个模型层划分为第一层集合A、第一层集合B和第一层集合C。其中第一层集合A包含2个卷积层、1个激励层和1个池化层,第一层集合B包含1个卷积层和1个池化层,第一层集合C则包含1个卷积层、1个池化层和1个全连接层。
S103,电子设备对每个第一层集合轻量化处理,得到对应的第二层集合,其中,轻量化处理包含以下处理中的至少两种:对层集合中权重参数进行量化处理、减少层集合中权重参数数量以及对层集合中模型层之间的网络结构进行调整。
为了提升模型的性能,在进行模型权重参数设置时,往往会选取精度较高占用字节数较多的数据类型作为权重参数的数据存储类型,例如全精度浮点型和半精度浮点型。一方面会使得模型的体积较大,另一方面过高精度的权重参数,也会导致模型运行时占用的计算资源急剧增大。为了在轻量化模型的同时保障模型的性能,本申请实施例会以层集合为单位进行轻量化处理,从而得到未轻量化过的原层集合以及对应轻量化后的量化层集合。再基于这些量化层集合来进行模型训练,以保证最终得到模型的性能。其中,轻量化是指减小层集合的体积,并减少层集合的中权重参数的计算量。在本申请实施例中,提供三种可选的轻量化方法,包括:
方法1:对层集合中的权重参数进行量化处理。
方法2:减少层集合中权重参数的数量。
方法3:优化层集合中模型层之间的网络结构。
对于方法1,权重参数量化处理是指降低权重参数存储时占用的字节数或者比特数,以减小权重参数在占用的存储空间。例如,对于原本占用字节数为4字节的权重参数,可以通过线性量化方法的方式将其占用字节数减少至2字节,或者减小至小于1字节,如2比特和1比特。本申请实施例不对权重参数量化的方法、次数以及每次量化的目标占用字节数进行限定,可由技术人员根据实际需求进行选取或设定。其中,对于量化方法而言,包括但不限于如线性量化方法、指数量化方法和二进制量化方法。对于量化次数而言,可以设定为大于或等于1的任意整数。对于量化的目标占用字节数而言,可设定为小于原层集合中权重参数实际占用字节数。对于量化次数大于1的情况,可以设置为每次量化的目标占用字节数均不相同,以保证每次量化的差异性,保障量化的效果。
作为本申请的一个实施例,假设经过层集合划分后的神经网络模型A中,包含权重参数占用字节数均为4字节的第一层集合A、第一层集合B和第一层集合C。同时对各个第一层集合的权重参数进行1次量化操作,且目标占用字节数为1字节,可得到图3A对应的神经网络模型A。此时神经网络模型A中,同时包含权重参数占用字节数均为1字节的第二层集合a1、第一层集合b1和第一层集合c1。
在图3A的基础上,假设还对各个第一层集合的权重参数进行1次量化操作,且目标占用字节数为2比特(即一共进行两次目标占用字节数不同的量化操作),可得到图3B对应的神经网络模型A。此时神经网络模型A中,还同时包含权重参数占用字节数均为2比特的第二层集合a2、第一层集合b2和第一层集合c2。
对于方法2,减少层集合中权重参数的数量可以减小层集合体积。本申请实施例不对具体减少权重参数数量的方法进行过多限定,可由技术人员根据实际需求进行选取或者设定。例如,在一些实施例中,可以随机或者根据一定预设规则减少层集合中的卷积核数量。在另一些实施例中,也可以减小层集合中卷积核的尺寸,以减少包含权重参数的数量。在又一些实施例中,亦可以减少层集合中卷积核的数量,并同时减小剩余的卷积核的尺寸。
其中,对卷积核尺寸具体的减小规则可由技术人员根据实际需求进行设定,此处不予限定。作为本申请的一个可选实施例,可以设置为将层集合中各个卷积核的大小减小n个单位。例如当n=2时,原本7×7大小的卷积核,就会被减小至5×5大小。作为本申请的另一个可选实施例,也可以设置为层集合中每个卷积核大小均随机减小为一个大于或等于1×1大小的尺寸。例如原本7×7大小的两个卷积核,可能会出现一个被随机减小至5×5大小,另一个被随机减小至3×3大小。同时,对卷积核数量和通道数等的减少方法,此处亦不予限定,可由技术人员根据实际需求进行设定。包括但不限于如,随机选取一些卷积核或通道进行删减。
对于方法3,考虑到传统神经网络模型内模型层的网络结构冗余度较高,导致了传统神经网络模型的体积较大且运行时耗费较多计算资源。为了实现对层集合的轻量化,本申请实施例中可以对各个原层集合进行网络结构优化,降低原层集合的网络结构冗余度,使得原层集合中权重参数数量和运算量得以降低。
其中,具体网络结构优化的方法此处不予限定,可由技术人员根据实际情况选取或设定。包括但不限于如一些基于深度可分离卷积技术的优化方法,例如利用FPN算法对原层集合进行优化,或者将原层集合的网络结构调整为一些轻量化的网络结构,如mobilenet和resnet类型的模型层网络结构。经由深度可分离卷积技术处理后深度可分离卷积算子会被优化,使得得到的量化层集合中不包含深度可分离卷积算子,进而使得相比原层集合而言,量化层集合中算子包含的权重参数数量以及对应的运算量更小。
参考图4A、图4B和图4C,是本申请实施例提供的几种可选轻量化的网络结构。实际应用中,可以将原层集合的网络结构调整为其中的任意一种,以实现对原层集合网络结构的优化。
为了保障对层集合的轻量化效果,在上述3中可选的轻量化方法的基础上,本申请实施例会选取其中2种或3种方法来作为对原层集合的轻量化方案。因此本申请实施例中实际包括:方法1+方法2、方法1+方法3、方法2+方法3以及方法1+方法2+方法3,共4种可用的轻量化方案。在实际应用过程中,可由技术人员根据实际需求选取其中任意一种轻量化方案实现对原层集合的轻量化处理。
以一实例进行说明,假设层集合a0、层集合b0和层集合c0是模型A的原层集合,各个原层集合中的权重参数精度均为4字节,卷积核尺寸均为7×7。选取了方法1+方法2+方法3作为对原层集合的轻量化方案。其中方法1中设置两种目标占用字节数,分别为1字节和2比特。方法2中设置两种尺寸减小的单位,分别为2个单位和4个单位。方法三中设置两种用于替换的优化网络架构,分别是图4B和图4C中的网络结构。此时共可以得到2×2×2=8种具体的轻量化方案。
利用8种轻量化方案分别对层集合a0、层集合b0和层集合c0进行处理后,可以得到包含3×8=24个量化层集合的模型A。参考图5,各个量化层集合的参数配置情况如下:
层集合a1、b1和c1:权重参数精度为1字节,卷积核尺寸为5×5,模型层之间为图4B中的网络结构。
层集合a2、b2和c2:权重参数精度为1字节,卷积核尺寸为5×5,模型层之间为为图4C中的网络结构。
层集合a3、b3和c3:权重参数精度为1字节,卷积核尺寸为3×3,模型层之间为为图4B中的网络结构。
层集合a4、b4和c4:权重参数精度为1字节,卷积核尺寸为3×3,模型层之间为为图4C中的网络结构。
层集合a5、b5和c5:权重参数精度为2比特,卷积核尺寸为5×5,模型层之间为为图4B中的网络结构。
层集合a6、b6和c6:权重参数精度为2比特,卷积核尺寸为5×5,模型层之间为为图4C中的网络结构。
层集合a7、b7和c7:权重参数精度为2比特,卷积核尺寸为3×3,模型层之间为为图4B中的网络结构。
层集合a8、b8和c8:权重参数精度为2比特,卷积核尺寸为3×3,模型层之间为为图4C中的网络结构。
S104,电子设备利用预设样本数据,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的神经网络模型满足预设收敛条件,完成训练。
为了在轻量化模型的同时保障模型性能,在上述对各个原层集合轻量化操作之后,本申请实施例会开始对模型的训练。即更新模型各个层集合中的权重参数值,直至模型的性能指标达到收敛条件要求。
其中,实际应用中模型中各个层集合的功能会存在一定的差异,在满足模型性能的情况下,不同层集合对权重参数的精度、数量和模型层网络结构的要求也可能存在一定的差异。例如,当模型为图像分类模型时,部分层集合的功能为提取图像特征,但不同图像特征提取所需的权重参数精度可能会存在一定差异。因此若将模型所有的层集合的权重参数均设置为同一精度,一方面,若该精度设置的较高如保持原本的全精度浮点型,虽然可以保障模型的性能,但同时也会导致模型的体积较大;另一方面,若该精度设置的较低如1比特,此时虽然模型体积会减小,但又会导致模型的误差较大,性能难以得到保障。
为了兼顾模型的轻量化效果和性能,本申请实施例在进行模型训练时,可以采用两种方式进行训练:
1、同时保留原层集合和量化层集合,进行多种精度权重参数的混合训练。
2、仅保留量化层集合进行单精度或者混合精度的权重参数训练。
对于情况1,以一实例进行举例说明,参考图5A、图5B。在图5A对应的实例的基础上,若按照上述方法1进行训练,此时即是对图5A对应的模型A进行训练。图5B是将图5A中的原层集合舍弃后得到的模型A。若按照上述方法2进行训练,则是对图5B对应的模型A进行训练。
图5C是对各个原层集合仅进行了一次轻量化处理得到的模型,因此各个量化层集合的精度一致。若按照上述方法2舍弃原层集合,可以得到图5D对应的模型。此时就是对图5D对应的模型进行训练。
对于情况2,可进一步的分为两种情况:
a、S103中对每个原层集合仅进行了1次量化处理,此时每个原层集合仅对应有一个量化层集合。如上述图5C和图5D对应的实例。
b、S103中对每个原层集合进行了多次量化处理,此时每个原层集合对应有多个量化层集合。如上述图5A和图5B对应的实例中,就是对每个原层集合进行了8次量化处理。
对于情况a,由于本申请实施例仅会保留量化层集合进行训练,因此此时仅会对权重参数单精度的各个量化层集合进行权重参数迭代更新训练。
对于情况b,此时就是对不同权重参数精度的各个量化层集合进行权重参数迭代更新训练,实现对量化层集合的混合精度训练。
在本申请实施例中,可以通过设置对原层集合量化次数大于1的方式,使得情况2中仅会出现情况b,以实现对层集合混合精度的权重参数训练。
本申请实施例中对原层集合的舍弃,是指不对原层集合进行权重参数的迭代更新训练。其中具体的舍弃方法此处不予限定,可由技术人员自行设定,包括但不限于如删除模型中的原层集合,或者将所有原层集合的激活概率均设置为0。
本申请实施例不对具体的模型训练方法进行过多限定,可由技术人员根据实际需求进行选取或设定。例如,模型训练方法包括但不限于如梯度下降法、牛顿法、共轭梯度法和拟牛顿法。
同时,本申请实施例也不对具体的收敛条件进行过多的限定,可由技术人员根据实际模型的种类和应用场景的需求来进行选取或设定。但应当理解地,为了保障实际应用场景对模型性能的需求,收敛条件中应当包含模型的至少一项性能指标,例如可以包含模型的准确率、运行效率和功耗中的一种或多种。其中,具体包含的性能指标以及指标对应的指标范围,亦可由技术人员根据实际应用场景需求设定。例如,假设模型是人脸识别模型,应用于手机支付软件的人脸身份验证场景。此时对模型的人脸识别准确率和识别耗时(即运行效率)要求较高,技术人员可以将人脸识别准确率和识别耗时均设定至收敛条件中,并根据实际对人脸识别准确率和识别耗时的需求情况来设定对应的指标范围。例如可以将指标范围设置为:人脸识别准确率设定为大于95%,识别耗时小于1秒。另外,除了模型本身的性能以外,也可以将模型的体积和运行时占用的计算资源等轻量化指标包含至收敛条件之中,以保障对模型的轻量化效果。
此外,为了防止模型性能指标和轻量化指标设置不合理,导致模型收敛过慢甚至无法正常收敛,使得模型训练无法正常完成。在设置模型性能指标和轻量化指标的同时,还可以设置一些最大迭代训练次数和最大训练时长等指标至收敛条件之中,或者也可以设置一些指标变化趋势范围至收敛条件之中,以确保模型可以正常完成训练。
关于图1所示实施例的几点说明:
1、不同层集合的训练次数可以存在一定的差异。
实际应用中发现,对于权重参数精度较高的层集合而言,如全精度浮点型的权重参数,由于权重参数可以承载的信息较多,因此实际训练中层集合的训练效果往往较好。反之对于权重参数精度较低的层集合而言,如对布尔型的权重参数,由于权重参数可以承载的信息较少,因此实际训练中层集合的训练效果往往较差。正是这一原因,导致了实际在对各个权重参数不同精度的层集合进行混合训练时,若对所有的层集合进行相同次数的训练,会使得各个层集合训练的效果差异极大。特别是对于权重参数精度较低的量化层集合而言,会使得其权重参数不能得到充分的训练,进而使得量化层集合的训练效果较差。
为了避免模型中各个层集合训练效果存在较大差异,使得整体模型训练效果较差。在图1所示实施例中,选用了对权重参数进行量化处理的方式轻量化层集合时。本申请实施例,还可以调整各个层集合对应的训练次数,调整的原则为权重参数精度越高对应的训练次数越少,权重参数越低对应的训练次数越多。其中各个权重参数精度对应的训练次数比例此处不予限定,可由技术人员根据实际需求设定,只需满足训练次数与权重参数精度负相关即可。例如,在一些可选实施例中,假设精度的单位设置为占用字节数,可以将4字节、3字节、2字节和1字节对应的训练次数比例设置为:1:2:4:8。在另一些可选实施例中,假设精度的单位设置为占用比特,可以将32比特、16比特、8比特、4比特、2比特和1比特对应的训练次数比例设置为:1:2:4:8:16:32。
作为本申请的一个可选实施例,为了实现上述对各个层集合的训练次数调整,具体的操作包括:
在对层集合进行权重参数迭代训练之前,获取各个层集合对应的预设激活概率,其中预设激活概率与层集合中权重参数精度呈负相关。
在S104对层集合进行权重参数迭代训练的过程中,每次对层集合的训练过程包括:
根据对应的预设激活概率选取出所需激活的层集合,并对选取出的层集合进行权重参数更新。
为了控制好对各个层集合的训练次数比例,在本申请实施例中,会对各个待训练的层集合分别设置一个激活概率。S104在进行模型训练的过程中,每次在需要进行层集合权重参数更新时,会根据该激活概率来确定出当次所需激活的层集合,并仅对当次确定需要激活的层集合进行权重参数的更新。由于对模型的训练就是一个对各个层集合权重参数迭代更新训练的过程,其迭代的次数往往较大,因此通过激活概率来控制每次选择激活的层集合,可以实现对整体模型训练过程中对模型各个层集合训练次数比例的有效控制。其中,具体各个权重参数精度对应的激活概率值可由技术人员根据实际训练次数比例需求进行设定,此处不予限定。
以一实例进行说明,参考图5A所示实例。假设各个权重参数精度与激活概率的对应关系分别为:4字节对应总激活概率为8%,1字节对应总激活概率为40%,2比特对应总激活概率为52%。在上述条件的基础上,针对S104中情况1同时保留原层集合和量化层集合进行多精度的权重参数混合训练。在每次需要对待训练的层集合进行权重参数更新时,不是对所有待训练层集合进行训练更新,而是先根据激活概率来选取出当次需要激活更新的层集合,再对选取出的层集合进行训练。
例如对于层集合a0、层集合a1、层集合a2、层集合a3、层集合a4、层集合a5、层集合a6、层集合a7和层集合a8而言,对应的激活概率分别为8%、10%、10%、10%、10%、13%、13%、13%和13%。在迭代训练过程中,每次需要对各个层集合进行权重参数更新时,会首先基于这些激活概率从层集合a0至层集合a8中选取出一个需要激活的层集合,并仅对选取出的层集合进行当次的权重参数更新。同理,对于层集合b0至层集合b8,层集合c0至层集合c8也会进行同样的激活选取操作。例如假设此次选取出的是层集合a0、层集合b2和层结合c8,参考图5E,其中灰色层集合是此次未被激活的层集合。此次进行训练时,就仅会对层集合a0、层集合b2和层结合c8进行权重参数更新训练,而不会更新其他的24个层集合。
在本申请实施例的基础上,若想实现S104中情况2舍弃原层集合,仅保留量化层集合进行单精度或混合精度的权重参数训练。作为舍弃各个原层集合的一种方式,可以将所有原层集合的激活概率均设置为0。由于激活概率为0时层集合不会被权重参数更新训练,因此使得各个原层集合最终无法满足模型的收敛需求,进而被舍弃。
作为针对S104中情况2的另一种实现方式,也可以删除所有的原层集合,并根据剩余的量化层集合对应的激活概率来实现对每次训练的层集合的选取和权重参数更新训练。具体可参考上述对S104中情况1基于激活概率进行层集合选取和权重参数更新的相关说明,此处不予赘述。但应当说明地,对于S104的情况2中仅进行了1次量化的情况a,由于所有的量化层集合权重参数精度均相同,因此此时可以不设置激活概率。
2、对模型最终保留的层集合,可以在模型训练过程中选取,也可以在模型收敛后进行查找选取。
在S104对模型进行训练的过程中,除了情况a:每个原层集合进行1次量化处理,在训练时仅对量化层集合进行权重参数迭代更新训练以外,模型中每个原层集合会对应着多个待训练的层集合。例如参考图5A所示的实例,此时对于层集合a0而言,有层集合a0至层集合a8共9个待训练的层集合。参考图5B所示的实例,此时对于层集合a0而言,有层集合a1至第二层集合a8共8个待训练的层集合。而最终训练完成的模型中,对于每个原层集合对应的多个待训练的层集合而言,仅需保留其中一个层集合即可实现模型的功能。因此最终需要对模型选取出实际所需保留的层集合,以完成最终对模型结构的确定。
为了实现对模型中各个层集合的选取,本申请实施例中提供了两种可选的选取方式如下:
(1)、建立一个层次级别的搜索空间,每个层次中包含的多个待训练的层集合。采用基于梯度下降的可微神经结构搜索(Differentiable Neural Architecture Search,DNAS)的方法来对模型进行权重参数的迭代训练。在迭代训练的过程中完成对层集合的选取。
其中,对应与S104中的情况1,每个层次中包含的是1个原层集合和该原层集合对应的一个或多个量化层集合。例如,参考图5A对应的实例,该实例中的神经网络模型A可以被划分为3个层次。第一个层次中包含层集合a0至层集合a8共9个待训练的层集合。第二个层次中包含层集合b0至层集合b8共9个待训练的层集合。第三个层次中包含层集合c0至层集合c8共9个待训练的层集合。
对应于S104中的情况b,每个层次中包含的是1个原层集合对应的多个量化层集合,此时是不包含该原层集合本身的(原层集合已被舍弃)。例如,参考图5B所示的实例,该实例中的神经网络模型A可以被划分为3个层次。第一个层次中包含层集合a1至层集合a8共8个待训练的层集合。第二个层次中包含层集合b1至层集合b8共8个待训练的层集合。第三个层次中包含层集合c1至层集合c8共8个待训练的层集合。
(2)、先对模型进行训练直至模型满足收敛条件。再以模型中各个层集合为路径节点,进行路径搜索,确定出其中一条层集合路径作为最终路径。最后得到由最终路径中各个层集合组成的模型。
对于选取方式(1),由于DNAS可以实现对搜索空间内最佳架构的搜索。在设定好搜索的节点为各个层次中的层集合的基础上,通过DNAS的训练方式对模型进行训练,可以在模型训练过程中就实现对各个层次中层集合的选取,进而使得在模型满足收敛条件,就可以得到由选取好的层集合构成的模型。
作为本申请的一个可选实施例,在对各个层集合的权重参数迭代训练过程中,每次训练结束后都会判断模型是否满足收敛条件,若不满足则会对各个层集合开始下一次的权重参数。其中,为了保障得到的模型的性能和轻量化效果,在利用DNAS进行模型迭代训练的过程中。每次在开始对各个层集合的新一次训练之前,都会先计算当次训练得到的模型对应的性能指标参数,并将这些计算得到的性能指标参数反馈给模型开始下一次的训练。具体计算的性能指标参数种类此处不予限定,可由技术人员根据实际场景需求进行选取或设定,包括但不限于如模型准确度、运行效率和功耗等性能指标中的任意一种或多种。作为本申请的另一个可选实施例,在计算性能指标参数的同时,还可以计算轻量化指标参数,如模型的体积和模型运行时占用的计算资源等。并将这些轻量化指标参数与上述的性能指标参数一同反馈给模型开始下一次的训练。
通过每次训练反馈指标参数的方式对层集合进行权重参数迭代更新训练,可以提高模型的训练效果,同时加快模型满足收敛条件的速度,提升模型训练效率。
在选取的模型训练方法无法自动搜索模型最佳架构的情况下,当模型满足收敛条件时,只是确定出来模型中每个层集合内各个权重参数的值。此时模型中仍包含大量层集合需要进行选取。为了在该种情况下实现对层集合的选取,选取方式(2)中会以路径搜索的方式来确定出适宜的层集合,详述如下:
由于在S104的情况1和情况b中,每个原层集合都会对应有多个待训练的层集合。假设共有n个原层集合,每个原层集合对应有m个待训练的层集合。以每个层集合为路径节点,根据排列组合可知此时可组合出mn种层集合路径,每种层集合路径即对应着一种完整的模型结构。
在此基础上,本申请实施例会对各个层集合路径进行指标参数的计算,并从中筛选出一条满足指标参数的层集合路作为最终路径。筛选的方法此处不予限定,可由技术人员根据实际需求选取或设定,此处不予赘述。例如可以是对mn种层集合路径进行遍历,并从中筛选出指标参数最优的最终路径。也可以是对mn种层集合路径依次进行指标参数的计算,直至查找出一条满足指标参数要求的路径,并作为最终路径。此时无需进行mn种层集合路径的遍历,工作量更小。其中,指标参数内包含的具体参数类型可由技术人员根据实际需求选取或设定,此处不做过多限定,但需至少包含一项性能指标参数,如模型准确率、运行效率和功耗中的任意一种或多种,以保障模型的性能,同时也可以包含轻量化指标参数,如模型体积和运行时占用计算资源中的一种或多种,以保障模型的轻量化效果。
参考图5A对应的实例,假设经训练后神经网络模型A满足收敛条件,此时神经网络模型A内有3个原层集合,且每个原层集合对应有9个待训练的层集合。根据排列组合可知共有9×9×9=729种层集合路径。在本申请实施例中,可以通过对各个层集合路径进行指标参数计算的方式,筛选出满足指标参数要求的最终路径。例如假设通过对729种层集合路径遍历,确定出路径:层集合a0-层集合b2-层结合c8是指标参数最优的最终路径。参考图5E,此时本申请实施例仅会保留该最终路径中的各个路径节点层集合,进而得到最终训练完成的神经网络模型A。
由上述对选取方式(1)和(2)的说明可知,本申请实施例通过对各个层集合进行权重参数的混合精度训练并进行层集合的筛选,将模型的轻量化操作结合至模型训练过程中,理论上可以得到有多种不同权重参数精度的层集合组成的模型。相对现有技术中的直接对训练完成的模型进行压缩,再对压缩后的模型进行性能验证而言。本申请实施例一方面可以保障模型的性能和轻量化效果。另一方面还可以得到权重参数精度更为灵活的可用模型,防止了直接压缩模型导致的模型压缩后无解(即无法实现对模型压缩的同时保障模型的性能)的情况出现。再一方面,通过以层集合为单位进行模型结构搜索,相对传统的以模型层为单位的模型结构搜索而言,速度更快效率更高。同时将轻量化操作结合至模型训练过程中,还可以极大地节约模型轻量化的用时,提高了模型轻量化的效率。
作为本申请的一个实施例,在上述各个实施例完成对模型的轻量化训练之后,可以将训练完成的模型进行电子设备的本地存储,或者也可以存储至其他设备。当完成训练的模型存储在电子设备的本地时,模型轻量化和模型进行数据处理的执行主体均为同一电子设备。此时可以减小模型对该电子设备的本地存储空间的占用,同时减少模型运行时对该电子设备计算资源的占用。当通过发送模型数据或技术人员手动拷贝模型等方式将训练完成的模型存储至其他设备时,模型进行数据处理的执行主体就是该存储模型的设备。此时可以减小模型对该存储模型的设备的本地存储空间占用,同时减少模型运行时对该存储模型的设备计算资源的占用。
作为本申请实施例提供的一种终端模型训练方法,详述如下:
构建一个包含多个待训练层组的初始模型。其中,每个待训练层组中包含多个层集合,每个层集合中包含一个或多个模型层,且每个待训练层组包含的层集合之间,存在以下差异中的至少一种差异:层集合中权重参数占用的字节数、层集合中权重参数的数量以及层集合中模型层之间的网络结构。
对初始模型进行权重参数的初始化,并对各个层集合进行权重参数迭代训练,直至初始模型满足预设收敛条件,得到训练完成的终端模型。
在图1所示实施例中,针对的场景是:已经有了一个模型,并在已有模型的基础上进行轻量化的训练,从而缩小模型的体积和运行时占用的计算资源。但实际应用中经常会遇到不存在已有模型的场景。为了应对此种场景,本申请实施例会构建并训练一个初始模型。以得到一个相对通过传统的模型构建训练方法得到的模型而言,体积更小运行占用计算资源更少的模型。
本申请实施例的原理与图1所示实施例基本相同,因此层集合和模型层等概念说明,以及具体的训练过程说明,均可以参考图1所示实施例的相关说明,此处不予赘述。此处仅对本申请实施例与图1所示实施例不同之处进行说明:
在构建初始模型的过程中,本申请实施例会从权重参数的存储精度、数量和模型层之间的网络架构三个方面,来对同一待训练层组内的各个层集合进行区分。其中,权重参数的尺寸精度和数量的相关说明,以及对层集合内模型层网络结构的说明,均可参考图1所示实施例内容,此处不予赘述。例如,可以参考图5A所示实例。在图1所示实施例中,图5A是对模型A中的原层集合a0、原层集合b0和原层集合c0,进行轻量化处理后得到的模型A。但在本申请实施例中,由于没有一个已有模型,因此也无需“原层集合”和“量化层集合”的概念。因此对于本申请实施例而言,可以无需原层集合,构建出如图5A所示的初始模型。此时初始模型内就包含了3个待训练层组,每个待训练层组内包含9个层集合。其中,与图1所示实施例中3中层集合轻量化方法对应的,本申请实施例中也会从层集合的权重参数数量、存储精度和层集合内模型层的网络结构三方面,来实现对各个层集合的差异化处理。
同时,本申请实施例在构建初始模型时,对于每一个待训练层组都会创建多个不同的层集合。因此本申请实施例在进行模型训练时,每个待训练层组内都是多种精度的层集合混合训练。
在传统的模型构建训练过程中,并不存在层集合的概念,更不会进行多种不同精度层集合的混合训练。因此相对传统的模型构建训练方法,本申请实施例可以训练出权重参数存储精度和模型层网络架构更为灵活实用的模型,模型体积更小运行占用计算资源更少,可以极大地节约电子设备的存储空间,提高电子设备的性能。
应当理解地,图1所示实施例对应的扩展或细化实施例方案内容。如对各个层集合的训练次数比例调整和激活概率设置,以及对模型层集合的选取保留等方案内容。同样也可以结合至本申请实施例中进行应用,而不超出本申请的保护范围。其中具体应用时的原理和细节说明,可以参数图1所示实施例中对应的相关说明,此处不予赘述。
图6示出了本申请实施例二提供的图像分类模型训练方法的实现流程图,详述如下:
S601,电子设备获取预设样本图像和待处理的图像分类模型。
其中,S601的原理与S101基本相同,相关的原理说明和操作说明均可参考S101中的说明,此处不予赘述。
S602,电子设备将待处理的图像分类模型的隐藏层划分为至少一个第一层集合,其中,每个第一层集合中包含至少一个第一模型层,第一模型层为包含卷积算子的隐藏层,卷积算子用于图像特征分析。
S602的原理与S102基本相同,对相同部分的原理说明和操作说明均可参考S102中的说明,此处不予赘述。此处对S602中与S102的差异之处进行说明如下:
对图像的处理技术可分为三个层次,分别是:狭义的图像处理、图像分析和图像理解。其中狭义的图像处理,是指对图像进行像素级别的处理和分析,可以得到图像像素级别的相关特征。例如图像的各个像素的像素值、尺寸和分辨率等特征。图像分析,是指对图像中目标对象进行检测,并进行目标对象的局部或整体的特征分析,以获得目标对象的客观信息。例如一张包含猫的图像中,猫的腿、尾巴和耳朵等局部特征,以及猫的尺寸和颜色等整体特征。图像理解,是指在图像分析的基础上,进一步地对目标对象进行特征抽象分析理解,得到对应的抽象特征。例如上述实例中对一张包含猫的图像,图像理解可以得到猫的一些抽象特征,如猫包含4条腿1条尾巴等。
在神经网络模型中,图像分类的过程是对图像进行从像素级别特征到目标对象客观信息特征,再到抽象特征的逐步提取,并根据最终得到的特征结果向量来判断图像类型的过程。实际应用中主要是使用了卷积算子对输入数据(包括图像本身以及对图像进行处理后得到的数据)进行卷积核权重卷积运算,进而实现对这些图像特征的提取。因此为了保障本申请实施例中对模型轻量化的效果,在进行原层集合划分的时候,本申请实施例需要保障每个原层集合中包含至少一个具有卷积算子的模型层。同时由于卷积算子中已经带有了权重参数,即本申请实施例中每个原层集合必然会满足S102中“但需满足单个原层集合中,至少包含一个带有权重参数的模型层,以保证原层集合可以进行权重参数优化”的要求,因此实际操作中可以不再考虑S102中对原层集合划分的该条要求。
S603,电子设备对每个第一层集合轻量化处理,得到对应的第二层集合,其中,轻量化处理包含以下处理中的至少两种:对层集合中卷积算子包含的权重参数进行量化处理、减少层集合中卷积算子包含的权重参数数量以及对层集合中模型层之间的网络结构进行调整。
其中,S603的原理与S103基本相同,相关的原理说明和操作说明均可参考S103中的说明,此处不予赘述。但与S103的不同之处在于,由于图像分类模型中主要是由卷积算子进行图像特征提取运算,因此最终模型的体积和运行时占用的计算资源,与卷积算子中权重参数的情况关联极大。基于这一原理,本申请实施例在进行原层集合的权重参数量化时,可以仅对其中卷积算子的权重参数进行量化,以在保障模型轻量化效果的基础上减小模型轻量化的工作量。而在减少权重参数时,也可以仅对卷积算子中的权重参数数量进行削减,例如减小卷积算子中卷积核的尺寸或数量。作为本申请的一个可选实施例,也可以同时对原层集合中所有的权重参数一并进行量化,此时就与S103中量化权重参数的操作相同。
S604,电子设备利用预设样本图像,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的图像分类模型满足预设收敛条件,得到训练完成的图像分类模型。
其中,S604的原理与S104基本相同,相关的原理说明和操作说明均可参考S104中的说明,此处不予赘述。
应当理解地,图1所示实施例对应的扩展或细化实施例方案内容。如对原层集合的轻量化、对各个层集合的训练次数比例调整和激活概率设置,以及对模型层集合的选取保留等方案内容。同样也可以结合至本申请实施例中进行应用,而不超出本申请的保护范围。其中具体应用时的原理和细节说明,可以参数图1所示实施例中对应的相关说明,此处不予赘述。
同时在本申请实施例的基础上,可以将本申请实施例训练得到的图像分类模型设置于终端设备之中。由于图像分类模型已被轻量化处理,对终端设备存储空间的占用更小,同时实际运行模型进行图像分类处理时,也可以节约更多的计算资源,从而保障了AI应用在终端设备中的正常使用。
应当说明地,对应于上述对图像处理的三个层次,若将像素级别特征到目标对象客观信息特征再到抽象特征定义为特征级别依次上升。本申请实施例以层集合为单位对图像进行特征提取,此时越靠近输入层的层集合,提取的图像特征越低级,越靠近输出层的层集合提取的图像特征越高级,从而实现对图像特征从低级到高级的依次分析提取。
由于不同级别特征的提取对权重参数的精度和运算关系会存在一定的差异,因此实际应用中不同层集合对应的适宜网络结构,以及对卷积算子对应的权重参数适宜精度可能会存在一定差异。在本申请实施例中,通过对层集合进行网络结构优化,并对不同权重参数精度的层集合进行混合训练。可以最大程度地为挑选出模型适宜的层集合权重参数精度和网络结构。在训练过程中,通过对各个层集合激活概率的比例调整,可以保障各个层集合可以得到充分的训练,进而保障了对图像特征的准确提取,进而保障了模型对图像分类的性能。同时结合模型性能指标和轻量化指标进行收敛判定,并以层集合为节点进行模型结构搜索,可以在保障模型的性能和轻量化程度的同时,实现对模型层集合的快速选取,极大地提升了模型训练的效率。
还应当说明地,对于图像处理领域的其他模型而言,如人脸验证模型和场景识别模型等,同样可以参考图6所示实施例的方法进行模型轻量化训练,而不超出本申请的保护范围。由于其训练的原理和操作基本相同,因此此处不做过多说明,可参考图6所示实施例的相关说明。
图7示出了本申请实施例三提供的语音识别模型训练方法的实现流程图,详述如下:
S701,电子设备获取预设样本语音和待处理的语音识别模型。
其中,S701的原理与S101基本相同,相关的原理说明和操作说明均可参考S101中的说明,此处不予赘述。
S702,电子设备将待处理的语音识别模型的隐藏层划分为至少一个第一层集合,其中,每个第一层集合中包含至少一个第一模型层,第一模型层为包含预设算子的隐藏层,预设算子为时序算子或卷积算子,时序算子用于处理时序数据,卷积算子用于语音特征分析。
S702的原理与S102和S602基本相同,对相同部分的原理说明和操作说明均可参考S102和S602中的说明,此处不予赘述。此处对S702中与S602的差异之处进行说明如下:
与图6所示实施例中图像处理类似的,语音识别同样是对语音进行不同特征逐步提取并得到最终语音识别结果的过程。但与图像处理的不同之处在于,语音数据是具有一定时序性的数据,即语音数据前后之间是具有一定时序关系。例如根据中文的语法规则,名称、介词和动词之间实际有一定先后关系的。用户在说中文时,往往都会符合该语法规则,因此导致了不同的字词之间具有较强的逻辑联系。因此在进行语音数据的分析时,为了提高分析的效果,可以对语音数据的时序性进行分析。
为了实现对具有时序关系的语音数据的识别,本申请实施例中要求每个原层集合中需包含至少一个卷积算子或者时序算子的模型层,亦可以同时包含卷积算子和时序算子。其中,具体是选用卷积算子还是时序算子进行语音特征分析,可由技术人员根据实际需求进行确定,此处不予限度。同时,本申请实施例不对具体时序算子种类进行限定,需根据实际使用的模型类型来确定。例如,对于循环神经网络(Recurrent Neural Network,RNN)模型而言,该时序算子可以是模型中的RNN算子。对于门控循环单元(Gated RecurrentUnit,GRU)模型而言,该时序算子可以是模型中的GRU算子。对于长短期记忆网络(LongShort-Term Memory,LSTM)模型而言,该时序算子则可以是模型中的LSTM算子。而对于转换(transformer)模型而言,该时序算子则可以是转换(transformer)算子。
S703,电子设备对每个第一层集合轻量化处理,得到对应的第二层集合,其中,轻量化处理包含以下处理中的至少两种:对层集合中预设算子包含的权重参数进行量化处理、减少层集合中预设算子包含的权重参数数量以及对层集合中模型层之间的网络结构进行调整。
其中,S703的原理与S103基本相同,相关的原理说明和操作说明均可参考S103中的说明,此处不予赘述。但与S103的不同之处在于,当选取时序算子进行语音特征分析时。由于语音识别模型中主要是由时序算子进行语音特征提取运算,因此最终模型的体积和运行时占用的计算资源,与时序算子中权重参数的情况关联极大。基于这一原理,本申请实施例在进行原层集合的权重参数量化时,可以仅对其中时序算子的权重参数进行量化,以在保障模型轻量化效果的基础上减小模型轻量化的工作量。而在减少权重参数时,也可以仅对时序算子中的权重参数数量进行削减,例如减小时序算子中卷积核的尺寸或数量。作为本申请的一个可选实施例,也可以同时对原层集合中所有的权重参数一并进行量化,此时就与S103中量化权重参数的操作相同。
S704,电子设备利用预设样本语音,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的语音识别模型满足预设收敛条件,得到训练完成的语音识别模型。
其中,S704的原理与S104基本相同,相关的原理说明和操作说明均可参考S104中的说明,此处不予赘述。
应当理解地,图1所示实施例对应的扩展或细化实施例方案内容。如对原层集合的轻量化、对各个层集合的训练次数比例调整和激活概率设置,以及对模型层集合的选取保留等方案内容。同样也可以结合至本申请实施例中进行应用,而不超出本申请的保护范围。其中具体应用时的原理和细节说明,可以参数图1所示实施例中对应的相关说明,此处不予赘述。
同时在本申请实施例的基础上,可以将本申请实施例训练得到的语音识别模型设置于终端设备之中。由于语音识别模型已被轻量化处理,对终端设备存储空间的占用更小,同时实际运行模型进行图像分类处理时,也可以节约更多的计算资源,从而保障了AI应用在终端设备中的正常使用。
应当说明地,由于不同语音特征的提取对权重参数的精度和运算关系会存在一定的差异,因此实际应用中不同层集合对应的适宜网络结构,以及对预设算子对应的权重参数适宜精度可能会存在一定差异。在本申请实施例中,通过对层集合进行网络结构优化,并对不同权重参数精度的层集合进行混合训练。可以最大程度地为挑选出模型适宜的层集合权重参数精度和网络结构。在训练过程中,通过对各个层集合激活概率的比例调整,可以保障各个层集合可以得到充分的训练,进而保障了对语音特征的准确提取,进而保障了模型对语音识别的性能。同时结合模型性能指标和轻量化指标进行收敛判定,并以层集合为节点进行模型结构搜索,可以在保障模型的性能和轻量化程度的同时,实现对模型层集合的快速选取,极大地提升了模型训练的效率。
还应当说明地,对于对时序数据处理的其他模型而言,如自然语言处理模型、机器翻译模型和视频处理模型等,同样可以参考图7所示实施例的方法进行模型轻量化训练,而不超出本申请的保护范围。由于其训练的原理和操作基本相同,因此此处不做过多说明,可参考图7所示实施例的相关说明。
在上述各个本申请实施例中,通过层集合划分、层集合轻量化、对层集合进行权重参数精度混合训练,并以层集合为节点进行模型网络结构搜索,实现了对终端模型的轻量化训练。在得到轻量化训练后的模型基础上,可以将该模型本地存储至电子设备,或存储至其他设备之中,以进行实际所需的数据处理。在上述各个实施例已分析的有益效果的基础上,相对于现有的模型轻量化方法而言,本申请实施例至少还具有以下有益效果:
1、把对模型的训练和轻量化过程一起实现,一次轻量化训练即可得到满足模型性能需求和轻量化需求的可用模型,相比先训练模型再多次尝试压缩而言,耗时短效率更高。
2、层集合轻量化的方案可以灵活选取,可以适应更多场景的实际需求,实现对多场景的兼容。
3、层集合可以由技术人员根据实际需求来进行划分,使得本申请实施例中模型的轻量化训练更为灵活可控。
4、可以同时考虑多种性能指标和轻量化指标,使得最终模型的可以更好地满足性能和轻量化两方面的实际需求。
对应于上文图1所示实施例的神经网络模型训练方法,图8示出了本申请实施例提供的神经网络模型训练装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图8,该神经网络模型训练装置包括:
获取模块81,用于获取预设样本数据和待处理的神经网络模型。
层集合划分模块82,用于将待处理的神经网络模型的模型层划分为至少一个第一层集合。
轻量化子模块83,用于对每个第一层集合轻量化处理,得到对应的第二层集合,其中,轻量化处理包含以下处理中的至少两种:对层集合中权重参数进行量化处理、减少层集合中权重参数数量以及对层集合中模型层之间的网络结构进行调整。
迭代训练模块84,用于利用预设样本数据,对第二层集合进行权重参数迭代训练,或者对第一层集合和第二层集合进行权重参数迭代训练,直至待处理的神经网络模型满足预设收敛条件,完成训练。
本申请实施例提供的神经网络模型处理装置中各模块实现各自功能的过程,具体可参考前述图1所示实施例以及其他相关方法实施例的描述,此处不再赘述。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本申请实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一表格可以被命名为第二表格,并且类似地,第二表格可以被命名为第一表格,而不背离各种所描述的实施例的范围。第一表格和第二表格都是表格,但是它们不是同一表格。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的神经网络模型处理方法、神经网络模型训练、图像分类模型训练和语音识别模型训练方法可以应用于服务器、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
例如,电子设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(Wireless LocalLoop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premise equipment,CPE)和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5G网络中的电子设备或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的电子设备等。
作为示例而非限定,当电子设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
图9是本申请一实施例提供的电子设备的结构示意图。如图9所示,该实施例的电子设备9包括:至少一个处理器90(图9中仅示出一个)、存储器91,存储器91中存储有可在处理器90上运行的计算机程序92。处理器90执行计算机程序92时实现上述各个终端模型处理方法、终端模型训练、图像分类模型训练和语音识别模型训练方法实施例中的步骤,例如图1所示的步骤101至104、图6所示的步骤601至604以及图7所示的步骤701至704。或者,处理器90执行计算机程序92时实现上述各装置实施例中各模块/单元的功能,例如图8所示模块81至84的功能。
电子设备9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。电子设备可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是电子设备9的示例,并不构成对电子设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备还可以包括输入发送设备、网络接入设备、总线等。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器91在一些实施例中可以是电子设备9的内部存储单元,例如电子设备9的硬盘或内存。存储器91也可以是电子设备9的外部存储设备,例如电子设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器91还可以既包括电子设备9的内部存储单元也包括外部存储设备。存储器91用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器91还可以用于暂时地存储已经发送或者将要发送的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (20)
1.一种终端模型处理方法,其特征在于,包括:
获取待处理的终端模型;
对所述待处理的终端模型进行轻量化处理,得到处理后的终端模型;
获取待处理数据,并通过所述处理后的终端模型对所述待处理数据进行处理,得到对应的处理结果;
所述对所述待处理的终端模型进行轻量化处理,包括:
将所述待处理的终端模型的模型层划分为至少一个第一层集合;
对每个所述第一层集合轻量化处理,得到对应的第二层集合,其中,所述轻量化处理包含以下处理中的至少两种:对层集合中权重参数进行量化处理、减少层集合中权重参数数量以及对层集合中模型层之间的网络结构进行调整;
利用预设样本数据,对所述第二层集合进行权重参数迭代训练,或者对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件,完成轻量化处理。
2.如权利要求1所述的终端模型处理方法,其特征在于,所述减少层集合中权重参数数量,包括:
减小层集合中包含的卷积核的尺寸,或者减少卷积核的数量。
3.如权利要求1所述的终端模型处理方法,其特征在于,在所述对所述第二层集合进行权重参数迭代训练之前,还包括:
获取每个所述第二层集合对应的预设激活概率,其中,所述预设激活概率与所述第二层集合中权重参数占用的字节数呈负相关;
在所述对所述第二层集合进行权重参数迭代训练的过程中,每次训练的过程,包括:
根据对应的所述预设激活概率,选取所需激活的所述第二层集合,并对选取出的所述第二层集合进行权重参数更新。
4.如权利要求1所述的终端模型处理方法,其特征在于,在所述对所述第一层集合和所述第二层集合进行权重参数迭代训练之前,还包括:
获取每个所述第一层集合和所述第二层集合对应的预设激活概率,其中,所述预设激活概率与所述第一层集合和所述第二层集合中权重参数占用的字节数呈负相关;
在所述对所述第一层集合和所述第二层集合进行权重参数迭代训练的过程中,每次训练的过程,包括:
根据对应的所述预设激活概率,从所述第一层集合和所述第二层集合中选取所需激活的层集合,并对选取出的层集合进行权重参数更新。
5.如权利要求1至4任意一项所述的终端模型处理方法,其特征在于,所述利用预设样本数据,对所述第二层集合进行权重参数迭代训练,或者对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件,完成轻量化处理,还包括:
若对所述第二层集合的单次训练完成后,或者对所述第一层集合和所述第二层集合的单次训练完成后,所述待处理的终端模型不满足预设收敛条件,获取该次训练完成后所述待处理的终端模型的至少一个性能指标参数;
利用所述预设样本数据和所述至少一个性能指标参数,对所述第二层集合进行权重参数迭代训练,或者对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件,完成轻量化处理。
6.如权利要求1至3任意一项所述的终端模型处理方法,其特征在于,所述利用预设样本数据,对所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件,完成轻量化处理,还包括:
若迭代训练后所述待处理的终端模型满足所述预设收敛条件,以各个所述第二层集合为路径节点,对所述待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由所述层集合路径中各个路径节点组成的模型作为所述处理后的终端模型。
7.如权利要求1、2和4中任意一项所述的终端模型处理方法,其特征在于,所述利用预设样本数据,对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件,完成轻量化处理,还包括:
若迭代训练后所述待处理的终端模型满足所述预设收敛条件,以各个所述第一层集合和所述第二层集合为路径节点,对所述待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由所述层集合路径中各个路径节点组成的模型作为所述处理后的终端模型。
8.一种终端模型训练方法,其特征在于,包括:
获取待处理的终端模型,并将所述待处理的终端模型的模型层划分为至少一个第一层集合;
对每个所述第一层集合轻量化处理,得到对应的第二层集合,其中,所述轻量化处理包含以下处理中的至少两种:对层集合中权重参数进行量化处理、减少层集合中权重参数数量以及对层集合中模型层之间的网络结构进行调整;
利用预设样本数据,对所述第二层集合进行权重参数迭代训练,或者对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件,得到训练完成的终端模型。
9.如权利要求8所述的终端模型训练方法,其特征在于,所述减少层集合中权重参数数量,包括:
减小层集合中包含的卷积核的尺寸,或者减少卷积核的数量。
10.如权利要求8所述的终端模型训练方法,其特征在于,在所述对所述第二层集合进行权重参数迭代训练之前,还包括:
获取每个所述第二层集合对应的预设激活概率,其中,所述预设激活概率与所述第二层集合中权重参数占用的字节数呈负相关;
在所述对所述第二层集合进行权重参数迭代训练的过程中,每次训练的过程,包括:
根据对应的所述预设激活概率,选取所需激活的所述第二层集合,并对选取出的所述第二层集合进行权重参数更新。
11.如权利要求8所述的终端模型训练方法,其特征在于,在所述对所述第一层集合和所述第二层集合进行权重参数迭代训练之前,还包括:
获取每个所述第一层集合和所述第二层集合对应的预设激活概率,其中,所述预设激活概率与所述第一层集合和所述第二层集合中权重参数占用的字节数呈负相关;
在所述对所述第一层集合和所述第二层集合进行权重参数迭代训练的过程中,每次训练的过程,包括:
根据对应的所述预设激活概率,从所述第一层集合和所述第二层集合中选取所需激活的层集合,并对选取出的层集合进行权重参数更新。
12.如权利要求8至11任意一项所述的终端模型训练方法,其特征在于,所述利用预设样本数据,对所述第二层集合进行权重参数迭代训练,或者对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件,还包括:
若对所述第二层集合的单次训练完成后,或者对所述第一层集合和所述第二层集合的单次训练完成后,所述待处理的终端模型不满足预设收敛条件,获取该次训练完成后所述待处理的终端模型的至少一个性能指标参数;
利用所述预设样本数据和所述至少一个性能指标参数,对所述第二层集合进行权重参数迭代训练,或者对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件。
13.如权利要求8至10任意一项所述的终端模型训练方法,其特征在于,所述利用预设样本数据,对所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件,得到训练完成的终端模型,还包括:
若迭代训练后所述待处理的终端模型满足所述预设收敛条件,以各个所述第二层集合为路径节点,对所述待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由所述层集合路径中各个路径节点组成的模型作为所述训练完成的终端模型。
14.如权利要求8、9和11中任意一项所述的终端模型训练方法,其特征在于,利用预设样本数据,对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的终端模型满足预设收敛条件,得到训练完成的终端模型
若迭代训练后所述待处理的终端模型满足所述预设收敛条件,以各个所述第一层集合和所述第二层集合为路径节点,对所述待处理的终端模型进行层集合的路径搜索,得到满足预设性能指标要求的层集合路径,并将由所述层集合路径中各个路径节点组成的模型作为所述处理后的终端模型。
15.一种终端模型训练方法,其特征在于,包括:
构建一个包含多个待训练层组的初始模型;其中,每个所述待训练层组中包含多个层集合,每个所述层集合中包含一个或多个模型层,且每个所述待训练层组包含的所述层集合之间,存在以下差异中的至少一种差异:层集合中权重参数占用的字节数、层集合中权重参数的数量以及层集合中模型层之间的网络结构;
对所述初始模型进行权重参数的初始化,并对各个所述层集合进行权重参数迭代训练,直至所述初始模型满足预设收敛条件,得到训练完成的终端模型。
16.如权利要求15所述的终端模型训练方法,其特征在于,在所述对各个所述层集合进行权重参数迭代训练之前,还包括:
获取每个所述层集合对应的预设激活概率,其中,所述预设激活概率与所述层集合中权重参数占用的字节数呈负相关;
在所述对各个所述层集合进行权重参数迭代训练的过程中,每次训练的过程,包括:
根据对应的所述预设激活概率,选取所需激活的所述层集合,并对选取出的所述层集合进行权重参数更新。
17.一种图像分类模型训练方法,其特征在于,包括:
获取待处理的图像分类模型,并将所述待处理的图像分类模型的隐藏层划分为至少一个第一层集合,其中,每个所述第一层集合中包含至少一个第一模型层,所述第一模型层为包含卷积算子的隐藏层,卷积算子用于图像特征分析;
对每个所述第一层集合轻量化处理,得到对应的第二层集合,其中,所述轻量化处理包含以下处理中的至少两种:对层集合中卷积算子包含的权重参数进行量化处理、减少层集合中卷积算子包含的权重参数数量以及对层集合中模型层之间的网络结构进行调整;
利用预设样本图像,对所述第二层集合进行权重参数迭代训练,或者对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的图像分类模型满足预设收敛条件,得到训练完成的图像分类模型。
18.一种语音识别模型训练方法,其特征在于,包括:
获取待处理的语音识别模型,并将所述待处理的语音识别模型的隐藏层划分为至少一个第一层集合;其中,每个所述第一层集合中包含至少一个第一模型层,所述第一模型层为包含预设算子的隐藏层,预设算子为时序算子或卷积算子,时序算子用于处理时序数据,卷积算子用于语音特征分析;
对每个所述第一层集合轻量化处理,得到对应的第二层集合,其中,所述轻量化处理包含以下处理中的至少两种:对层集合中预设算子包含的权重参数进行量化处理、减少层集合中预设算子包含的权重参数数量以及对层集合中模型层之间的网络结构进行调整;
利用预设样本语音,对所述第二层集合进行权重参数迭代训练,或者对所述第一层集合和所述第二层集合进行权重参数迭代训练,直至所述待处理的语音识别模型满足预设收敛条件,得到训练完成的语音识别模型。
19.一种电子设备,其特征在于,所述电子设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述终端模型处理的步骤,或者如权利要求8至16任一项所述终端模型训练方法的步骤,或者如权利要求17所述图像分类模型训练方法的步骤,或者如权利要求18所述语音识别模型训练方法的步骤。
20.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述终端模型处理的步骤,或者如权利要求8至16任一项所述终端模型训练方法的步骤,或者如权利要求17所述图像分类模型训练方法的步骤,或者如权利要求18所述语音识别模型训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010075666.9A CN113159269A (zh) | 2020-01-22 | 2020-01-22 | 终端模型处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010075666.9A CN113159269A (zh) | 2020-01-22 | 2020-01-22 | 终端模型处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113159269A true CN113159269A (zh) | 2021-07-23 |
Family
ID=76881915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010075666.9A Pending CN113159269A (zh) | 2020-01-22 | 2020-01-22 | 终端模型处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113159269A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034368A (zh) * | 2022-06-10 | 2022-09-09 | 小米汽车科技有限公司 | 车载模型训练方法、装置、电子设备、存储介质及芯片 |
CN117218120A (zh) * | 2023-11-08 | 2023-12-12 | 安徽大学 | 实体表面缺陷识别系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009638A (zh) * | 2017-11-23 | 2018-05-08 | 深圳市深网视界科技有限公司 | 一种神经网络模型的训练方法、电子设备及存储介质 |
CN110197258A (zh) * | 2019-05-29 | 2019-09-03 | 北京市商汤科技开发有限公司 | 神经网络搜索方法、图像处理方法及装置、设备和介质 |
-
2020
- 2020-01-22 CN CN202010075666.9A patent/CN113159269A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009638A (zh) * | 2017-11-23 | 2018-05-08 | 深圳市深网视界科技有限公司 | 一种神经网络模型的训练方法、电子设备及存储介质 |
CN110197258A (zh) * | 2019-05-29 | 2019-09-03 | 北京市商汤科技开发有限公司 | 神经网络搜索方法、图像处理方法及装置、设备和介质 |
Non-Patent Citations (2)
Title |
---|
BICHEN WU ET AL.: "FBNet: Hardware-Aware Efficient ConvNetDesignvia Differentiable Neural Architecture Search", HTTPS://ARXIV.ORG/ABS/1812.03443, 24 May 2019 (2019-05-24), pages 1 - 10 * |
葛道辉 等: "轻量级神经网络架构综述", 软件学报, vol. 31, no. 9, 5 December 2019 (2019-12-05), pages 2627 - 2653 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034368A (zh) * | 2022-06-10 | 2022-09-09 | 小米汽车科技有限公司 | 车载模型训练方法、装置、电子设备、存储介质及芯片 |
CN115034368B (zh) * | 2022-06-10 | 2023-09-29 | 小米汽车科技有限公司 | 车载模型训练方法、装置、电子设备、存储介质及芯片 |
CN117218120A (zh) * | 2023-11-08 | 2023-12-12 | 安徽大学 | 实体表面缺陷识别系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685202B (zh) | 数据处理方法及装置、存储介质和电子装置 | |
CN106575379B (zh) | 用于神经网络的改进的定点整型实现方式 | |
CN108734653B (zh) | 图像风格转换方法及装置 | |
CN109978792A (zh) | 一种生成图像增强模型的方法 | |
CN106664467A (zh) | 实时视频摘要 | |
CN112766467B (zh) | 基于卷积神经网络模型的图像识别方法 | |
CN111709493B (zh) | 对象分类方法、训练方法、装置、设备及存储介质 | |
CN112116001A (zh) | 图像识别方法、装置及计算机可读存储介质 | |
CN112185352A (zh) | 语音识别方法、装置及电子设备 | |
CN113159269A (zh) | 终端模型处理方法、装置及设备 | |
CN109223002A (zh) | 自闭症患病预测方法、装置、设备及存储介质 | |
Huang et al. | DeepAdapter: A collaborative deep learning framework for the mobile web using context-aware network pruning | |
CN110298446A (zh) | 面向嵌入式系统的深度神经网络压缩和加速方法及系统 | |
CN113505883A (zh) | 一种神经网络训练方法以及装置 | |
CN112561028A (zh) | 训练神经网络模型的方法、数据处理的方法及装置 | |
US20230252294A1 (en) | Data processing method, apparatus, and device, and computer-readable storage medium | |
CN114698395A (zh) | 神经网络模型的量化方法和装置、数据处理的方法和装置 | |
CN110909817B (zh) | 分布式聚类方法及系统、处理器、电子设备及存储介质 | |
CN111310834B (zh) | 数据处理方法及装置、处理器、电子设备、存储介质 | |
US20230122623A1 (en) | Object-to-object harmonization for digital images | |
CN111382839B (zh) | 剪枝神经网络的方法和装置 | |
CN114239792B (zh) | 利用量化模型进行图像处理的系统、装置及存储介质 | |
CN117667227A (zh) | 参数调整方法及相关设备 | |
CN116644783A (zh) | 模型训练方法、对象处理方法及装置、电子设备、介质 | |
CN116579380A (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 |