CN112101543A - 神经网络模型确定方法、装置、电子设备及可读存储介质 - Google Patents
神经网络模型确定方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112101543A CN112101543A CN202010748015.1A CN202010748015A CN112101543A CN 112101543 A CN112101543 A CN 112101543A CN 202010748015 A CN202010748015 A CN 202010748015A CN 112101543 A CN112101543 A CN 112101543A
- Authority
- CN
- China
- Prior art keywords
- neural network
- parameters
- initial model
- parameter
- model
- 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
- 238000003062 neural network model Methods 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000013139 quantization Methods 0.000 claims abstract description 179
- 238000009826 distribution Methods 0.000 claims abstract description 144
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000012549 training Methods 0.000 claims description 16
- 239000006185 dispersion Substances 0.000 claims description 13
- 238000007667 floating Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 abstract description 14
- 230000010365 information processing Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提供一种神经网络模型确定方法、装置、电子设备及可读存储介质,涉及信息处理技术领域。该方法包括:获取神经网络模型中的初始模型参数;确定所述初始模型参数所对应的数学分布;根据所述数学分布,确定所述初始模型参数对应的量化参数;利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型。本方案中考虑了模型参数的数学分布,这样可兼顾各层网络中的模型参数的一些数学规律,使得可以将模型参数量化在一个合理范围内,进而可在减少模型参数的存储空间,提高神经网络模型的计算速率的同时,也可以使得更新后的神经网络模型的精度得到相应提高。
Description
技术领域
本申请涉及信息处理技术领域,具体而言,涉及一种神经网络模型确定方法、装置、电子设备及可读存储介质。
背景技术
随着神经网络相关技术研究的迅速发展,相关领域内涌现了大批与神经网络相关的技术,如应用于视觉领域的卷积神经网络和应用于语音识别或自然语言处理领域的递归神经网络等,这些神经网络技术均极大地提高了相应领域的处理精度。
神经网络模型的参数通常在百万、千万或上亿数量级,因此对计算和存储设备的要求较高。特别是在神经网络模型被部署到移动终端应用,比如门禁系统、商场监控、地铁口、手机等,需要耗费移动终端太多的计算资源和内存,所以,为了得到更有效率以及能够部署在移动终端的网络,神经网络的压缩算法成了一个研究热点。主要的网络压缩途径一般有量化、剪枝、低秩分解等。
其中,量化是指将浮点型的网络参数转换为整数型的网络参数,以此可减少参数的存储空间,而现有技术中的量化方式主要是基于网络参数的幅度范围来进行量化,这种方式量化获得的模型参数虽然可以减少参数的存储空间,提高神经网络的计算速率,但是同时也使得神经网络模型的精度较低。
发明内容
本申请实施例的目的在于提供一种神经网络模型确定方法、装置、电子设备及可读存储介质,用以改善现有技术中在减少模型参数存储空间,提升神经网络模型计算速率的同时,使得神经网络模型的精度较低的问题。
第一方面,本申请实施例提供了一种神经网络模型确定方法,所述方法包括:
获取神经网络模型中的初始模型参数;
确定所述初始模型参数所对应的数学分布;
根据所述数学分布,确定所述初始模型参数对应的量化参数;
利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型。
在上述实现过程中,通过根据神经网络模型中的初始模型参数所对应的数学分布,确定对应的量化参数,然后利用量化参数对初始模型参数进行量化,得到更新后的神经网络模型,如此本方案中考虑了模型参数的数学分布,这样可兼顾各层网络中的模型参数的一些数学规律,使得量化后的模型参数在一个合理范围内,进而可在减少模型参数的存储空间,提高神经网络模型的计算速率的同时,也可以使得更新后的神经网络模型的精度得到相应提高。
可选地,所述根据所述数学分布,确定所述初始模型参数对应的量化参数,包括:
根据所述数学分布,确定所述神经网络模型的目标网络层中的初始模型参数之间的离散程度;
基于所述离散程度确定所述目标网络层的初始模型参数对应的量化参数。
在上述实现过程中,通过考虑初始模型参数之间的离散程度来确定对应的量化参数,从而使得获得的量化参数更合理,进而可将模型参数量化到一个合理范围内。
可选地,所述确定所述神经网络模型的目标网络层中的初始模型参数之间的离散程度,包括:
计算获得所述神经网络模型的目标网络层中的初始模型参数之间的标准差,所述标准差用于表征所述离散程度。
可选地,所述基于所述离散程度确定所述目标网络层的初始模型参数对应的量化参数,包括:
计算所述初始模型参数之间的标准差与预设系数之间的乘积,获得第一数值;
将所述第一数值确定为所述目标网络层的初始模型参数对应的量化参数。
在上述实现过程中,通过预设系数可对标准差进行相应调节,从而可获得一个更为合理的量化参数。
可选地,所述根据所述数学分布,确定所述初始模型参数对应的量化参数,包括:
根据所述数学分布,确定所述神经网络模型的目标网络层中的初始模型参数的均值;
基于所述均值确定所述目标网络层的初始模型参数对应的量化参数。
在上述实现过程中,通过考虑初始模型参数之间的均值来确定对应的量化参数,从而使得获得的量化参数更合理,进而可将模型参数量化到一个合理范围内。
可选地,所述均值为所述初始模型参数的绝对值均值,所述基于所述均值确定所述目标网络层的初始模型参数对应的量化参数,包括:
计算所述均值与预设系数之间的乘积,获得第二数值;
将所述第二数值确定为所述目标网络层的初始模型参数对应的量化参数。
在上述实现过程中,通过预设系数可对均值进行相应调节,从而可获得一个更为合理的量化参数。
可选地,所述神经网络模型的各个网络层的初始模型参数所对应的数学分布不同,这样可针对不同网络层的初始模型参数获得不同的量化参数,从而可将不同网络层的初始模型参数分别量化到一个更合理的范围内。
可选地,所述初始模型参数为权重类型参数、中间结果类型参数或输出值类型参数,对于不同类型的初始模型参数所对应的数学分布不同,这样针对不同类型的初始模型参数对应的量化参数的计算方式可以不同,从而可针对不同类型的初始模型参数获得更理解的量化参数。
可选地,所述初始模型参数为浮点型参数,所述利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型,包括:
基于所述量化参数将对应的网络中每个初始模型参数转换为整数型参数,得到更新后的神经网络模型,所述整数型参数为量化后的模型参数。
在上述实现过程中,利用量化参数将浮点型的模型参数量化为整数型的模型参数,如此可减少参数的存储空间,提高神经网络模型的计算速率。
可选地,所述得到更新后的神经网络模型,还包括:
对更新后的神经网络模型进行训练,获得训练后的神经网络模型,从而可进一步提高神经网络模型的训练精度。
可选地,所述数学分布包括正态分布、半正态分布、伯努利分布、二项分布、多项分布中的至少一种。
第二方面,本申请实施例提供了一种神经网络模型确定装置,所述装置包括:
模型参数获取模块,用于获取神经网络模型中的初始模型参数;
数学分布确定模块,用于确定所述初始模型参数所对应的数学分布;
量化参数获取模块,用于根据所述数学分布,确定所述初始模型参数对应的量化参数;
模型确定模块,用于利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型。
可选地,所述量化参数获取模块,用于根据所述数学分布,确定所述神经网络模型的目标网络层中的初始模型参数之间的离散程度;基于所述离散程度确定所述目标网络层的初始模型参数对应的量化参数。
可选地,所述量化参数获取模块,用于计算获得所述神经网络模型的目标网络层中的初始模型参数之间的标准差,所述标准差用于表征所述离散程度。
可选地,所述量化参数获取模块,用于计算所述初始模型参数之间的标准差与预设系数之间的乘积,获得第一数值;将所述第一数值确定为所述目标网络层的初始模型参数对应的量化参数。
可选地,所述量化参数获取模块,用于根据所述数学分布,确定所述神经网络模型的目标网络层中的初始模型参数的均值;基于所述均值确定所述目标网络层的初始模型参数对应的量化参数。
可选地,所述均值为所述初始模型参数的绝对值均值,所述量化参数获取模块,用于计算所述均值与预设系数之间的乘积,获得第二数值;将所述第二数值确定为所述目标网络层的初始模型参数对应的量化参数。
可选地,所述神经网络模型的各个网络层的初始模型参数所对应的数学分布不同。
可选地,所述初始模型参数为权重类型参数、中间结果类型参数或输出值类型参数,对于不同类型的初始模型参数所对应的数学分布不同。
可选地,所述初始模型参数为浮点型参数,所述模型确定模块,用于基于所述量化参数将对应的网络中每个初始模型参数转换为整数型参数,得到更新后的神经网络模型,所述整数型参数为量化后的模型参数。
可选地,所述装置还包括:
模型训练模块,用于对更新后的神经网络模型进行训练,获得训练好的神经网络模型。
可选地,所述数学分布包括正态分布、半正态分布、伯努利分布、二项分布、多项分布中的至少一种。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种用于执行神经网络模型确定方法的电子设备的结构示意图;
图2为本申请实施例提供的一种神经网络模型确定方法的流程图;
图3为本申请实施例提供的一种神经网络模型确定装置的结构框图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
随着神经网络模型的网络层数的增加,神经网络模型的参数也越来越多,这就使得对神经网络模型的存储空间要求较大。在神经网络模型的一些应用场景下,为了尽量减少神经网络模型所占据的存储空间,可以对神经网络模型进行压缩。例如,在神经网络模型部署到一些存储空间相对不是很大的终端设备时,由于神经网络模型的运行就需要占据终端太多的存储空间,所以就使得终端无法为其他处理流程提供足够的存储空间。因此,为了便于神经网络模型部署在终端时其所占据的存储空间能尽量少,则可以采用对模型参数进行量化的方式来对神经网络模型进行压缩,以实现神经网络模型在终端上所占据的存储空间尽可能的少的效果,从而可为终端预留较多的存储空间给其他处理流程。
本申请实施例提供一种神经网络模型确定方法,通过根据神经网络模型中的初始模型参数所对应的数学分布,确定对应的量化参数,然后利用量化参数对初始模型参数进行量化,得到更新后的神经网络模型,如此本方案中考虑了模型参数的数学分布,这样可兼顾各层网络中的模型参数的一些数学规律,使得量化后的模型参数在一个合理范围内,进而可在减少模型参数的存储空间,提高神经网络模型的计算速率的同时,也可以使得更新后的神经网络模型的精度得到相应提高。
请参照图1,图1为本申请实施例提供的一种用于执行神经网络模型确定方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器110,例如CPU,至少一个通信接口120,至少一个存储器130和至少一个通信总线140。其中,通信总线140用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口120用于与其他节点设备进行信令或数据的通信。存储器130可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器130可选的还可以是至少一个位于远离前述处理器的存储装置。存储器130中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器110执行时,电子设备执行下述图2所示方法过程,例如,存储器130可用于存储神经网络模型中的初始模型参数,处理器110在对初始模型参数进行量化时,可从存储器130中获取初始模型参数,然后确定这些初始模型参数所对应的数学分布,然后根据数学分布确定对应的量化参数,再利用量化参数对初始模型参数进行量化处理,获得量化后的模型参数,量化后的模型参数以及获得的更新后的神经网络模型也可存储于存储器130中。
该电子设备可以是终端设备或者服务器,在神经网络模型部署在终端设备时,电子设备即为终端设备,在神经网络模型部署在服务器时,电子设备即为服务器,当然在神经网络模型部署在终端设备时,电子设备也可为服务器,此时服务器可以与终端设备通过网络进行通信,终端设备可将获取的模型参数发送给服务器,由服务器对模型参数进行量化处理,并将量化后的模型参数返回给终端设备。
可以理解,图1所示的结构仅为示意,所述电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,图2为本申请实施例提供的一种神经网络模型确定方法的流程图,该方法包括如下步骤:
步骤S110:获取神经网络模型中的初始模型参数。
在具体实现过程中,可以对神经网络模型的各个网络层进行遍历,以获取各个网络层的初始模型参数。例如,可以按照从神经网络模型的输入到输出的顺序,依次对网络深度较浅的网络层到网络深度较深的网络层进行遍历,即从前往后的顺序逐层遍历;或者也可以从神经网络模型的输出到输入的顺序,依次对网络深度较深的网络层到网络深度较浅的网络层进行遍历,即从后往前的顺序逐层遍历,如此可遍历获得各个网络层的初始模型参数。
其中,初始模型参数的参数类型包括但不限于:权重(如卷积层包括的参数)、中间结果(如特征图、特征向量等)、输出值等。
步骤S120:确定所述初始模型参数所对应的数学分布。
由于神经网络模型的初始模型参数默认是浮点型,其可能包含较长的小数位数,导致其存储时占据的内存空间较大,所以,为了减少参数所占据的内存空间,提高神经网络模型的计算速率,则可以对每个初始模型参数进行量化处理。其中,对初始模型参数进行量化是指将浮点型参数转换为某个取值范围内的整数型参数。虽然转换成整数型参数后其模型参数的存储空间相应减少了,但是神经网络模型的精度也相应降低了,因此,本申请实施例中为了确保在减少参数存储空间的同时也确保神经网络模型的精度较高,可以考虑初始模型参数所对应的数学分布来获得一个较为合理的量化参数,即可以先确定初始模型参数所对应的数学分布。
上述的数学分布可以是预先设定的,如数学分布可以包括正态分布、半正态分布、伯努利分布、二项分布、多项分布等中的至少一种,在发明人经过多次实践后,发现对于在基于初始模型参数符合不同的数学分布确定的量化参数,其量化后的神经网络模型的精度也不同,但是相比于现有技术,其神经网络模型的精度均有所提高。所以,可以根据需求设定相应初始模型参数所符合的数学分布即可,可以理解地,数学分布还可以包括其他数学分布,如泊松分布等。
在一些实施方式中,初始模型参数是指神经网络模型中所有网络层的参数,这些参数均可以符合一个统一的数学分布,如这些参数均可以符合正态分布或半正态分布等。
在这种实施方式中,用户可在电子设备中输入初始模型参数所对应的数学分布,如正态分布,这样电子设备在获得神经网络模型中的初始模型参数后,即可确定初始模型参数所对应的数学分布为正态分布。或者,电子设备也可以预先存储有初始模型参数所对应的数学分布,如预先存储有初始模型参数所对应的数学分布为正态分布,这样电子设备可在获得初始模型参数后查找该神经网络模型的初始模型参数所对应的数学分布即可,从而即可确定初始模型参数所对应的数学分布。
在一些实施方式中,神经网络模型的各个网络层的初始模型参数所对应的数学分布也可以不同也可以部分相同,如针对第一个网络层的初始模型参数,其所对应的数学分布为正态分布,针对第二个网络层的初始模型参数,其所对应的数学分布为半正态分布,针对第三个网络层的初始模型参数,其所对应的数学分布为正态分布等。也即神经网络模型中各个网络层的初始模型参数所对应的数学分布可以部分相同,部分不相同,这样即可针对不同网络层的初始模型参数获得不同的量化参数,从而可将不同网络层的初始模型参数分别量化到一个更合理的范围内。
在这种实施方式中,可预先针对每个网络层的初始模型参数设置对应的数学分布,这样电子设备在依次获得神经网络模型中各个网络层的初始模型参数后,可确定每个网络层的初始模型参数所对应的数学分布。
在一些实施方式中,神经网络模型可以包括多种类型的模型参数,如为权重类型参数、中间结果类型参数和输出值类型参数,所以,初始模型参数可以为权重类型参数、中间结果类型参数或输出值类型参数。对于不同类型的初始模型参数所对应的数学分布也可以不同,如初始模型参数中的权重类型参数其所对应的数学分布为正态分布,中间结果类型参数所对应的数学分布为半正态分布,输出值类型参数所对应的数学分布为二项分布等。
在这种实施方式中,电子设备在获得初始模型参数后,可对初始模型参数的参数类型进行识别,然后查找该参数类型对应的数学分布,从而可确定初始模型参数所对应的数学分布。
可以理解地,上述初始模型参数所对应的数学分布可以理解为是假设初始模型参数符合某种数学分布,并不是实际上初始模型参数符合某种数学分布。这样在基于初始模型参数符合的数学分布来计算量化参数,可以使得计算出的量化参数与初始模型参数更贴合,且获得的量化参数更为合理,从而在对初始模型参数进行量化后,可以使得初始模型参数的数值不会改变太多,使得量化后的模型参数在一个合理范围内,进而在减小参数存储空间的同时也提高了神经网络模型的精度。
步骤S130:根据所述数学分布,确定所述初始模型参数对应的量化参数。
其中,量化参数可以理解为是初始模型参数的一个量化范围或者量化标准等,即利用量化参数可以将初始模型参数量化到一个合适的范围内。
由于基于初始模型参数所对应的数学分布获得的量化参数的数值与初始模型参数的数值相关,所以对于神经网络模型中的初始模型参数会获得一个对应的量化参数。
步骤S140:利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型。
在上述获得量化参数后,可利用量化参数对每个初始模型参数进行量化处理,从而可获得量化后的各个模型参数,这样即可获得更新后的神经网络模型,更新后的神经网络模型中的模型参数为对初始模型参数进行量化后的模型参数。
在上述实现过程中,通过根据神经网络模型中的初始模型参数所对应的数学分布,确定对应的量化参数,然后利用量化参数对初始模型参数进行量化,得到更新后的神经网络模型,如此本方案中考虑了模型参数的数学分布,这样可兼顾各层网络中的模型参数的一些数学规律,使得量化后的模型参数在一个合理范围内,进而可在减少模型参数的存储空间,提高神经网络模型的计算速率的同时,也可以使得更新后的神经网络模型的精度得到相应提高。
上述在确定量化参数时,为了获得更为合理的量化参数,可以针对每个网络层来确定对应的量化参数,即针对每个网络层可获得一个量化参数,每个网络层对应的量化参数可能不同,针对目标网络层的初始模型参数,均利用各个网络层对应的量化参数进行量化处理,量化处理后获得的量化参数相比于初始模型参数的存储空间会更小。
在一些实施方式中,在上述根据数学分布获得量化参数的过程可以为:根据数学分布,确定神经网络模型的目标网络层中的初始模型参数之间的离散程度,然后基于该离散程度确定目标网络层的初始模型参数对应的量化参数。
其中,目标网络层可以是指神经网络模型中的任意一个网络层,针对每个网络层的量化参数的获取方式均可以以上述方式获得。也即,为了描述的方便,该实施方式中以对目标网络层的初始模型参数的量化参数的获取方式为例。
初始模型参数之间的离散程度可以用方差或标准差来表征,在离散程度用标准差来表征时,可以计算获得目标网络层中的初始模型参数之间的标准差,然后基于标准差来确定对应的量化参数。
其标准差的计算公式如下所示:
其中,SD表示标准差,N表示目标网络层中的初始模型参数的数量,xi表示初始模型参数,μ表示初始模型参数的均值。
若离散程度以方差来表示,则可计算目标网络层的初始模型参数之间的方差,然后基于方差确定目标网络层的初始模型参数对应的量化参数。
其中,方差的计算公式如下所示:
其中,S表示方差,N表示目标网络层中的初始模型参数的数量,xi表示初始模型参数,μ表示初始模型参数的均值。
在一些实施方式中,在获得初始模型参数之间的标准差或方差后,可以直接将标准差或方差作为量化参数。
或者在一些情况中,若直接将标准差或方差作为量化参数对参数进行量化可能不合理,所以,还可以对量化参数进行相应的处理,如计算初始模型参数之间的标准差或方差与预设系数之间的乘积,获得第一数值,将第一数值确定目标网络层的初始模型参数对应的为量化参数,通过预设系数可对标准差进行相应调节,从而可获得一个更为合理的量化参数。
其中,预设系数可以根据实际需求灵活设置,如0.9或0.8等。
在上述实现过程中,通过考虑初始模型参数之间的离散程度来确定对应的量化参数,从而使得获得的量化参数更合理,进而可将模型参数量化到一个合理范围内。
可以理解地,上述确定量化参数的方式可以是针对神经网络模型中网络层的初始模型参数所对应的数学分布为正态分布的情况,当然,对于其他数学分布,如半正态分布、多项分布等,也可以采用上述方式获得量化参数(即基于标准差获得量化参数)。这种方式中,每个网络层的初始模型参数均可获得一个对应的量化参数,而在进行参数量化时,是利用每个网络层对应的量化参数对各自网络层的初始模型参数进行量化处理。
而针对神经网络模型中的所有初始模型参数确定对应的量化参数时,其计算的量化参数的方式也可以如上述实施例所示,即可以获取所有初始模型参数之间的标准差,将标准差乘以预设系数获得的数值作为量化参数,此时所有的初始模型参数均对应一个量化参数,即对于每个网络层的初始模型参数均利用该量化参数进行量化处理。
对于不同参数类型的初始模型参数的量化参数获取方式也可如上述实施例所示,即对于某种参数类型的初始模型参数,也可获取该类型的初始模型参数之间的标准差,然后将标准差乘以预设系数获得的数值作为量化参数,然后对于该类型的初始模型参数均可利用该量化参数进行量化处理。这种方式下,对于每种类型的初始模型参数均可各自获得一个量化参数。
作为另外一种实施方式,上述根据数学分布,确定对应的量化参数的方式还可以为:根据数学分布,确定神经网络模型的目标网络层中的初始模型参数的均值,基于该均值确定目标网络层的初始模型参数对应的量化参数。
其中,在一些实施方式中,可以直接将均值作为量化参数。该均值也可以是指初始模型参数的绝对值的均值,该绝对值的均值也可以作为量化参数。
或者,也可以计算均值与预设系数之间的乘积,获得第二数值,将第二数值确定为目标网络层的初始模型参数对应的量化参数。通过预设系数可对均值进行相应调节,从而可获得一个更为合理的量化参数。
其中,该预设系数与上述实施例中的预设系数可以相同,也可以不同,其也可以根据实际需求灵活设定,如0.9或0.8等。
在上述实现过程中,通过考虑初始模型参数之间的均值来确定对应的量化参数,从而使得获得的量化参数更合理,进而可将模型参数量化到一个合理范围内。
可以理解地,上述确定量化参数的方式可以是针对神经网络模型中网络层的初始模型参数所对应的数学分布为半正态分布的情况,当然,对于其他数学分布,如正态分布、多项分布等,也可以采用上述方式获得量化参数(即基于均值获得量化参数)。对于其他网络层的初始模型参数所对应的数学分布为其他分布,如上述的正态分布时,可参照上述实施例中基于标准差来获得量化参数的方式。
而针对神经网络模型中的所有初始模型参数时,其计算的量化参数的方式也如上述实施例所示,即可以获取所有初始模型参数之间的绝对值均值,将绝对值均值乘以预设系数获得的数值作为量化参数,此时所有的初始模型参数均对应一个量化参数,即对于每个网络层的初始模型参数均利用该量化参数进行量化处理。
对于不同参数类型的初始模型参数的量化参数获取方式也可如上述实施例所示,即对于某种参数类型的初始模型参数时,也可获取该类型的初始模型参数之间的绝对值均值,然后将绝对值均值乘以预设系数获得的数值作为量化参数,然后对于该类型的初始模型参数均可利用该量化参数进行量化处理。这种方式下,对于每种类型的初始模型参数均可各自获得一个量化参数。
可以理解地,对于初始模型参数所对应的数学分布为其他分布时,如二项分布等,其获取初始模型参数对应的量化参数也可以为其他方式,在实际应用中,可以根据初始模型参数所对应的不同的数学分布,来确定对应的量化参数的获取方式即可,也即可以预先设置针对不同的数学分布,设置每个数学分布对应的量化参数的计算方式,其每个数学分布对应的量化参数的计算方式可以不同,也可以某几个数学分布对应的量化参数的计算方式相同,其可以根据实际情况灵活设置。
如此,可以按照上述方式获得的量化参数后,可利用量化参数对初始模型参数进行量化处理,则可将初始模型参数量化到一个合适范围内,使得量化后的神经网络模型拥有更高的精度。
在一些实施方式中,初始模型参数为浮点型参数,利用量化参数对初始模型参数进行量化处理的过程可以为:基于量化参数将对应的网络中每个初始模型参数转换为整数型参数,得到更新后的神经网络模型,该整数型参数即为量化后的模型参数。
在具体实现过程中,其量化的方式可以为:取整(初始模型参数/量化参数*bit位数),例如,若某个初始模型参数为0.95,量化到8bit,则取量化范围为[-128,127],若量化参数也为0.95,则获得量化后的模型参数对应的整数型参数为1,将其转换为8bit,即为00000001,若量化参数为0.05,则量化后的模型参数对应的整数型参数为19,将其转换为8bit,即为00010011。
需要说明的是,在其他实施例中,其量化的方式,也可以是初始模型参数*量化参数*bit位数,可以根据不同实际需求,设定不同的量化方式。当然,也可以针对不同类型的初始模型参数设定不同的量化方式,或者针对各个网络层的初始模型参数设定不同的量化方式。
另外需要说明的是,上述的比特位数根据需量化的整数型数据的比特位数确定的,其也可以根据用户的需求设定。
可以理解地,初始模型参数为浮点型数据,量化后的模型参数为整数型数据,由于浮点型数据可以记录小数点之后的数据信息,因而使得神经网络模型具有更高的精度,而整数型数据由于不记录小数点之后的数据信息,因此可以占用更少的存储空间,且神经网络模型利用整数型数据进行计算时,计算速度更快,并且本申请中通过上述的参数量化方式,将模型参数量化到合理的范围内,使得神经网络模型的精度也相对有所提高。
另外,上述的初始模型参数可以是在神经网络模型训练过程中获得的,也可以是在神经网络模型训练完成之后获得的。若是在神经网络模型训练过程中获得的,在获得量化后的模型参数后,为了提高神经网络模型的训练精度,获得更为准确的训练结果,则还可以再将量化后的模型参数再转换为对应的浮点型数据然后参与模型训练,如将上述的整数型数据1转换为浮点型数据为1.000,这样可有助于提高神经网络模型在训练过程中的训练精度。
若初始模型参数是在神经网络模型训练之后获得的,为了进一步提高神经网络模型的训练精度,还可以对更新后的神经网络模型进行训练,获得训练好的神经网络模型,即对神经网络模型重新进行训练,从而可提高训练得到的神经网络模型的性能。获得的训练好的神经网络模型可应用于各种应用场景下,如图像识别、车辆检测、智能监控等场景。
若是上述方法由服务器执行,则在对参数量化后的神经网络模型进行训练后,可以将获得的训练好的神经网络模型发送至终端设备,从而可以将占据存储空间较少的神经网络模型部署在终端设备,进而可满足在终端设备部署神经网络模型的需求。
请参照图3,图3为本申请实施例提供的一种神经网络模型确定装置200的结构框图,该装置200可以是电子设备上的模块、程序段或代码。应理解,该装置200与上述图2方法实施例对应,能够执行图2方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,所述装置200包括:
模型参数获取模块210,用于获取神经网络模型中的初始模型参数;
数学分布确定模块230,用于确定所述初始模型参数所对应的数学分布;
量化参数获取模块230,用于根据所述数学分布,确定所述初始模型参数对应的量化参数;
模型确定模块240,用于利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型。
可选地,所述量化参数获取模块230,用于根据所述数学分布,确定所述神经网络模型的目标网络层中的初始模型参数之间的离散程度;基于所述离散程度确定所述目标网络层的初始模型参数对应的量化参数。
可选地,所述量化参数获取模块230,用于计算获得所述神经网络模型的目标网络层中的初始模型参数之间的标准差,所述标准差用于表征所述离散程度。
可选地,所述量化参数获取模块230,用于计算所述初始模型参数之间的标准差与预设系数之间的乘积,获得第一数值;将所述第一数值确定为所述目标网络层的初始模型参数对应的量化参数。
可选地,所述量化参数获取模块230,用于根据所述数学分布,确定所述神经网络模型的目标网络层中的初始模型参数的均值;基于所述均值确定所述目标网络层的初始模型参数对应的量化参数。
可选地,所述均值为所述初始模型参数的绝对值均值,所述量化参数获取模块230,用于计算所述均值与预设系数之间的乘积,获得第二数值;将所述第二数值确定为所述目标网络层的初始模型参数对应的量化参数。
可选地,所述神经网络模型的各个网络层的初始模型参数所对应的数学分布不同。
可选地,所述初始模型参数为权重类型参数、中间结果类型参数或输出值类型参数,对于不同类型的初始模型参数所对应的数学分布不同。
可选地,所述初始模型参数为浮点型参数,所述模型确定模块240,用于基于所述量化参数将对应的网络中每个初始模型参数转换为整数型参数,得到更新后的神经网络模型,所述整数型参数为量化后的模型参数。
可选地,所述装置200还包括:
模型训练模块,用于对更新后的神经网络模型进行训练,获得训练好的神经网络模型。
可选地,所述数学分布包括正态分布、半正态分布、伯努利分布、二项分布、多项分布中的至少一种。
本申请实施例提供一种可读存储介质,所述计算机程序被处理器执行时,执行如图2所示方法实施例中电子设备所执行的方法过程。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:获取神经网络模型中的初始模型参数;确定所述初始模型参数所对应的数学分布;根据所述数学分布,确定所述初始模型参数对应的量化参数;利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型。
综上所述,本申请实施例提供一种神经网络模型确定方法、装置、电子设备及可读存储介质,通过根据神经网络模型中的初始模型参数所对应的数学分布,确定对应的量化参数,然后利用量化参数对初始模型参数进行量化,得到更新后的神经网络模型,如此本方案中考虑了模型参数的数学分布,这样可兼顾各层网络中的模型参数的一些数学规律,使得量化后的模型参数在一个合理范围内,进而可在减少模型参数的存储空间,提高神经网络模型的计算速率的同时,也可以使得更新后的神经网络模型的精度得到相应提高。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种神经网络模型确定方法,其特征在于,所述方法包括:
获取神经网络模型中的初始模型参数;
确定所述初始模型参数所对应的数学分布;
根据所述数学分布,确定所述初始模型参数对应的量化参数;
利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数学分布,确定所述初始模型参数对应的量化参数,包括:
根据所述数学分布,确定所述神经网络模型的目标网络层中的初始模型参数之间的离散程度;
基于所述离散程度确定所述目标网络层的初始模型参数对应的量化参数。
3.根据权利要求2所述的方法,其特征在于,所述确定所述神经网络模型的目标网络层中的初始模型参数之间的离散程度,包括:
计算获得所述神经网络模型的目标网络层中的初始模型参数之间的标准差,所述标准差用于表征所述离散程度。
4.根据权利要求2或3所述的方法,其特征在于,所述基于所述离散程度确定所述目标网络层的初始模型参数对应的量化参数,包括:
计算所述初始模型参数之间的标准差与预设系数之间的乘积,获得第一数值;
将所述第一数值确定为所述目标网络层的初始模型参数对应的量化参数。
5.根据权利要求1所述的方法,其特征在于,所述根据所述数学分布,确定所述初始模型参数对应的量化参数,包括:
根据所述数学分布,确定所述神经网络模型的目标网络层中的初始模型参数的均值;
基于所述均值确定所述目标网络层的初始模型参数对应的量化参数。
6.根据权利要求5所述的方法,其特征在于,所述均值为所述初始模型参数的绝对值均值,所述基于所述均值确定所述目标网络层的初始模型参数对应的量化参数,包括:
计算所述均值与预设系数之间的乘积,获得第二数值;
将所述第二数值确定为所述目标网络层的初始模型参数对应的量化参数。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述神经网络模型的各个网络层的初始模型参数所对应的数学分布不同。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述初始模型参数为权重类型参数、中间结果类型参数或输出值类型参数,不同类型的初始模型参数所对应的数学分布不同。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述初始模型参数为浮点型参数,所述利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型,包括:
基于所述量化参数将对应的网络中每个初始模型参数转换为整数型参数,得到更新后的神经网络模型,所述整数型参数为量化后的模型参数。
10.根据权利要求1-8任一项所述的方法,其特征在于,所述得到更新后的神经网络模型之后,还包括:
对更新后的神经网络模型进行训练,获得训练后的神经网络模型。
11.根据权利要求1-8任一项所述的方法,其特征在于,所述数学分布包括正态分布、半正态分布、伯努利分布、二项分布、多项分布中的至少一种。
12.一种神经网络模型确定装置,其特征在于,所述装置包括:
模型参数获取模块,用于获取神经网络模型中的初始模型参数;
数学分布确定模块,用于确定所述初始模型参数所对应的数学分布;
量化参数获取模块,用于根据所述数学分布,确定所述初始模型参数对应的量化参数;
模型确定模块,用于利用所述量化参数对所述神经网络模型中的所述初始模型参数进行量化处理,得到更新后的神经网络模型。
13.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-11任一所述的方法。
14.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-11任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010748015.1A CN112101543A (zh) | 2020-07-29 | 2020-07-29 | 神经网络模型确定方法、装置、电子设备及可读存储介质 |
PCT/CN2021/075472 WO2022021834A1 (zh) | 2020-07-29 | 2021-02-05 | 神经网络模型确定方法、装置、电子设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010748015.1A CN112101543A (zh) | 2020-07-29 | 2020-07-29 | 神经网络模型确定方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112101543A true CN112101543A (zh) | 2020-12-18 |
Family
ID=73749884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010748015.1A Pending CN112101543A (zh) | 2020-07-29 | 2020-07-29 | 神经网络模型确定方法、装置、电子设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112101543A (zh) |
WO (1) | WO2022021834A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113850374A (zh) * | 2021-10-14 | 2021-12-28 | 安谋科技(中国)有限公司 | 神经网络模型的量化方法、电子设备及介质 |
WO2022021834A1 (zh) * | 2020-07-29 | 2022-02-03 | 北京迈格威科技有限公司 | 神经网络模型确定方法、装置、电子设备、介质及产品 |
WO2022246986A1 (zh) * | 2021-05-27 | 2022-12-01 | 腾讯云计算(北京)有限责任公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110363279B (zh) * | 2018-03-26 | 2021-09-21 | 华为技术有限公司 | 基于卷积神经网络模型的图像处理方法和装置 |
US11538143B2 (en) * | 2018-10-26 | 2022-12-27 | Nec Corporation | Fully convolutional transformer based generative adversarial networks |
CN109858614B (zh) * | 2019-01-31 | 2021-06-25 | 北京市商汤科技开发有限公司 | 神经网络训练方法及装置、电子设备和存储介质 |
CN110188880A (zh) * | 2019-06-03 | 2019-08-30 | 四川长虹电器股份有限公司 | 一种深度神经网络的量化方法及装置 |
CN110363281A (zh) * | 2019-06-06 | 2019-10-22 | 上海交通大学 | 一种卷积神经网络量化方法、装置、计算机和存储介质 |
CN110414630A (zh) * | 2019-08-12 | 2019-11-05 | 上海商汤临港智能科技有限公司 | 神经网络的训练方法、卷积计算的加速方法、装置及设备 |
CN111091184B (zh) * | 2019-12-19 | 2022-03-22 | 浪潮(北京)电子信息产业有限公司 | 一种深度神经网络的量化方法、装置、电子设备及介质 |
CN112101543A (zh) * | 2020-07-29 | 2020-12-18 | 北京迈格威科技有限公司 | 神经网络模型确定方法、装置、电子设备及可读存储介质 |
-
2020
- 2020-07-29 CN CN202010748015.1A patent/CN112101543A/zh active Pending
-
2021
- 2021-02-05 WO PCT/CN2021/075472 patent/WO2022021834A1/zh active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022021834A1 (zh) * | 2020-07-29 | 2022-02-03 | 北京迈格威科技有限公司 | 神经网络模型确定方法、装置、电子设备、介质及产品 |
WO2022246986A1 (zh) * | 2021-05-27 | 2022-12-01 | 腾讯云计算(北京)有限责任公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN113850374A (zh) * | 2021-10-14 | 2021-12-28 | 安谋科技(中国)有限公司 | 神经网络模型的量化方法、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022021834A1 (zh) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112101543A (zh) | 神经网络模型确定方法、装置、电子设备及可读存储介质 | |
CN110119745B (zh) | 深度学习模型的压缩方法、装置、计算机设备及存储介质 | |
CN111488985B (zh) | 深度神经网络模型压缩训练方法、装置、设备、介质 | |
CN110175641B (zh) | 图像识别方法、装置、设备和存储介质 | |
WO2022105117A1 (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN110557633B (zh) | 图像数据的压缩传输方法、系统和计算机可读存储介质 | |
CN114449343A (zh) | 一种视频处理方法、装置、设备及存储介质 | |
EP4123595A2 (en) | Method and apparatus of rectifying text image, training method and apparatus, electronic device, and medium | |
CN113902010A (zh) | 分类模型的训练方法和图像分类方法、装置、设备和介质 | |
CN112084959A (zh) | 一种人群图像处理方法及装置 | |
CN109086819B (zh) | caffemodel模型压缩方法、系统、设备及介质 | |
CN115588192A (zh) | 细胞图像分类方法和图像分类系统、电子设备及存储介质 | |
CN113642710B (zh) | 一种网络模型的量化方法、装置、设备和存储介质 | |
CN113627361B (zh) | 人脸识别模型的训练方法、装置及计算机程序产品 | |
CN112686365B (zh) | 运行神经网络模型的方法、装置和计算机设备 | |
CN112399177A (zh) | 一种视频编码方法、装置、计算机设备及存储介质 | |
CN117746125A (zh) | 图像处理模型的训练方法、装置及电子设备 | |
CN110570877B (zh) | 手语视频生成方法、电子设备及计算机可读存储介质 | |
JP2021033994A (ja) | テキスト処理方法、装置、デバイス及びコンピュータ読み取り可能な記憶媒体 | |
CN114881227B (zh) | 模型压缩方法、图像处理方法、装置和电子设备 | |
US20200242467A1 (en) | Calculation method and calculation device for sparse neural network, electronic device, computer readable storage medium, and computer program product | |
CN112070211B (zh) | 基于计算卸载机制的图像识别方法 | |
CN114970883A (zh) | 模型量化方法、装置、电子设备和存储介质 | |
CN116644783A (zh) | 模型训练方法、对象处理方法及装置、电子设备、介质 | |
CN112561050B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201218 |