CN115796263A - 模型优化方法、装置、电子设备及存储介质 - Google Patents
模型优化方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115796263A CN115796263A CN202211441703.9A CN202211441703A CN115796263A CN 115796263 A CN115796263 A CN 115796263A CN 202211441703 A CN202211441703 A CN 202211441703A CN 115796263 A CN115796263 A CN 115796263A
- Authority
- CN
- China
- Prior art keywords
- layer
- network
- neural network
- multiplication
- representing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000005457 optimization Methods 0.000 title claims abstract description 48
- 238000013528 artificial neural network Methods 0.000 claims abstract description 82
- 238000010606 normalization Methods 0.000 claims abstract description 44
- 230000004913 activation Effects 0.000 claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 25
- 238000009825 accumulation Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 abstract description 27
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007499 fusion processing Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本公开实施例提供一种模型优化方法、装置、电子设备及存储介质。该方法包括:获取第一模型,所述第一模型的神经网络结构顺序依次包括批标准化层、激活层以及卷积层;基于所述批标准化层和所述激活层,确定第一算子层;基于所述批标准化层和所述卷积层,确定第二算子层;基于所述第一算子层和所述第二算子层,确定所述第一模型的优化模型。本公开实施例,可以对模型进行优化,减少模型在使用时的计算量。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及一种模型优化方法、装置、电子设备及存储介质。
背景技术
随着人工智能技术的不断进步,各种功能的神经网络模型涌现,结构也越来越复杂。在模型部署阶段,因部署设备的不同而为模型提供不同的优化技术,使得模型能够更加高效准确地运行,并保障其在实际工作环境中的性能。因此,如何对模型进行深度的优化成为了人工智能技术落地的重要环节。
发明内容
本公开实施例提供一种模型优化方法、装置、电子设备及存储介质,以解决或缓解现有技术中的一项或更多项技术问题。
作为本公开实施例的第一个方面,本公开实施例提供一种模型优化方法,包括:
获取第一模型,所述第一模型的神经网络结构顺序依次包括批标准化层、激活层以及卷积层;
基于所述批标准化层和所述激活层,确定第一算子层;
基于所述批标准化层和所述卷积层,确定第二算子层;
基于所述第一算子层和所述第二算子层,确定所述第一模型的优化模型。
作为本公开实施例的第二个方面,本公开实施例提供一种模型优化装置,包括:
模型获取模块,用于获取第一模型,所述第一模型的神经网络结构顺序依次包括批标准化层、激活层以及卷积层;
第一算子层确定模块,用于基于所述批标准化层和所述激活层,确定第一算子层;
第二算子层确定模块,用于基于所述批标准化层和所述卷积层,确定第二算子层;
优化模型确定模块,用于基于所述第一算子层和所述第二算子层,确定所述第一模型的优化模型。
作为本公开实施例的第三个方面,本公开实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例提供的模型优化方法。
作为本公开实施例的第四个方面,本公开实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行本公开实施例提供的模型优化方法。
作为本公开实施例的第五个方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现本公开实施例提供的模型优化方法。
本公开实施例提供的技术方案,针对依次由批标准化层、激活层以及卷积积构成的神经网络,基于批标准化层和激活层确定第一算子层,并基于批标准化层和卷积层,确定第二算子层,然后基于第一算子层和第二算子层,得到该神经网络的优化模型。该优化方案,在保障神经网络原有的性能的同时,简化神经网络结构,减少神经网络对输入信息的计算次数,从而提高神经网络的效率。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本公开进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本公开的一些实施方式,而不应将其视为是对本公开范围的限制。
图1是本公开一实施例的模型优化方法的流程图;
图2是本公开另一实施例的模型优化方法的流程图;
图3是本公开一实施例的批标准化层与卷积层的融合过程的示意图;
图4是本公开一实施例的经融合的新卷积层的示意图;
图5是本公开一实施例的模型优化装置的流程图;
图6是本公开一实施例的电子设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本公开的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
一般地,神经网络包括多个不同结构的网络层,且各个网络层针对输入层依次执行计算。例如,整个神经网络的输入作为第一级网络层的输入,对于其他级网络网层,上一级网络层的输出作为其下一级网络层的输入。但是,随着各个网络层的规模的增加,神经网络的计算效率也会降低。
例如,对于依次由批标准化层(BatchNormalize,BN)、激活层(ReLU)和卷积层(Convlution2d)构成的神经网络,即结构为BN+ReLU+Conv2d的神经网络,针对输入信息依次执行BN、ReLU和Conv2d的计算,而BN通常会拆分为两个算子,即乘法层(Mul,神经网络中的Element-wise层,用于两个张量之间的操作,对输入信息进行一定计算,Mul表示对输入信息做乘法)和加法层(Add,神经网络中的Element-wise层,用于两个张量之间的操作,对应元素进行一定计算,Add表示对应元素做加法),进行相应的计算。如此,对于每个输入信息,在神经网络所部署的设备上需要执行四次计算,在一定的计算资源浪费。而且,BN+ReLU+Conv2d结构的神经网络是图像处理模型中的一种较为常用的基础模型,随着神经网络中各层的结构规模的不断增加,其消耗的计算资源也更多。
因此,本申请提供一种模型优化方案,能够简化神经网络结构,减少神经网对输入信息的计算次数。
图1是本公开一实施例的模型优化方法的示意图。如图1所示,该模型优化方法包括:
S110,获取第一模型,第一模型的神经网络结构顺序依次包括批标准化层、激活层以及卷积层;
S120,基于批标准化层和激活层,确定第一算子层;
S130,基于批标准化层和卷积层,确定第二算子层;
S140,基于第一算子层和第二算子层,确定第一模型的优化模型。
在本示例中,针对依次由批标准化层、激活层以及卷积层构成的神经网络,基于批标准化层和激活层确定第一算子层,并基于批标准化层和卷积层,确定第二算子层,然后基于第一算子层和第二算子层,得到该神经网络的优化模型。该优化方案,在保障神经网络原有的性能的同时,简化神经网络结构,减少神经网络对输入信息的计算次数,从而提高神经网络的效率。
示例性地,第一模型的结构可以为BN+ReLU+Conv2d。
在实际优化过程中,如图2所示,针对BN+ReLU+Conv2d结构的神经网络,主要分为两个阶段,即对BN+ReLU执行顺序交换,然后对BN和Conv2d进行融合,得到由第一算子层和第二算子层构建的优化模型。其可以分为以下四个步骤:
1)匹配BN+ReLU结构,在神经网络模型部署时,BN会被编译器拆分为Mul+Add,因此这一步实际需要匹配Mul+Add+ReLU结构;
2)将第1)步所匹配的结构进行计算顺序调整,变换为Binary_max+Mul+Add;其中,Binary_max为第一算子层;
3)匹配BN(Mul+Add)+Conv2d结构;
4)将3)步所匹配结构进行融合,将Mul、Add离线融合到Conv2d的参数中,得到第二算子层,从而得到由第一算子层和第二算子层构建的优化模型。
在一些实施例中,在上述步骤S120中,可以对批标准化层进行拆分成乘法层和加法层,然后针对由乘法层、加法层以及激活层的神经网络进行顺序调整,在保持该神经网络性能不变的情况下,可以得到由第一算子层、乘法层和加法层组成的神经网络,然后从中提取第一算子层。
示例性地,在步骤S120中,基于批标准化层和激活层,确定第一算子层,可以包括:
对批标准化层进行拆分,得到乘法层和加法层;
对依次由乘法层、加法层以及激活层组成的第一神经网络进行层级顺序调整,得到依次由第一算子层、乘法层和加法层组成的第二神经网络;
从第二神经网络中提取第一算子层,得到第一算子层。
在本示例中,通过对乘法层、加法层和激活层进行顺序调整,为了保持该神经网络性能不变,即针对同一输入,输出不变,得到依次由第一算子层、乘法层和加法层组成,从而可以得到第一算子层。
示例性地,第一算子层的网络结构与激活层的网络结构类似,激活层可以看作一个分段函数,包括两个分段,分界阈值为0。第一算子层也可以看作一个分段函数,包括两个分段,但其分界阈值不为0,通过上述顺序调整之后,确定第一算子层的分界阈值。
第一算子层可以称为Binary_max算子层,其为神经网络中的Element-wise层,用于对两个张量之间进行取最大值的操作。
在一些实施例中,在上述步骤S120中,可以直接确定第一算子层的网络结构,利用乘法层的网络参数、加法层的网络参数以及激活层的网络参数,确定第一算子层的网络参数,这样可以快速地确定第一算子层。
示例性地,从第二神经网络中提取第一算子层,得到第一算子层,包括:
基于乘法层的网络参数、加法层的网络参数以及激活层的网络参数,确定第一算子层的网络参数。
在本示例中,利用乘法层的网络参数、加法层的网络参数以及激活层的网络参数,确定第一算子层的网络参数,这样可以快速地确定第一算子层。
示例性地,第一算子层的网络结构与激活层的网络结构相同,且第一算子层的网络参数不同于激活层的网络参数。
示例性地,确定第一算子层的网络结构与激活层的网络结构相同,即均为分段函数,且包括两个分段;然后,基于乘法层的网络参数、加法层的网络参数,得到第一算子层的分界阈值。
在神经网络模型落地部署时,通常需要神经网络编译器来生成指令,而在这个过程中,神经网络中一部分高级算子会进行拆分,变成一些基础算子。例如BN,在模型中通常以独立算子的形式存在,而在编译器处理的过程中会拆分为Mul+Add的形式,再加上ReLU就成了本方案优化中的第一阶段的优化对象。
对于第一模型中的BN+ReLU结构,即由乘法层、加法层以及激活层组成的第一神经网络的函数表达式为:
其中,x表示第一神经网络的输入,f1(x)表示第一神经网络的输出,ReLU表示第一神经网络的激活层,BN表示第一神经网络的批标准化层,Mul表示乘法层的常量参数,Add表示加法层的常量参数。
对于上述公式,Mul和Add表示BN的两步计算中的常量参数(Constant),这两个常量参数的数据量通常与输入数据的某一个维度(在神经网络模型中通常表示为通道维度)相同或者数据量为1,当数据量为1时表示对所有输入数据进行相同操作,当数据量不为1时表示输入数据某个维度与不同常量计算。而由于ReLU激活函数的为分段函数,且具有分界阈值的特殊性质,使得上式公式可以改变计算顺序,其顺序改变过程如下:
因此,从上述公式改变顺序的过程中,可以直接先确定第一算子层的结构,然后,利用乘法层与加法层的常量参数,计算得到第一算子层的分界阈值,从而确定第一算子层。当然,也可以对BN+ReLU结构执行上述的顺序调整后,从中提取第一算子层。
从上述顺序调整的过程中可知,由第一算子层、乘法层和加法层组成的第二神经网络的函数表达式可以表示为:
其中,x表示第二神经网络的输入,f2(x)表示第二神经网络的输出,ReLU′表示第二神经网络的第一算子层,BN表示第二神经网络的批标准化层,Mul表示乘法层的常量参数,Add表示加法层的常量参数。
实际上,由于第一神经网络和第二神经网络只是结构顺序调整以及参数调整,而由于其性能保持不变,针对同一输入,其输出是相同的。即,针对同一x,f1(x)=f2(x)。
从上述顺序调整的过程中可知,第一算子层的函数表达式可以为:
在对BN+ReLU结构进行拆分以及顺序调整后,得到Binary_max+BN(Mul+Add),由于该网络结构后续接上一个Conv2d。此时,可以对BN(Mul+Add)+Conv2d进行融合。
示例性地,在上述步骤S130中,基于批标准化层和卷积层,确定第二算子层,可以包括:
对批标准化层进行拆分,得到乘法层和加法层;
基于乘法层的网络参数、加法层的网络参数以及卷积层的网络参数,确定第二算子层的网络参数。
其中,卷积层包括第一权重乘积层和第一偏移累加层,基于乘法层的网络参数、加法层的网络参数以及卷积层的网络参数,确定第二算子层的网络参数,包括:
基于乘法层的网络参数和加法层的网络参数,对第一权重乘积层和第一偏移累加层进行优化,得到由第二权重乘积层和第二偏移累加层构成的第二算子层;
基于第二权重乘积层的网络参数和第二偏移累加层的网络参数,确定第二算子层的网络参数。
示例性地,第二算子层的网络结构与卷积层的网络结构相同,且第二算子层的网络参数不同于卷积层的网络参数。
其中,第一权重乘积层也可以称为第一权重层,第一偏移累加层也可以称为第一偏移层,第二权重乘积层也可以称为第二权重层,第二偏移累加层也可以称为第二偏移层。
因此,在本示例中,对Mul+Add+Conv2d进行融合,可以得到一个新的Conv2d,新的Conv2d与原来Conv2d结构相同,但是网络参数不相同的。
目前有关于BN、Conv2d的融合一般是针对BN位于Conv2d之后的网络结构,这种融合方式仅需要对Conv2d的参数进行线性变换,即可将BN的参数融合到Conv2d中。但是,当BN出现在Conv2d之前时,两者的参数融合就不仅仅是线性变换。因此,针对BN+Conv2d结构的融合,具体可以采用以下函数来表示:
上述依次由乘法层、加法层和卷积层组成的第三神经网络的函数表达式可以表示为:
其中,x表示第三神经网络的输入,f3(x)表示第三神经网络的输出,Conv2d表示卷积层,BN表示批标准化层,Mul表示批标准化层中的乘法层的网络参数,Add表示批标准化层中的加法层的网络参数,W表示卷积层中的第一权重乘积层的网络参数,Bias表示卷积层中的第一偏移累加层的网络参数,W′表示第二算子层中的第二权重乘积层的网络参数,Bias′表示第二算子层中的第二偏移累加层的网络参数。
从上述BN+Conv2d结构的融合过程可知,第二算子层中的第二权重乘积层的网络参数为:W′=W·Mul。
如图3所示,中间的虚线框内容,其可以视为对Conv2d的权重weights进行线性计算,得到新的weights。
从上述BN+Conv2d结构的融合过程可知,第二算子层中的第二偏移累加层的网络参数为:其中,在图3中,Bitcast表示偏移值,Binary_mul表示乘法层的网络参数,Binary_addg表示加法层的网络参数,input表示神经网络的输入。
如图3所示,右边的虚线框内容,其可以为视为对Conv2d的偏移值进行卷积以及线性计算,得到新的Bias。
在图3中,在计算新的W`时需要对Mul进行shape变换,将不到4维的shape扩充成4维,用于匹配Conv2d的计算。在计算新的B`时需要对Add先进行shape扩充,然后按照Conv2d的卷积核尺寸进行数据广播,使其能够进行Conv2d计算。B同样需要进行shape变换,匹配Conv2d的输出shape,从而进行Binary_add计算。之后再将Binary_add的计算结果进行shape压缩,压缩为与B相同的shape,计算流程以及计算所需的操作如图3中权重Weights和偏移Bias所示。图中两部分结构还需要进行常量折叠,由于两部分的输入都是Constant,因此是可以离线计算出新的W`,B`。
如图4所示,针对新的权重weights和偏移Bias,直接设置Conv2d的网络参数,然后利用配置好的Conv2d对输入input进行处理。
其中,在本公开实施例中,模型或神经网络的输入数据或输入信息可以是图像、特征图,也可以是特征向量或矩阵。
因此,得到的优化模型的函数表达式可以表征为:
从优化模型的函数表达式可知,模型中只包括两个算子,即Binary_max算子和新的Conv2d算子,而对于Binary_max算子只需要执行两次数据搬运,一次常量搬运,对于Conv2d算子只需要执行两次数据搬运和一次常量搬运,共需要四次数据搬运,三次常量搬运。
相对于原来的网络结构,即BN+ReLU+Conv2d结构,BN需要拆分为Mul和Add,则Mul和Add各需要两次数据搬运和一次常量搬运,而对于ReLU,需要两次数据搬运,Conv2d需要两次数据搬运和两次常量搬运。因此,针对BN+ReLU+Conv2d结构,在模型部署后每个算子在计算时都需要对数据进行搬移,计算前需要从存储设备搬运到计算设备,计算以后需要将计算设备内的数据搬运到存储设备,在不进行其他优化的情况下融合前的结构在计算时总共需要进行八次数据搬运。
因此,两者相比可知,融后的结构只需要进行四次数据搬运,三次常量搬运,搬运次数减少了一半,有效减少搬运所需带宽,提高模型的数据处理速度以及资源占用率。
图5是本公开一实施例的模型优化装置的结构框图。该模型优化装置可以包括:
模型获取模块510,用于获取第一模型,所述第一模型的神经网络结构顺序依次包括批标准化层、激活层以及卷积层;
第一算子层确定模块520,用于基于所述批标准化层和所述激活层,确定第一算子层;
第二算子层确定模块530,用于基于所述批标准化层和所述卷积层,确定第二算子层;
优化模型确定模块540,用于基于所述第一算子层和所述第二算子层,确定所述第一模型的优化模型。
在一些实施例中,所述第一算子层确定模块,包括:
第一网络层拆分单元,用于对所述批标准化层进行拆分,得到乘法层和加法层;
网络层顺序调整单元,用于对依次由所述乘法层、所述加法层以及所述激活层组成的第一神经网络进行层级顺序调整,得到依次由第一算子层、所述乘法层和所述加法层组成的第二神经网络;
算子层提取单元,用于从所述第二神经网络中提取所述第一算子层,得到所述第一算子层。
在一些实施例中,所述第二算子层确定模块包括
第二网络层拆分单元,用于对所述批标准化层进行拆分,得到乘法层和加法层;
网络参数确定单元,用于基于所述乘法层的网络参数、所述加法层的网络参数以及所述卷积层的网络参数,确定所述第二算子层的网络参数。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本公开的实现。
如图6所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如模型优化方法。例如,在一些实施例中,模型优化方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的模型优化方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型优化方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程氛围灯调节装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种模型优化方法,其特征在于,包括:
获取第一模型,所述第一模型的神经网络结构顺序依次包括批标准化层、激活层以及卷积层;
基于所述批标准化层和所述激活层,确定第一算子层;
基于所述批标准化层和所述卷积层,确定第二算子层;
基于所述第一算子层和所述第二算子层,确定所述第一模型的优化模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述批标准化层和所述激活层,确定第一算子层,包括:
对所述批标准化层进行拆分,得到乘法层和加法层;
对依次由所述乘法层、所述加法层以及所述激活层组成的第一神经网络进行层级顺序调整,得到依次由第一算子层、所述乘法层和所述加法层组成的第二神经网络;
从所述第二神经网络中提取所述第一算子层,得到所述第一算子层。
3.根据权利要求2所述的方法,其特征在于,所述从所述第二神经网络中提取所述第一算子层,得到所述第一算子层,包括:
基于所述乘法层的网络参数、所述加法层的网络参数以及所述激活层的网络参数,确定所述第一算子层的网络参数。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一算子层的网络结构与所述激活层的网络结构相同,且所述第一算子层的网络参数不同于所述激活层的网络参数。
8.根据权利要求1所述的方法,其特征在于,所述基于所述批标准化层和所述卷积层,确定第二算子层,包括:
对所述批标准化层进行拆分,得到乘法层和加法层;
基于所述乘法层的网络参数、所述加法层的网络参数以及所述卷积层的网络参数,确定所述第二算子层的网络参数。
9.根据权利要求8所述的方法,其特征在于,所述卷积层包括第一权重乘积层和第一偏移累加层,所述基于所述乘法层的网络参数、所述加法层的网络参数以及所述卷积层的网络参数,确定所述第二算子层的网络参数,包括:
基于所述乘法层的网络参数和所述加法层的网络参数,对所述第一权重乘积层和所述第一偏移累加层进行优化,得到由第二权重乘积层和第二偏移累加层构成的第二算子层;
基于所述第二权重乘积层的网络参数和所述第二偏移累加层的网络参数,确定所述第二算子层的网络参数。
10.根据权利要求8所述的方法,其特征在于,所述第二算子层的网络结构与所述卷积层的网络结构相同,且所述第二算子层的网络参数不同于所述卷积层的网络参数。
12.根据权利要求11所述的方法,其特征在于,所述第二算子层中的第二权重乘积层的网络参数为:W′=W·Mul。
14.一种模型优化装置,其特征在于,包括:
模型获取模块,用于获取第一模型,所述第一模型的神经网络结构顺序依次包括批标准化层、激活层以及卷积层;
第一算子层确定模块,用于基于所述批标准化层和所述激活层,确定第一算子层;
第二算子层确定模块,用于基于所述批标准化层和所述卷积层,确定第二算子层;
优化模型确定模块,用于基于所述第一算子层和所述第二算子层,确定所述第一模型的优化模型。
15.根据权利要求14所述的装置,其特征在于,所述第一算子层确定模块,包括:
第一网络层拆分单元,用于对所述批标准化层进行拆分,得到乘法层和加法层;
网络层顺序调整单元,用于对依次由所述乘法层、所述加法层以及所述激活层组成的第一神经网络进行层级顺序调整,得到依次由第一算子层、所述乘法层和所述加法层组成的第二神经网络;
算子层提取单元,用于从所述第二神经网络中提取所述第一算子层,得到所述第一算子层。
16.根据权利要求14所述装置,其特征在于,所述第二算子层确定模块包括
第二网络层拆分单元,用于对所述批标准化层进行拆分,得到乘法层和加法层;
网络参数确定单元,用于基于所述乘法层的网络参数、所述加法层的网络参数以及所述卷积层的网络参数,确定所述第二算子层的网络参数。
17.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行权利要求1-13中任一项所述的方法。
19.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序在被处理器执行时实现根据权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211441703.9A CN115796263A (zh) | 2022-11-17 | 2022-11-17 | 模型优化方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211441703.9A CN115796263A (zh) | 2022-11-17 | 2022-11-17 | 模型优化方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115796263A true CN115796263A (zh) | 2023-03-14 |
Family
ID=85438627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211441703.9A Pending CN115796263A (zh) | 2022-11-17 | 2022-11-17 | 模型优化方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115796263A (zh) |
-
2022
- 2022-11-17 CN CN202211441703.9A patent/CN115796263A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190236453A1 (en) | Method and system for data transmission, and electronic device | |
CN112562069A (zh) | 三维模型的构造方法、装置、设备和存储介质 | |
CN114416351B (zh) | 资源分配方法、装置、设备、介质及计算机程序产品 | |
CN114065863A (zh) | 联邦学习的方法、装置、***、电子设备及存储介质 | |
CN114239853A (zh) | 模型训练方法、装置、设备、存储介质以及程序产品 | |
CN113393468A (zh) | 图像处理方法、模型训练方法、装置和电子设备 | |
CN112528995A (zh) | 用于训练目标检测模型的方法、目标检测方法及装置 | |
KR20230076115A (ko) | 이미지 처리 방법, 장치, 전자 기기 및 저장 매체 | |
CN115456167A (zh) | 轻量级模型训练方法、图像处理方法、装置及电子设备 | |
CN115222879A (zh) | 一种模型减面处理方法、装置、电子设备及存储介质 | |
CN114092708A (zh) | 特征图像的处理方法、装置和存储介质 | |
CN113361717A (zh) | 量子态数据处理模型的训练方法、装置、电子设备及介质 | |
CN117540625A (zh) | 海浪数值预报数据订正模型的训练方法、装置 | |
CN113344213A (zh) | 知识蒸馏方法、装置、电子设备及计算机可读存储介质 | |
CN112560936A (zh) | 模型并行训练方法、装置、设备、存储介质和程序产品 | |
CN116596750A (zh) | 一种点云处理方法、装置、电子设备及存储介质 | |
CN116452861A (zh) | 目标模型训练方法、装置及电子设备 | |
US20240265687A1 (en) | Method of fusing image feature, electronic device, and storage medium | |
CN115796263A (zh) | 模型优化方法、装置、电子设备及存储介质 | |
CN113554057B (zh) | 图的分割方法、装置及电子设备 | |
CN113159318B (zh) | 一种神经网络的量化方法、装置、电子设备及存储介质 | |
CN114897147A (zh) | 骨干网络的生成方法、装置、设备以及存储介质 | |
CN114882313A (zh) | 生成图像标注信息的方法、装置、电子设备及存储介质 | |
CN114429211A (zh) | 用于生成信息的方法、装置、设备、介质和产品 | |
CN114078184A (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 |