CN115049058B - 拓扑识别模型的压缩方法、装置、电子设备及介质 - Google Patents
拓扑识别模型的压缩方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN115049058B CN115049058B CN202210983746.3A CN202210983746A CN115049058B CN 115049058 B CN115049058 B CN 115049058B CN 202210983746 A CN202210983746 A CN 202210983746A CN 115049058 B CN115049058 B CN 115049058B
- Authority
- CN
- China
- Prior art keywords
- model
- pruning
- training
- training data
- neural 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000006835 compression Effects 0.000 title description 17
- 238000007906 compression Methods 0.000 title description 17
- 238000013138 pruning Methods 0.000 claims abstract description 339
- 238000012549 training Methods 0.000 claims abstract description 333
- 238000013528 artificial neural network Methods 0.000 claims abstract description 146
- 238000013139 quantization Methods 0.000 claims abstract description 114
- 238000011002 quantification Methods 0.000 claims abstract description 20
- 230000006870 function Effects 0.000 claims description 85
- 238000012360 testing method Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 7
- 238000010801 machine learning Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000006854 communication Effects 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013140 knowledge distillation Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000004065 semiconductor Substances 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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/084—Backpropagation, e.g. using gradient descent
-
- 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/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及计算机技术领域,具体涉及一种拓扑识别模型的压缩方法、装置、电子设备及介质,所述拓扑识别模型的压缩方法包括:对待压缩模型进行剪枝,得到剪枝模型,并对所述剪枝模型进行训练,得到训练好的剪枝模型;将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,并对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型;将所述训练好的高量化剪枝模型作为待压缩模型,继续对所述待压缩模型进行剪枝和量化,直至得到压缩好的拓扑识别模型,并将所述压缩好的拓扑识别模型部署到电力物联终端,从而在确保拓扑识别模型的精度满足需求的情况下,减小拓扑识别模型的尺寸。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种拓扑识别模型的压缩方法、装置、电子设备及介质。
背景技术
精确地获知配电网的拓扑结构是电网规划、运行和控制的先决条件。然而,随着大量新能源接入,配电网拓扑变化频繁,因此,配电网的拓扑结构往往是未知的。为了精确识别配电网的拓扑结构,可以使用拓扑识别模型对配电网的拓扑结构进行识别,拓扑识别模型是对深度神经网络模型进行训练得到的,识别精度较高,但由于结构复杂只能运行在服务端。随着配电网业务的发展,需要在电力物联终端上运行拓扑识别模型,以便捷的识别供电变压器台区测的拓扑结构。然而电力物联终端硬件资源有限,存在存储、计算能力、功耗和带宽等方面的限制,因此很难在电力物联终端设备上部署深度学习模型。
对拓扑识别模型进行压缩,将压缩好的拓扑识别模型部署在电力物联终端设备,是较好的解决方案。然而对拓扑识别模型进行压缩必然会带来拓扑识别模型测精度下降的问题。
因此,如何在确保拓扑识别模型的精度满足需求的情况下,有效减小拓扑识别模型的尺寸,从而可以在电力物联终端上运行拓扑识别模型,是亟待解决的技术问题。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种拓扑识别模型的压缩方法、装置、电子设备及介质。
第一方面,本公开实施例中提供了一种拓扑识别模型的压缩方法,包括:对待压缩模型进行剪枝,得到剪枝模型,并对所述剪枝模型进行训练,得到训练好的剪枝模型;其中,所述待压缩模型为拓扑识别模型,所述拓扑识别模型为运行在服务端的用于识别电网拓扑结构的机器学习模型;将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,并对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型;其中,所述第二比特位数小于所述第一比特位数;将所述训练好的高量化剪枝模型作为待压缩模型,继续对所述待压缩模型进行剪枝和量化,直至得到压缩好的拓扑识别模型,并将所述压缩好的拓扑识别模型部署到电力物联终端。
在一些实施例中,所述对待压缩模型进行剪枝,得到剪枝模型,包括:通过稀疏正则化训练,确定所述待压缩模型中的冗余通道,并从所述待压缩模型中移除所述冗余通道,得到所述剪枝模型。
在一些实施例中,所述方法还包括:将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度;如果所述待压缩模型中任意两个相邻神经网络层的识别精度之间的差值小于预设差值阈值,则将所述任意两个相邻神经网络层中识别精度最低的神经网络层移除。
在一些实施例中,所述将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度,包括:从所述待压缩模型中选择任意两个相邻神经网络层,移除所述任意两个相邻神经网络层中的一个神经网络层,得到神经网络层精度预测模型;使用带标注的预测数据集,对所述神经网络层精度预测模型进行测试,得到所述神经网络层精度预测模型的输出精度,将所述输出精度作为所述任意两个相邻神经网络层中未被移除的神经网络层的识别精度。
在一些实施例中,所述对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型。
在一些实施例中,所述使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:将所述训练数据输入所述待压缩模型,将所述待压缩模型的输出结果作为所述训练数据的标签;将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
在一些实施例中,所述使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:使用损失函数,根据所述剪枝模型的输出与所述训练数据集中训练数据的标签,得到损失值;根据所述损失值,判断所述损失函数是否收敛;若是,则停止训练,否则,调整所述剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
在一些实施例中,所述方法还包括:如果训练次数达到所述预设训练次数阈值,所述损失函数还未收敛,则参照所述待压缩模型,增加所述剪枝模型的通道或者神经网络层。
在一些实施例中,所述将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,包括;将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;将所述剪枝模型的全连接层的权重参数的比特位数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;对所述剪枝模型的激活函数进行量化,得到所述高量化剪枝模型。
在一些实施例中,所述对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:从所述高量化剪枝模型中选择至少一个神经网络层构建损失函数;使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型。
在一些实施例中,所述使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:将所述训练数据输入所述剪枝模型,将所述剪枝模型中的参照网络层的输出作为所述训练数据的标签;其中,所述参照网络层与所述高量化剪枝模型中被选择的所述至少一个神经网络层对应;将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
在一些实施例中,所述根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:使用所述损失函数,根据所述高量化剪枝模型中的所述至少一个神经网络层的输出与所述训练数据集中训练数据的标签,得到损失值;根据所述损失值,判断所述损失函数是否收敛;若是,则停止训练,否则,调整所述高量化剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
在一些实施例中,所述方法还包括:如果训练次数达到所述预设训练次数阈值,所述损失函数还未收敛,则参照所述剪枝模型中神经网络层的权重参数,将所述高量化剪枝模型中的至少一个权重参数的比特位数由所述第二比特位数增加到所述第一比特位数。
在一些实施例中,所述将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,包括:逐次使用预设算法从所述剪枝模型中选择至少一个神经网络层,将所述至少一个神经网络层的权重参数由第一比特位数量化到第二比特位数。
第二方面,本公开实施例中提供了一种拓扑识别模型的压缩装置,包括:剪枝模块,用于对待压缩模型进行剪枝,得到剪枝模型,并对所述剪枝模型进行训练,得到训练好的剪枝模型;其中,所述待压缩模型为拓扑识别模型,所述拓扑识别模型为运行在服务端的用于识别电网拓扑结构的机器学习模型;量化模块,用于将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,并对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型;其中,所述第二比特位数小于所述第一比特位数;将所述训练好的高量化剪枝模型作为待压缩模型,继续对所述待压缩模型进行剪枝和量化,直至得到压缩好的拓扑识别模型,并将所述压缩好的拓扑识别模型部署到电力物联终端。
在一些实施例中,所述对待压缩模型进行剪枝,得到剪枝模型,包括:通过稀疏正则化训练,确定所述待压缩模型中的冗余通道,并从所述待压缩模型中移除所述冗余通道,得到所述剪枝模型。
在一些实施例中,所述装置还包括:网络层识别精度获取模块,用于将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度;移除模块,用于如果所述待压缩模型中任意两个相邻神经网络层的识别精度之间的差值小于预设差值阈值,则将所述任意两个相邻神经网络层中识别精度最低的神经网络层移除。
在一些实施例中,所述将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度,包括:从所述待压缩模型中选择任意两个相邻神经网络层,移除所述任意两个相邻神经网络层中的一个神经网络层,得到神经网络层精度预测模型;使用带标注的预测数据集,对所述神经网络层精度预测模型进行测试,得到所述神经网络层精度预测模型的输出精度,将所述输出精度作为所述任意两个相邻神经网络层中未被移除的神经网络层的识别精度。
在一些实施例中,所述对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型。
在一些实施例中,所述使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:将所述训练数据输入所述待压缩模型,将所述待压缩模型的输出结果作为所述训练数据的标签;将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
在一些实施例中,所述使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:使用损失函数,根据所述剪枝模型的输出与所述训练数据集中训练数据的标签,得到损失值;根据所述损失值,判断所述损失函数是否收敛;若是,则停止训练,否则,调整所述剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
在一些实施例中,所述装置还包括:通道或网络层增加模块,用于如果训练次数达到所述预设训练次数阈值,所述损失函数还未收敛,则参照所述待压缩模型,增加所述剪枝模型的通道或者神经网络层。
在一些实施例中,所述将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,包括;将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;将所述剪枝模型的全连接层的权重参数的比特位数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;对所述剪枝模型的激活函数进行量化,得到所述高量化剪枝模型。
在一些实施例中,所述对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:从所述高量化剪枝模型中选择至少一个神经网络层构建损失函数;使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型。
在一些实施例中,所述使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:将所述训练数据输入所述剪枝模型,将所述剪枝模型中的参照网络层的输出作为所述训练数据的标签;其中,所述参照网络层与所述高量化剪枝模型中被选择的所述至少一个神经网络层对应;将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
在一些实施例中,所述根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:使用所述损失函数,根据所述高量化剪枝模型中的所述至少一个神经网络层的输出与所述训练数据集中训练数据的标签,得到损失值;根据所述损失值,判断所述损失函数是否收敛;若是,则停止训练,否则,调整所述高量化剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
在一些实施例中,所述装置还包括:反量化模块,用于如果训练次数达到所述预设训练次数阈值,所述损失函数还未收敛,则参照所述剪枝模型中神经网络层的权重参数,将所述高量化剪枝模型中的至少一个权重参数的比特位数由所述第二比特位数增加到所述第一比特位数。
在一些实施例中,所述将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,包括:逐次使用预设算法从所述剪枝模型中选择至少一个神经网络层,将所述至少一个神经网络层的权重参数由第一比特位数量化到第二比特位数。
第三方面,本公开实施例提供了一种芯片,所述芯片包括如第二方面中任一实施例所述的装置。
第四方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如上所述的方法。
第五方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如上所述的方法。
根据本公开实施例提供的技术方案,对待压缩模型进行剪枝,得到剪枝模型,并对剪枝模型进行训练,得到训练好的剪枝模型;将训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,并对高量化剪枝模型进行训练,得到训练好的高量化剪枝模型。通过剪枝操作和量化操作交替进行,可以在确保深度学习模型的精度满足需求的情况下,有效减小深度学习模型的尺寸。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中。
图1示出根据本公开实施例的拓扑识别模型的压缩方法的应用场景图。
图2示出根据本公开实施例的拓扑识别模型的压缩方法的示例性流程图。
图3示出根据本公开实施例的待压缩模型的示例性示意图。
图4示出根据本公开实施例的参照剪枝模型对高量化剪枝模型进行训练的示例性示意图。
图5示出根据本公开实施例的拓扑识别模型的压缩装置的示例性示意图。
图6示出根据本公开的实施例的电子设备的结构框图。
图7示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
在本公开中,如涉及对用户信息或用户数据的获取操作或向他人展示用户信息或用户数据的操作,则所述操作均为经用户授权、确认,或由用户主动选择的操作。
图1示出根据本公开实施例的拓扑识别模型的压缩方法的应用场景图。
如图1所示,在应用场景中可以包括服务端110、终端120和网络130。
在一些实施例中,服务端110、终端120之间可以通过网络130进行数据或者信息的交互。例如,服务端110可以通过网络130获取终端120中的信息和/或数据,或者可以通过网络130将信息和/或数据发送到终端120。
终端120为需要部署拓扑识别模型的电力物联终端设备。在一些实施例中,终端120可以从服务端110接收压缩好的卷积网络模型,并在终端120本地使用压缩好的拓扑识别模型执行预测任务。终端120可以是移动设备、平板计算机等具有输入和/或输出功能的设备中的一种或其任意组合。
在一些实施例中,服务端110可以对待压缩模型进行剪枝,得到剪枝模型,并对剪枝模型进行训练,得到训练好的剪枝模型。在一些实施例中,服务端110可以将训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,并对高量化剪枝模型进行训练,得到训练好的高量化剪枝模型。服务端110可以是单一服务器或服务器组。该服务器组可以是集中式或分布式的(例如,服务端110可以是分布式系统),可以是专用的也可以由其他设备或系统同时提供服务。在一些实施例中,服务端110可以是区域的或者远程的。在一些实施例中,服务端110可以在云平台上实施,或者以虚拟方式提供。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,网络130可以是有线网络或无线网络中的任意一种或多种。例如,网络130可以包括局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)等或其任意组合。
图2示出根据本公开实施例的拓扑识别模型的压缩方法的示例性流程图。如图2所示,拓扑识别模型的压缩方法包括以下步骤S201 – S202:
在步骤S201中,对待压缩模型进行剪枝,得到剪枝模型,并对剪枝模型进行训练,得到训练好的剪枝模型。
待压缩模型是需要对其进行压缩的深度神经网络模型。在一些实施例中,待压缩模型可以为预训练的拓扑识别模型,该拓扑识别模型为运行在服务端的用于识别电网拓扑结构的机器学习模型,拓扑识别模型可以基于卷积神经网络模型构造。拓扑识别模型的输入可以为供电变压器低压台区侧的电压电流数据,输出可以为供电变压器台区里各个电表的位置,以及各个电表之间的关联关系。在具体实施过程中,可以设定好拓扑识别模型的预测精度,使用训练数据集对其进行训练,训练的目的是要确定拓扑识别模型的参数。将训练好的拓扑识别模型作为待压缩模型,确保待压缩模型的精度下降值在预测范围内,对待压缩模型进行压缩。训练数据集的训练数据可以为供电变压器低压台区侧的历史电压电流数据,训练数据的标注为历史上该电压电流数据对应的供电变压器台区里各个电表的位置,以及各个电表之间的关联关系。
待压缩模型有较高的识别精度,同时拥有大量的冗余权重参数。在待压缩模型对输入数据进行处理的过程中,并非全部的权重参数参与有效的计算,并对预测结果产生影响。剪枝方法通过把待压缩模型的网络结构中冗余的权值参数、通道或网络层去掉,减少待压缩模型网络的规模,降低计算复杂度。
在一些实施例中,可以通过稀疏正则化训练,确定待压缩模型中的冗余通道,并从待压缩模型中移除冗余通道,得到剪枝模型。稀疏指的是消除数据中一些特征,用来使模型泛化,减小过拟合的几率。正则化(regularizer)指的是通过给需要训练的目标函数加上一些规则(限制),缩小求解的范围。在具体实施过程中,可以引入BN层缩放因子作为对应通道的激活程度的数值化表示,通过稀疏正则化训练,减小冗余通道的比例系数,通过设定阈值移除冗余通道,具体可以包括以下步骤。
1、对模型的卷积层和BN层进行L1正则化训练获得权重参数值稀疏的卷积神经网络。
2、依据滤波器稀疏性和BN层缩放因子,判断卷积神经网络中各网络层的重要性。
3、对稀疏滤波器及对应连接进行结构化剪枝。
卷积神经网络的中间网络层包括很多与预测任务相关的重要信息,通过分析卷积神经网络的任意中间层与和其相邻的网络层的关联性,可以在保持识别精度的条件下,实现更为准确的剪枝。
在一些实施例中,可以将全连接层作为线性分类器,使用线性分类器得到待压缩模型中各个神经网络层的识别精度;如果待压缩模型中任意两个相邻神经网络层的识别精度之间的差值小于预设差值阈值,则将任意两个相邻神经网络层中识别精度最低的神经网络层移除。在具体实施过程中,可以从待压缩模型中选择任意两个相邻神经网络层,移除任意两个相邻神经网络层中的一个神经网络层,得到神经网络层精度预测模型;使用带标注的预测数据集,对神经网络层精度预测模型进行测试,得到神经网络层精度预测模型的输出精度,将输出精度作为任意两个相邻神经网络层中未被移除的神经网络层的识别精度。
仅作为示例,如图3所示,待压缩模型(即拓扑识别模型)根据卷积神经网络模型构建,待压缩模型包括多个卷积层(实际待压缩模型包括很多卷积网络层,为了描述方便,仅画出了卷积层1和卷积层2)和多个全连接层。可以将拓扑识别模型的全连接层(例如,全连接层1)作为评估各卷积层(例如,卷积层1和卷积层2)的有效性的线性分类器,采用自适应平均池化算法统一各卷积层的嵌入向量长度,使得不同特征性状的卷积层输出尺寸相同的特征图。例如,可以去除卷积层1,然后通过反向传播算法对线性分类器进行逐层的微调,每一层得到最佳识别精度,将此时的拓扑识别模型作为神经网络层精度预测模型,将带标注的测试数据集中的多个测试数据分别输入神经网络层精度预测模型,得到多个测试结果,根据多个测试结果与测试数据集中对应测试数据的标注,可以得到神经网络层精度预测模型的预测精度,将该预测精度作为卷积层2的识别精度。按照上述示例相同的方法,可以卷积层1的识别精度。然后将卷积层1的识别精度和卷积层2的识别精度进行减法运算,并判断运算结果的绝对值是否小于预设差值阈值,如果小于预设差值阈值,则说明卷积层1和卷积层2中的一个卷积层对拓扑识别模型的最终预测结果的影响可以忽略,则将卷积层1和卷积层2中识别精度最低的一个卷积层移除。
在上述对待压缩模型的剪枝过程,可能会造成部分有效信息的损失,导致剪枝模型性能有所下降。本公开的一些实施例引入知识蒸馏技术,通过对比待压缩模型(训练好的拓扑识别模型)和剪枝模型,获得蒸馏损失,建立损失函数,实现由待压缩模型对剪枝模型的指导,从而有效提升剪枝模型性能。
在一些实施例中,可以使用待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集。在具体实施过程中,可以将训练数据输入待压缩模型,将待压缩模型的输出结果作为训练数据的标签,将训练数据与训练数据的标签,作为训练数据集中的一组训练数据。
在一些实施例中,可以使用上述方法得到的训练数据集,对剪枝模型进行训练,得到训练好的剪枝模型。在具体实施过程中,可以使用损失函数(例如,平方损失函数),根据剪枝模型的输出与训练数据集中训练数据的标签,得到损失值;根据损失值,判断损失函数是否收敛(例如,判断损失值是否小于预设阈值);若是,则停止训练,否则,调整剪枝模型的参数,并进行下一次训练,直至损失函数收敛或者训练次数达到预设训练次数阈值。
在一些实施例中,如果训练次数达到预设训练次数阈值,损失函数还未收敛,可以说明剪枝处理影响了待压缩模型的精度,则可以参照待压缩模型,增加剪枝模型的通道或者神经网络层。在具体实施过程中,可以将从待压缩模型剪除的通道或者神经网络层逐次增加到剪枝模型中,每一次增加通道或者神经网络层之后,对模型进行如上训练,直至训练过程中损失函数收敛,则将损失函数收敛时的剪枝模型作为训练好的剪枝模型。
在步骤S202中,将训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,并对高量化剪枝模型进行训练,得到训练好的高量化剪枝模型;其中,第二比特位数小于第一比特位数。
模型量化是指将深度神经网络模型某些相近的权重参数近似成为相同的数值,通过降低权重参数的位宽表示来进行模型压缩与加速,使模型准确率性能基本不变,但可以减小模型规模、加快运算速度的一种压缩方法。模型权重参数的位宽可以使用比特位数来表示,权重参数的比特位数可以为:1、2、4、8、16、32等2的幂次倍。深度学习模型的权重参数通常为32比特。高比特意味着模型可以达到的识别精度很高,同时模型的体积很大,推理速度较慢,硬件资源的消耗较多。
在一些实施例中,可以将剪枝模型中各个神经网络层的权重参数进行逐步量化,先将剪枝模型中各个神经网络层的权重参数量化到一个较高的比特位数,然后由较高的比特位数继续量化到较低的比特位数,以此类推,直至压缩任务完成。
在具体实施过程中,可以将剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,并对剪枝模型进行训练;将剪枝模型的全连接层的权重参数的比特位数由第一比特位数量化到第二比特位数,并对剪枝模型进行训练;对剪枝模型的激活函数进行量化,得到高量化剪枝模型。例如,可以将剪枝模型中的各个神经网络层、全连接层的权重参数由32比特量化到16比特。在具体实施过程中,可以逐次使用预设算法从剪枝模型中选择至少一个神经网络层,将至少一个神经网络层的权重参数由第一比特位数量化到第二比特位数。预设算法可以包括但不限于:随机策略、基于prune(剪枝)的策略等。随机策略为:随机把权重参数分成不相交的部分,即以相等概率分组。基于prune的策略为:逐层确定每层的阈值(一般是按照拆分比率给定),取权重参数的绝对值和阈值比较,分成不重叠的组。
在通过上述方法得到高量化剪枝模型之后,可以对高量化剪枝模型进行训练,得到训练好的高量化剪枝模型。
本公开的实施例引入了知识蒸馏的思想对高比特量化模型进行训练。剪枝模型和高量化剪枝模型的模型骨干完全相同,只是参数和激活函数具有差异,可以将高量化剪枝模型分为不同的部分,选取其中多个部分构建引导损失函数,作为约束函数,对上述量化结果进行精度约束。对于不满足精度的网络层,通过剪枝模型的权重参数对高量化剪枝模型的权重参数进指导,对量化过程带来的模型精度下降进行弥补,提高量化剪枝模型的精度。
在一些实施例中,如图4所示,可以从高量化剪枝模型中选择至少一个神经网络层构建损失函数(例如,绝对值损失函数),并使用剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集。在具体实施过程中,如图4所示,可以将训练数据输入剪枝模型,将剪枝模型中的参照网络层的输出作为训练数据的标签;其中,参照网络层与高量化剪枝模型中被选择的至少一个神经网络层对应,将训练数据与训练数据的标签,作为训练数据集中的一组训练数据。
在得到训练数据集之后,可以根据损失函数和训练数据集,对高量化剪枝模型进行训练,得到训练好的高量化剪枝模型。
在具体实施过程中,如图4所示,可以使用损失函数,根据高量化剪枝模型中的至少一个神经网络层的输出的预测值与训练数据集中训练数据的标签,得到损失值,根据损失值,判断损失函数是否收敛,若是,则停止训练,否则,调整高量化剪枝模型的参数,并进行下一次训练,直至损失函数收敛或者训练次数达到预设训练次数阈值。
在一些实施例中,如果训练次数达到预设训练次数阈值,损失函数还未收敛,这说明上述量化过程对剪枝模型的精度产生了较大影响,则可以参照剪枝模型中神经网络层的权重参数,将高量化剪枝模型中的至少一个权重参数的比特位数由第二比特位数增加到第一比特位数。在参照剪枝模型,对高量化剪枝模型中的权重参数进行调整后,需要继续对高量化剪枝模型进行训练,直至训练过程中损失函数收敛,则将函数收敛时的高量化剪枝模型作为训练好的高量化剪枝模型。
在步骤S203中,将训练好的高量化剪枝模型作为待压缩模型,继续对待压缩模型进行剪枝和量化,直至得到压缩好的拓扑识别模型,并将压缩好的拓扑识别模型部署到电力物联终端。
在一些实施例中,在经过步骤S202得到训练好的高量化剪枝模型之后,可以将训练好的高量化剪枝模型作为待压缩模型,继续根据步骤S201~S202对待压缩模型进行剪枝和量化,直至得到压缩好的拓扑识别模型。压缩好的拓扑识别模型可以为满足预设模型指标的拓扑识别模型,并将压缩好的拓扑识别模型部署到电力物联终端。其中预设模型指标包括:压缩比、计算量、推力时延、精度损失等。
图5示出根据本公开的实施例的拓扑识别模型的压缩装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图5所示,所述拓扑识别模型的压缩装置500包括剪枝模块510、量化模块520。
剪枝模块510,用于对待压缩模型进行剪枝,得到剪枝模型,并对所述剪枝模型进行训练,得到训练好的剪枝模型;其中,所述待压缩模型为拓扑识别模型,所述拓扑识别模型为运行在服务端的用于识别电网拓扑结构的机器学习模型。
量化模块520,用于将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,并对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型;其中,所述第二比特位数小于所述第一比特位数。
部署模块530,用于将所述训练好的高量化剪枝模型作为待压缩模型,继续对所述待压缩模型进行剪枝和量化,直至得到压缩好的拓扑识别模型,并将所述压缩好的拓扑识别模型部署到电力物联终端。
在一些实施例中,所述对待压缩模型进行剪枝,得到剪枝模型,包括:通过稀疏正则化训练,确定所述待压缩模型中的冗余通道,并从所述待压缩模型中移除所述冗余通道,得到所述剪枝模型。
在一些实施例中,所述装置还包括:网络层识别精度获取模块,用于将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度;移除模块,用于如果所述待压缩模型中任意两个相邻神经网络层的识别精度之间的差值小于预设差值阈值,则将所述任意两个相邻神经网络层中识别精度最低的神经网络层移除。
在一些实施例中,所述将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度,包括:从所述待压缩模型中选择任意两个相邻神经网络层,移除所述任意两个相邻神经网络层中的一个神经网络层,得到神经网络层精度预测模型;使用带标注的预测数据集,对所述神经网络层精度预测模型进行测试,得到所述神经网络层精度预测模型的输出精度,将所述输出精度作为所述任意两个相邻神经网络层中未被移除的神经网络层的识别精度。
在一些实施例中,所述对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型。
在一些实施例中,所述使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:将所述训练数据输入所述待压缩模型,将所述待压缩模型的输出结果作为所述训练数据的标签;将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
在一些实施例中,所述使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:使用损失函数,根据所述剪枝模型的输出与所述训练数据集中训练数据的标签,得到损失值;根据所述损失值,判断所述损失函数是否收敛;若是,则停止训练,否则,调整所述剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
在一些实施例中,所述装置还包括:通道或网络层增加模块,用于如果训练次数达到所述预设训练次数阈值,所述损失函数还未收敛,则参照所述待压缩模型,增加所述剪枝模型的通道或者神经网络层。
在一些实施例中,所述将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,包括;将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;将所述剪枝模型的全连接层的权重参数的比特位数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;对所述剪枝模型的激活函数进行量化,得到所述高量化剪枝模型。
在一些实施例中,所述对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:从所述高量化剪枝模型中选择至少一个神经网络层构建损失函数;使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型。
在一些实施例中,所述使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:将所述训练数据输入所述剪枝模型,将所述剪枝模型中的参照网络层的输出作为所述训练数据的标签;其中,所述参照网络层与所述高量化剪枝模型中被选择的所述至少一个神经网络层对应;将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
在一些实施例中,所述根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:使用所述损失函数,根据所述高量化剪枝模型中的所述至少一个神经网络层的输出与所述训练数据集中训练数据的标签,得到损失值;根据所述损失值,判断所述损失函数是否收敛;若是,则停止训练,否则,调整所述高量化剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
在一些实施例中,所述装置还包括:反量化模块,用于如果训练次数达到所述预设训练次数阈值,所述损失函数还未收敛,则参照所述剪枝模型中神经网络层的权重参数,将所述高量化剪枝模型中的至少一个权重参数的比特位数由所述第二比特位数增加到所述第一比特位数。
在一些实施例中,所述将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,包括:逐次使用预设算法从所述剪枝模型中选择至少一个神经网络层,将所述至少一个神经网络层的权重参数由第一比特位数量化到第二比特位数。
上述拓扑识别模型的压缩装置的实施例中,各模块的具体处理及其带来的技术效果可分别参考对应方法实施例中的相关说明,在此不再赘述。
本公开实施例还提供一种芯片,所述芯片包括上述拓扑识别模型的压缩装置,所述装置可以通过软件、硬件或者两者的结合实现成为芯片的部分或者全部。
本公开还公开了一种电子设备,图6示出根据本公开的实施例的电子设备的结构框图。
如图6所示,所述电子设备包括存储器和处理器,其中,存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现根据本公开的实施例的方法。
图7示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
如图7所示,计算机系统包括处理单元,其可以根据存储在只读存储器(ROM)中的程序或者从存储部分加载到随机访问存储器(RAM)中的程序而执行上述实施例中的各种方法。在RAM中,还存储有计算机系统操作所需的各种程序和数据。处理单元、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信过程。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。其中,所述处理单元可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (27)
1.一种拓扑识别模型的压缩方法,其特征在于,所述方法包括:
对待压缩模型进行剪枝,得到剪枝模型,并对所述剪枝模型进行训练,得到训练好的剪枝模型,如果训练次数达到预设训练次数阈值,损失函数还未收敛,则参照所述待压缩模型,增加所述剪枝模型的通道或者神经网络层;其中,所述待压缩模型为拓扑识别模型,所述拓扑识别模型为运行在服务端的用于识别电网拓扑结构的机器学习模型;
将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,并对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型;其中,所述第二比特位数小于所述第一比特位数;对于不满足精度的网络层,通过剪枝模型的权重参数对高量化剪枝模型的权重参数进指导训练;
将所述训练好的高量化剪枝模型作为待压缩模型,继续对所述待压缩模型进行剪枝和量化,直至得到压缩好的拓扑识别模型,并将所述压缩好的拓扑识别模型部署到电力物联终端;
其中,所述对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:
使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;所述训练数据集的训练数据为供电变压器低压台区侧的历史电压电流数据,所述训练数据的标注为历史上该电压电流数据对应的供电变压器台区里各个电表的位置,以及各个电表之间的关联关系;
使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型。
2.根据权利要求1所述的方法,其特征在于,所述对待压缩模型进行剪枝,得到剪枝模型,包括:
通过稀疏正则化训练,确定所述待压缩模型中的冗余通道,并从所述待压缩模型中移除所述冗余通道,得到所述剪枝模型。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度;
如果所述待压缩模型中任意两个相邻神经网络层的识别精度之间的差值小于预设差值阈值,则将所述任意两个相邻神经网络层中识别精度最低的神经网络层移除。
4.根据权利要求3所述的方法,其特征在于,所述将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度,包括:
从所述待压缩模型中选择任意两个相邻神经网络层,移除所述任意两个相邻神经网络层中的一个神经网络层,得到神经网络层精度预测模型;
使用带标注的预测数据集,对所述神经网络层精度预测模型进行测试,得到所述神经网络层精度预测模型的输出精度,将所述输出精度作为所述任意两个相邻神经网络层中未被移除的神经网络层的识别精度。
5.根据权利要求1所述的方法,其特征在于,所述使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:
将所述训练数据输入所述待压缩模型,将所述待压缩模型的输出结果作为所述训练数据的标签;
将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
6.根据权利要求1所述的方法,其特征在于,所述使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:
使用损失函数,根据所述剪枝模型的输出与所述训练数据集中训练数据的标签,得到损失值;
根据所述损失值,判断所述损失函数是否收敛;
若是,则停止训练,否则,调整所述剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
7.根据权利要求1所述的方法,其特征在于,所述将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,包括;
将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;
将所述剪枝模型的全连接层的权重参数的比特位数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;
对所述剪枝模型的激活函数进行量化,得到所述高量化剪枝模型。
8.根据权利要求1所述的方法,其特征在于,所述对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:
从所述高量化剪枝模型中选择至少一个神经网络层构建损失函数;
使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;
根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型。
9.根据权利要求8所述的方法,其特征在于,所述使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:
将所述训练数据输入所述剪枝模型,将所述剪枝模型中的参照网络层的输出作为所述训练数据的标签;其中,所述参照网络层与所述高量化剪枝模型中被选择的所述至少一个神经网络层对应;
将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
10.根据权利要求8所述的方法,其特征在于,所述根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:
使用所述损失函数,根据所述高量化剪枝模型中的所述至少一个神经网络层的输出与所述训练数据集中训练数据的标签,得到损失值;
根据所述损失值,判断所述损失函数是否收敛;
若是,则停止训练,否则,调整所述高量化剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
如果训练次数达到所述预设训练次数阈值,所述损失函数还未收敛,则参照所述剪枝模型中神经网络层的权重参数,将所述高量化剪枝模型中的至少一个权重参数的比特位数由所述第二比特位数增加到所述第一比特位数。
12.根据权利要求7所述的方法,其特征在于,所述将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,包括:
逐次使用预设算法从所述剪枝模型中选择至少一个神经网络层,将所述至少一个神经网络层的权重参数由第一比特位数量化到第二比特位数。
13.一种拓扑识别模型的压缩装置,其特征在于,包括:
剪枝模块,用于对待压缩模型进行剪枝,得到剪枝模型,并对所述剪枝模型进行训练,得到训练好的剪枝模型,如果训练次数达到预设训练次数阈值,损失函数还未收敛,则参照所述待压缩模型,增加所述剪枝模型的通道或者神经网络层;其中,所述待压缩模型为拓扑识别模型,所述拓扑识别模型为运行在服务端的用于识别电网拓扑结构的机器学习模型;
量化模块,用于将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,并对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型;其中,所述第二比特位数小于所述第一比特位数;对于不满足精度的网络层,通过剪枝模型的权重参数对高量化剪枝模型的权重参数进指导训练;
部署模块,用于将所述训练好的高量化剪枝模型作为待压缩模型,继续对所述待压缩模型进行剪枝和量化,直至得到压缩好的拓扑识别模型,并将所述压缩好的拓扑识别模型部署到电力物联终端;
其中,所述对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:
使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;所述训练数据集的训练数据为供电变压器低压台区侧的历史电压电流数据,所述训练数据的标注为历史上该电压电流数据对应的供电变压器台区里各个电表的位置,以及各个电表之间的关联关系;
使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型。
14.根据权利要求13所述的装置,其特征在于,所述对待压缩模型进行剪枝,得到剪枝模型,包括:
通过稀疏正则化训练,确定所述待压缩模型中的冗余通道,并从所述待压缩模型中移除所述冗余通道,得到所述剪枝模型。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
网络层识别精度获取模块,用于将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度;
移除模块,用于如果所述待压缩模型中任意两个相邻神经网络层的识别精度之间的差值小于预设差值阈值,则将所述任意两个相邻神经网络层中识别精度最低的神经网络层移除。
16.根据权利要求15所述的装置,其特征在于,所述将全连接层作为线性分类器,使用所述线性分类器得到所述待压缩模型中各个神经网络层的识别精度,包括:
从所述待压缩模型中选择任意两个相邻神经网络层,移除所述任意两个相邻神经网络层中的一个神经网络层,得到神经网络层精度预测模型;
使用带标注的预测数据集,对所述神经网络层精度预测模型进行测试,得到所述神经网络层精度预测模型的输出精度,将所述输出精度作为所述任意两个相邻神经网络层中未被移除的神经网络层的识别精度。
17.根据权利要求13所述的装置,其特征在于,所述使用所述待压缩模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:
将所述训练数据输入所述待压缩模型,将所述待压缩模型的输出结果作为所述训练数据的标签;
将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
18.根据权利要求13所述的装置,其特征在于,所述使用所述训练数据集,对所述剪枝模型进行训练,得到训练好的剪枝模型,包括:
使用损失函数,根据所述剪枝模型的输出与所述训练数据集中训练数据的标签,得到损失值;
根据所述损失值,判断所述损失函数是否收敛;
若是,则停止训练,否则,调整所述剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
19.根据权利要求13所述的装置,其特征在于,所述将所述训练好的剪枝模型中各神经网络层的权重参数的比特位数由第一比特位数量化到第二比特位数,得到高量化剪枝模型,包括;
将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;
将所述剪枝模型的全连接层的权重参数的比特位数由第一比特位数量化到第二比特位数,并对所述剪枝模型进行训练;
对所述剪枝模型的激活函数进行量化,得到所述高量化剪枝模型。
20.根据权利要求13所述的装置,其特征在于,所述对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:
从所述高量化剪枝模型中选择至少一个神经网络层构建损失函数;
使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集;
根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型。
21.根据权利要求20所述的装置,其特征在于,所述使用所述剪枝模型,对无标签训练数据集中的训练数据做标注,得到训练数据集,包括:
将所述训练数据输入所述剪枝模型,将所述剪枝模型中的参照网络层的输出作为所述训练数据的标签;其中,所述参照网络层与所述高量化剪枝模型中被选择的所述至少一个神经网络层对应;
将所述训练数据与所述训练数据的标签,作为所述训练数据集中的一组训练数据。
22.根据权利要求20所述的装置,其特征在于,所述根据所述损失函数和所述训练数据集,对所述高量化剪枝模型进行训练,得到训练好的高量化剪枝模型,包括:
使用所述损失函数,根据所述高量化剪枝模型中的所述至少一个神经网络层的输出与所述训练数据集中训练数据的标签,得到损失值;
根据所述损失值,判断所述损失函数是否收敛;
若是,则停止训练,否则,调整所述高量化剪枝模型的参数,并进行下一次训练,直至所述损失函数收敛或者训练次数达到预设训练次数阈值。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括:
反量化模块,用于如果训练次数达到所述预设训练次数阈值,所述损失函数还未收敛,则参照所述剪枝模型中神经网络层的权重参数,将所述高量化剪枝模型中的至少一个权重参数的比特位数由所述第二比特位数增加到所述第一比特位数。
24.根据权利要求19所述的装置,其特征在于,所述将所述剪枝模型中的各个神经网络层的权重参数由第一比特位数量化到第二比特位数,包括:
逐次使用预设算法从所述剪枝模型中选择至少一个神经网络层,将所述至少一个神经网络层的权重参数由第一比特位数量化到第二比特位数。
25.一种芯片,其特征在于,
所述芯片包括如权利要求13-24中任一项所述的装置。
26.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-12任一项所述的方法步骤。
27.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-12任一项所述的方法步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210983746.3A CN115049058B (zh) | 2022-08-17 | 2022-08-17 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
PCT/CN2023/111880 WO2024037393A1 (zh) | 2022-08-17 | 2023-08-09 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210983746.3A CN115049058B (zh) | 2022-08-17 | 2022-08-17 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115049058A CN115049058A (zh) | 2022-09-13 |
CN115049058B true CN115049058B (zh) | 2023-01-20 |
Family
ID=83166498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210983746.3A Active CN115049058B (zh) | 2022-08-17 | 2022-08-17 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115049058B (zh) |
WO (1) | WO2024037393A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115049058B (zh) * | 2022-08-17 | 2023-01-20 | 北京智芯微电子科技有限公司 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
CN116894189B (zh) * | 2023-09-11 | 2024-01-05 | 中移(苏州)软件技术有限公司 | 一种模型训练方法、装置、设备及可读存储介质 |
CN117910536A (zh) * | 2024-03-19 | 2024-04-19 | 浪潮电子信息产业股份有限公司 | 文本生成方法及其模型梯度剪枝方法、装置、设备、介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108615049A (zh) * | 2018-04-09 | 2018-10-02 | 华中科技大学 | 一种车辆部件检测模型压缩方法及系统 |
CN109635936A (zh) * | 2018-12-29 | 2019-04-16 | 杭州国芯科技股份有限公司 | 一种基于重训练的神经网络剪枝量化方法 |
CN111160524A (zh) * | 2019-12-16 | 2020-05-15 | 北京时代民芯科技有限公司 | 一种两阶段的卷积神经网络模型压缩方法 |
CN112329922A (zh) * | 2020-11-24 | 2021-02-05 | 北京大学 | 一种基于质谱数据集的神经网络模型压缩方法及系统 |
WO2021143070A1 (zh) * | 2020-01-16 | 2021-07-22 | 北京智芯微电子科技有限公司 | 深度神经网络模型的压缩方法、装置及存储介质 |
CN114819143A (zh) * | 2022-04-15 | 2022-07-29 | 北京邮电大学 | 一种适用于通信网现场维护的模型压缩方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257774B (zh) * | 2020-10-20 | 2024-03-15 | 平安科技(深圳)有限公司 | 基于联邦学习的目标检测方法、装置、设备及存储介质 |
CN112698123B (zh) * | 2020-12-01 | 2023-05-05 | 国网河南省电力公司电力科学研究院 | 一种基于决策树的低压台区用户拓扑关系识别方法 |
CN112766397B (zh) * | 2021-01-27 | 2023-12-05 | 歌尔股份有限公司 | 一种分类网络及其实现方法和装置 |
CN113033897A (zh) * | 2021-03-26 | 2021-06-25 | 国网上海市电力公司 | 基于用户分支的电量相关性识别台区户变关系的方法 |
CN115049058B (zh) * | 2022-08-17 | 2023-01-20 | 北京智芯微电子科技有限公司 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
-
2022
- 2022-08-17 CN CN202210983746.3A patent/CN115049058B/zh active Active
-
2023
- 2023-08-09 WO PCT/CN2023/111880 patent/WO2024037393A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108615049A (zh) * | 2018-04-09 | 2018-10-02 | 华中科技大学 | 一种车辆部件检测模型压缩方法及系统 |
CN109635936A (zh) * | 2018-12-29 | 2019-04-16 | 杭州国芯科技股份有限公司 | 一种基于重训练的神经网络剪枝量化方法 |
CN111160524A (zh) * | 2019-12-16 | 2020-05-15 | 北京时代民芯科技有限公司 | 一种两阶段的卷积神经网络模型压缩方法 |
WO2021143070A1 (zh) * | 2020-01-16 | 2021-07-22 | 北京智芯微电子科技有限公司 | 深度神经网络模型的压缩方法、装置及存储介质 |
CN112329922A (zh) * | 2020-11-24 | 2021-02-05 | 北京大学 | 一种基于质谱数据集的神经网络模型压缩方法及系统 |
CN114819143A (zh) * | 2022-04-15 | 2022-07-29 | 北京邮电大学 | 一种适用于通信网现场维护的模型压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2024037393A1 (zh) | 2024-02-22 |
CN115049058A (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115049058B (zh) | 拓扑识别模型的压缩方法、装置、电子设备及介质 | |
US20230186476A1 (en) | Object detection and instance segmentation of 3d point clouds based on deep learning | |
Turner et al. | Blockswap: Fisher-guided block substitution for network compression on a budget | |
Jalalkamali | Using of hybrid fuzzy models to predict spatiotemporal groundwater quality parameters | |
CA2366782A1 (en) | Distributed hierarchical evolutionary modeling and visualization of empirical data | |
CN111401433A (zh) | 用户信息获取方法、装置、电子设备及存储介质 | |
CN107633035B (zh) | 一种基于K-Means&LightGBM模型的共享交通服务reorder预估方法 | |
CN108830417B (zh) | 一种基于arma和回归分析的生活能源消费预测方法及系统 | |
CN112434743A (zh) | 基于gil金属微粒局部放电时域波形图像的故障识别方法 | |
CN114943356A (zh) | 一种机场到港旅客乘坐出租车短时需求集成预测方法 | |
US20180196892A1 (en) | Massively accelerated bayesian machine | |
CN114841268B (zh) | 基于Transformer和LSTM融合算法的异常电力客户识别方法 | |
CN115859777A (zh) | 一种多故障模式下产品系统寿命预测的方法 | |
Liu et al. | A novel health prognosis method for system based on improved degenerated Hidden Markov model | |
CN115619999A (zh) | 电力设备实时监测方法、装置、电子设备及可读介质 | |
CN113704389A (zh) | 一种数据评估方法、装置、计算机设备及存储介质 | |
CN114912854B (zh) | 地铁列车运行调整方法、装置、电子设备及存储介质 | |
CN114580087B (zh) | 一种船载设备的联邦剩余使用寿命预测方法、装置及系统 | |
CN115880580A (zh) | 一种云层影响下的光学遥感影像道路信息智能提取方法 | |
RU135434U1 (ru) | Устройство автоматизированной идентификации сигналов на основе нейронной сети | |
CN115907000A (zh) | 一种用于电力系统最优潮流预测的小样本学习方法 | |
CN114722704A (zh) | 车轮磨损预测网络模型训练方法、装置 | |
CN114970601A (zh) | 一种电力设备局部放电类型识别方法、设备及存储介质 | |
CN115056829A (zh) | 多车型连续学习的列车运动状态估计方法 | |
CN114372618A (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 |