CN111950712A - 模型网络参数处理方法、设备及可读存储介质 - Google Patents
模型网络参数处理方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111950712A CN111950712A CN202010829087.9A CN202010829087A CN111950712A CN 111950712 A CN111950712 A CN 111950712A CN 202010829087 A CN202010829087 A CN 202010829087A CN 111950712 A CN111950712 A CN 111950712A
- Authority
- CN
- China
- Prior art keywords
- parameter
- model
- polarization
- value
- model 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.)
- Pending
Links
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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
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)
- Optical Communication System (AREA)
Abstract
本申请公开了一种模型网络参数处理方法、设备及可读存储介质,所述模型网络参数处理方法包括:获取训练数据和预训练模型,并将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数,对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数。本申请解决了模型网络参数处理精度低的技术问题。
Description
技术领域
本申请涉及金融科技(Fintech)的人工智能领域,尤其涉及一种模型网络参数处理方法、设备及可读存储介质。
背景技术
随着金融科技,尤其是互联网科技金融的不断发展,越来越多的技术(如分布式、区块链Blockchain、人工智能等)应用在金融领域,但金融业也对技术提出了更高的要求,如对金融业对应待办事项的分发也有更高的要求。
随着计算机软件和人工智能的不断发展,神经网络的应用领域也越来越广泛,而神经网络的模型网络参数为浮点数,进而在对模型网络参数进行存储所需的存储空间往往极大,存储之前需要对神经网络进行压缩,目前,通常通过直接训练二值神经网络,将神经网络的模型网络参数转换为二值的模型网络参数,也即,将模型网络参数转换为数值0和数值1,进而实现了对模型网络参数的压缩,然而在直接训练二值神经网络时,容易发生梯度消失,例如,当神经网络中某一神经元对应的模型参数已经训练好且为0时,则该神经元的输出将为0,进而该神经元所连接的下一神经元的输入将为0,进而该下一神经元的参数对应的梯度将为0,也即,发生了梯度消失,进而无法对该下一神经元对应的参数进行精确的更新,进而导致训练获得的二值神经网络的模型网络参数的精度较低,进而导致模型网络参数压缩的精度较低。
发明内容
本申请的主要目的在于提供一种模型网络参数处理方法、设备及可读存储介质,旨在解决现有技术中模型网络参数压缩精度低的技术问题。
为实现上述目的,本申请提供一种模型网络参数处理方法,所述模型网络参数处理方法应用于模型网络参数处理设备,所述模型网络参数处理方法包括:
获取训练数据和预训练模型,并将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数;
对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数。
可选地,所述训练数据至少包括一个训练样本,所述预设极化损失总函数包括原任务损失函数和极化损失函数,
所述将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数的步骤包括:
获取所述预训练模型的当前模型网络参数,并基于所述极化损失函数和所述当前模型网络参数,计算参数极化损失;
基于所述预训练模型,确定所述训练样本对应的模型输出值;
基于所述模型输出值和所述原任务损失函数,计算任务模型损失;
基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,获得所述极化模型网络参数。
可选地,所述基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,获得所述极化模型网络参数的步骤包括:
基于所述参数极化损失和所述任务模型损失,计算模型总损失;
判断所述模型总损失是否收敛,若所述模型总损失收敛,则判定所述预训练模型满足所述预设训练结束条件,并将所述当前模型网络参数作为所述极化模型网络参数;
若所述模型总损失未收敛,则判定所述预训练模型未满足所述预设训练结束条件,并对所述当前模型网络参数进行极化更新,获得极化更新参数;
基于所述极化更新参数,重新计算所述模型总损失,直至所述模型总损失收敛,获得极化模型网络参数。
可选地,所述对所述当前模型网络参数进行极化更新,获得极化更新参数的步骤包括:
基于所述任务模型损失,对所述当前模型网络参数进行更新,获得初始模型网络参数;
将所述初始模型网络参数裁剪至预设模型参数取值范围,获得裁剪模型网络参数;
基于所述参数极化损失,对所述裁剪模型网络参数进行极化,获得所述极化更新参数。
可选地,所述极化更新参数包括极化参数和非极化参数,
所述基于所述参数极化损失,对所述裁剪模型网络参数进行极化,获得所述极化更新参数的步骤包括:
基于预设参数取值范围,对所述裁剪模型网络参数进行划分,获得待极化参数和所述非极化参数;
基于所述参数极化损失,对所述待极化参数进行极化,获得所述极化参数。
可选地,所述目标压缩参数包括二值哈希编码值,
所述对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数的步骤包括:
获取所述极化模型网络参数中各第一目标比特位对应的极化标识;
基于各所述极化标识和各所述第一目标比特位在所述极化模型网络参数中的排列位置,对所述极化模型网络参数进行二值哈希编码,获得所述二值哈希编码值。
可选地,所述目标压缩参数包括三值哈希编码值,
所述对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数的步骤包括:
获取所述极化模型网络参数中各第二目标比特位上的比特位数值;
基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值。
可选地,所述预设参数取值范围包括参数上阀值和参数下阀值,所述三值哈希编码值包括第一编码值、第二编码值和第三编码值,
所述基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值的步骤包括:
将不大于所述参数下阀值的各所述比特位数值作为所述第一类型比特位数值,并生成各所述第一类型比特位数值对应的所述第一编码值;
将大于所述参数下阀值且小于所述参数上阀值的各所述比特位数值作为所述第二类型比特位数值,并生成各所述第二类型比特位数值对应的所述第二编码值;
将不小于所述参数上阀值的各所述比特位数值作为所述第三类型比特位数值,并生成各所述第三类型比特位数值对应的所述第三编码值;
基于各所述第二目标比特位在所述极化模型网络参数中的排列位置、各所述第一编码值、各所述第二编码值和各所述第三编码值,生成所述三值哈希编码值。
可选地,所述预训练模型至少包括一神经网络层,所述神经网络层至少包括一模型参数值,所述预设极化损失总函数包括极化损失函数,
在所述将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数的步骤之前,所述模型网络参数处理方法还包括:
获取各所述神经网络层分别对应的各模型参数值,并计算各所述神经网络层分别对应的各模型参数值的平均值和标准差,获得各所述神经网络层对应的参数标准差和对应的参数平均值;
基于各所述参数标准差和各所述参数平均值,构建各所述神经网络层对应的极化损失函数。
可选地,所述基于各所述参数标准差和各所述参数平均值,构建各所述神经网络层对应的极化损失函数的步骤包括:
基于各所述参数平均值,对各所述模型参数值进行标签赋予,获得各所述模型参数值对应的参数标签;
基于各所述参数标签和各所述参数标准差,构建各所述神经网络层对应的极化损失函数。
可选地,所述神经网络层至少包括一神经网络通道,所述神经网络通道至少包括一所述模型参数值,
在所述获取各所述神经网络层分别对应的各模型参数值的步骤之后,所述模型网络参数处理方法还包括:
计算各所述神经网络通道分别对应的各模型参数值的平均值和标准差,获得各所述神经网络通道对应的通道参数平均值和对应的通道参数标准差;
基于各所述通道参数平均值和各所述通道参数标准差,构建各所述神经网络通道对应的极化损失函数。
本申请还提供一种模型网络参数处理装置,所述模型网络参数处理装置为虚拟装置,且所述模型网络参数处理装置应用于模型网络参数处理设备,所述模型网络参数处理装置包括:
极化更新模块,用于获取训练数据和预训练模型,并将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数;
哈希编码模块,用于对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数。
可选地,所述极化更新模块包括:
第一计算子模块,用于获取所述预训练模型的当前模型网络参数,并基于所述极化损失函数和所述当前模型网络参数,计算参数极化损失;
确定子模块,用于基于所述预训练模型,确定所述训练样本对应的模型输出值;
第二计算子模块,用于基于所述模型输出值和所述原任务损失函数,计算任务模型损失;
极化更新子模块,用于基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,获得所述极化模型网络参数。
可选地,所述极化更新子模块包括:
计算单元,用于基于所述参数极化损失和所述任务模型损失,计算模型总损失;
第一判定单元,用于判断所述模型总损失是否收敛,若所述模型总损失收敛,则判定所述预训练模型满足所述预设训练结束条件,并将所述当前模型网络参数作为所述极化模型网络参数;
第二判定单元,用于若所述模型总损失未收敛,则判定所述预训练模型未满足所述预设训练结束条件,并对所述当前模型网络参数进行极化更新,获得极化更新参数;
迭代单元,用于基于所述极化更新参数,重新计算所述模型总损失,直至所述模型总损失收敛,获得极化模型网络参数。
可选地,所述第二判定单元包括:
更新子单元,用于基于所述任务模型损失,对所述当前模型网络参数进行更新,获得初始模型网络参数;
裁剪子单元,用于将所述初始模型网络参数裁剪至预设模型参数取值范围,获得裁剪模型网络参数;
极化子单元,用于基于所述参数极化损失,对所述裁剪模型网络参数进行极化,获得所述极化更新参数。
可选地,所述极化子单元还可用于以下步骤:
基于预设参数取值范围,对所述裁剪模型网络参数进行划分,获得待极化参数和所述非极化参数;
基于所述参数极化损失,对所述待极化参数进行极化,获得所述极化参数。
可选地,所述哈希编码模块包括:
第一获取子模块,用于获取所述极化模型网络参数中各第一目标比特位对应的极化标识;
二值哈希编码子模块,用于基于各所述极化标识和各所述第一目标比特位在所述极化模型网络参数中的排列位置,对所述极化模型网络参数进行二值哈希编码,获得所述二值哈希编码值;
可选地,所述哈希编码模块还包括:
第二获取子模块,用于获取所述极化模型网络参数中各第二目标比特位上的比特位数值;
三值哈希编码子模块,用于基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值。
可选地,所述三值哈希编码子模块包括:
第一生成单元,用于将不大于所述参数下阀值的各所述比特位数值作为所述第一类型比特位数值,并生成各所述第一类型比特位数值对应的所述第一编码值;
第二生成单元,用于将大于所述参数下阀值且小于所述参数上阀值的各所述比特位数值作为所述第二类型比特位数值,并生成各所述第二类型比特位数值对应的所述第二编码值;
第三生成单元,用于将不小于所述参数上阀值的各所述比特位数值作为所述第三类型比特位数值,并生成各所述第三类型比特位数值对应的所述第三编码值;
第四生成单元,用于基于各所述第二目标比特位在所述极化模型网络参数中的排列位置、各所述第一编码值、各所述第二编码值和各所述第三编码值,生成所述三值哈希编码值。
可选地,所述模型网络参数处理装置还包括:
第一计算模块,用于获取各所述神经网络层分别对应的各模型参数值,并计算各所述神经网络层分别对应的各模型参数值的平均值和标准差,获得各所述神经网络层对应的参数标准差和对应的参数平均值;
第一构建模块,用于基于各所述参数标准差和各所述参数平均值,构建各所述神经网络层对应的极化损失函数。
可选地,所述构建模块包括:
标签赋予子模块,用于基于各所述参数平均值,对各所述模型参数值进行标签赋予,获得各所述模型参数值对应的参数标签;
构建子模块,用于基于各所述参数标签和各所述参数标准差,构建各所述神经网络层对应的极化损失函数。
可选地,所述模型网络参数处理装置还包括:
第二计算模块,用于计算各所述神经网络通道分别对应的各模型参数值的平均值和标准差,获得各所述神经网络通道对应的通道参数平均值和对应的通道参数标准差;
第二关键模块,用于基于各所述通道参数平均值和各所述通道参数标准差,构建各所述神经网络通道对应的极化损失函数。
本申请还提供一种模型网络参数处理设备,所述模型网络参数处理设备为实体设备,所述模型网络参数处理设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述模型网络参数处理方法的程序,所述模型网络参数处理方法的程序被处理器执行时可实现如上述的模型网络参数处理方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有实现模型网络参数处理方法的程序,所述模型网络参数处理方法的程序被处理器执行时实现如上述的模型网络参数处理方法的步骤。
本申请提供了一种模型网络参数处理方法、设备和可读存储介质,相比于现有技术采用的直接训练二值神经网络,将神经网络的模型网络参数转换为二值的模型网络参数的技术手段,本申请在获取训练数据集和预训练模型之后,将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对预训练模型的模型网络参数进行极化更新,使得预训练模型中的模型网络参数远离0,获得极化模型网络参数,进而由于在训练预训练模型时,预训练模型对应的神经网络中每一神经元的参数均朝着远离于0的方向进行更新,每一神经元对应的参数不会为0,进而梯度不会消失,进而通过对极化模型网络参数进行哈希编码,以将所述极化模型网络参数压缩为低比特浮点的哈希编码值,并将哈希编码值作为目标压缩参数,即可实现对模型网络参数的压缩,进而克服了现有技术中直接训练二值神经网络,将导致梯度消失,进而导致模型网络参数压缩精度低的技术缺陷,提高了模型网络参数的压缩精度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请模型网络参数处理方法第一实施例的流程示意图;
图2为本申请模型网络参数处理方法中对极化模型网络参数进行二值哈希编码的示意图;
图3为本申请模型网络参数处理方法第二实施例的流程示意图;
图4为本申请模型网络参数处理方法中对极化模型网络参数进行三值哈希编码的示意图;
图5为本申请实施例方案涉及的硬件运行环境的设备结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种模型网络参数处理方法,在本申请模型网络参数处理方法的第一实施例中,参照图1,所述模型网络参数处理方法包括:
步骤S10,获取训练数据和预训练模型,并将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数;
在本实施例中,需要说明的是,所述预训练模型为进行过迭代训练的任务模型,所述预设极化损失总函数包括原任务损失函数和极化损失函数,其中,所述原任务损失函数为所述预训练模型的原模型任务对应的损失函数,用于在迭代训练过程中使得所述预训练模型在原模型任务上收敛,所述极化损失函数为所述预训练模型的参数极化任务对应的损失函数,用于在迭代训练过程中使得所述预训练模型在参数极化任务上收敛,其中,所述参数极化任务为对预训练模型的模型网络参数进行极化,使得模型网络参数的取值远离于0的任务,所述极化模型网络参数为极化成功后的所述预训练模型的模型网络参数。
另外地,需要说明的是,对所述预训练模型的迭代训练过程至少包括一轮迭代,所述训练数据至少包括一个训练样本。
获取训练数据和预训练模型,并将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数,具体地,获取训练样本和预训练模型,并将所述训练样本输入所述预训练模型,对所述训练样本进行数据处理,例如,卷积、池化和全连接等,获得模型输出标签值,进一步地,获取所述训练样本对应的真实标签值,并提取所述预训练模型的当前模型网络参数,进而基于所述输出标签值、所述真实标签值和所述原任务损失函数,计算原任务模型损失,并基于所述当前模型网络参数、所述当前模型网络参数对应的目标哈希编码值和极化损失函数,计算参数极化损失,进而判断所述原任务模型损失和所述参数极化损失是否均收敛,若收敛,则将所述当前模型网络参数作为所述极化模型网络参数,若未收敛,则基于所述原任务模型损失和所述参数极化损失,对所述当前模型网络参数进行极化更新,使得所述当前模型网络参数朝着远离于0的方向进行极化,获得极化更新参数,并将所述极化更新参数作为下一轮迭代时所述预训练模型的模型网络参数,并重新获取训练样本,对所述预训练模型进行训练,以重新计算原任务模型损失和参数极化损失,直至所述原任务模型损失和参数极化损失均收敛,将所述预训练模型的模型网络参数作为所述极化模型网络参数。
其中,所述预训练模型至少包括一神经网络层,所述神经网络层至少包括一模型参数值,所述预设极化损失总函数包括极化损失函数,
在所述将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数的步骤之前,所述模型网络参数处理方法还包括:
步骤A10,获取各所述神经网络层分别对应的各模型参数值,并计算各所述神经网络层分别对应的各模型参数值的平均值和标准差,获得各所述神经网络层对应的参数标准差和对应的参数平均值;
在本实施例中,需呀说明的是,所述参数平均值为所述神经网络层的各模型参数值的平均值,所述参数标准差为所述神经网络层的各模型参数值的标准差。
所述预训练模型至少包括一神经网络层,所述神经网络层至少包括一神经网络通道,一所述神经网络通道至少对应一所述模型参数值,例如假设所述预训练模型包括输入层A、中间层B和输出层C,其中,输入层A包括10个神经网络通道,中间层B包括100个神经网络通道,输出层C包括10个神经网络通道,则输入层A中的每个神经网络通道均对应100个模型参数值,中间层B中的每个神经网络通道均对应10个模型参数值,输出层C中的每个神经网络通道均对应100个模型参数值。
获取各所述神经网络层分别对应的各模型参数值,并计算各所述神经网络层分别对应的各模型参数值的平均值和标准差,获得各所述神经网络层对应的参数标准差和对应的参数平均值,具体地,获取每一所述神经网络层对应的各模型参数值,并分别对每一所述神经网络层对应的各模型参数值求平均值,获得各所述神经网络层对应的参数平均值,并分别对每一所述神经网络层对应的各模型参数值求标准值,获得各所述神经网络层对应的参数标准差。
其中,所述神经网络层至少包括一神经网络通道,所述神经网络通道至少包括一所述模型参数值,
在所述获取各所述神经网络层分别对应的各模型参数值的步骤之后,所述模型网络参数处理方法还包括:
步骤B10,计算各所述神经网络通道分别对应的各模型参数值的平均值和标准差,获得各所述神经网络通道对应的通道参数平均值和对应的通道参数标准差;
在本实施例中,需要说明的是,所述通道参数平均值为所述神经网络通道的各模型参数值的平均值,所述通道参数标准差为所述神经网络通道的各模型参数值的标准差。
计算各所述神经网络通道分别对应的各模型参数值的平均值和标准差,获得各所述神经网络通道对应的通道参数平均值和对应的通道参数标准差,具体地,分别计算每一所述神经网络通道对应的各模型参数值的平均值,获得通道参数平均值,并分别计算每一所述神经网络通道对应的各模型参数值的标准差,获得通道参数标准差。
步骤B20,基于各所述通道参数平均值和各所述通道参数标准差,构建各所述神经网络通道对应的极化损失函数。
在本实施例中,需要说明的是,所述极化损失函数包括预设强制极化参数、目标标签参数和输入参数。
基于各所述通道参数平均值和各所述通道参数标准差,构建各所述神经网络通道对应的极化损失函数,具体地,基于各所述通道参数平均值,分别对每一所述神经网络通道的各模型参数值进行标签赋予,获得每一所述神经网络通道的各模型参数值的通道参数标签,进而将所述神经网络通道的各模型参数值作为输入参数,将所述神经网络通道的各通道参数标签作为目标标签参数,将所述神经网络通道的通道参数标准差作为预设强制极化参数,分别构建每一所述神经网络通道对应的极化损失函数,其中,所述极化损失函数如下所示:
L0=max(m-v*t,0)
其中,L0为所述极化损失函数对应的参数极化损失,m为所述预设强制极化参数,v为所述输入参数,t为所述目标标签参数。
在一种可实施的方案中,所述通道参数标签包括通道正标签和通道负标签,
所述基于各所述通道参数平均值,分别对每一所述神经网络通道的各模型参数值进行标签赋予,获得每一所述神经网络通道的各模型参数值的通道参数标签的步骤包括:
将每一所述神经网络通道对应的各模型参数值和对应的通道参数平均值进行比对,确定每一所述神经网络通道的各模型参数值中大于所述通道参数平均值的第一类型参数值,以及确定每一所述神经网络通道的各模型参数值中不大于所述通道参数平均值的第二类型参数值,进而为第一类型参数值赋予通道正标签,可选地,正标签可设置为1,且为第二类型参数值赋予通道负标签,可选地,负标签可设置为-1。
步骤A20,基于各所述参数标准差和各所述参数平均值,构建各所述神经网络层对应的极化损失函数。
在本实施例中,基于各所述参数标准差和各所述参数平均值,构建各所述神经网络层对应的极化损失函数,具体地,基于各所述参数平均值,分别对每一所述神经网络层的各所述模型参数值进行标签赋予,获得每一所述神经网络层的各模型参数值的参数标签,进而将所述神经网络层的各模型参数值作为输入参数,将所述神经网络层的各所述参数标签作为目标标签参数,将所述神经网络层的参数标准差作为预设强制极化参数,分别构建每一所述神经网络层对应的极化损失函数,其中,所述极化损失函数如下所示:
L0=max(m-v*t,0)
其中,L0为所述极化损失函数对应的参数极化损失,m为所述预设强制极化参数,v为所述输入参数,t为所述目标标签参数。
其中,所述基于各所述参数标准差和各所述参数平均值,构建各所述神经网络层对应的极化损失函数的步骤包括:
步骤A21,基于各所述参数平均值,对各所述模型参数值进行标签赋予,获得各所述模型参数值对应的参数标签;
在本实施例中,需要说明的是,所述参数标签为模型参数值的标识,所述参数标签包括正标签和负标签。
基于各所述参数平均值,对各所述模型参数值进行标签赋予,获得各所述模型参数值对应的参数标签,具体地,基于每一所述神经网络层对应的参数平均值与每一所述神经网络层对应的各模型参数值进行比对,分别在每一所述神经网络层的各模型参数值中选取大于参数平均值的第一类型比特位数值,以及分别在每一所述神经网络层的各模型参数值中选取不大于参数平均值的第二类型比特位数值,并为所述第一类型比特位数值赋予正标签,可选地,正标签可设置为1,并为所述第二类型比特位数值赋予负标签,可选地,负标签可设置为-1,例如,假设神经网络层A对应的各所述模型参数值为1、2、3、4、5,则所述参数平均值为3,进而模型参数值1对应的参数标签为-1,模型参数值,2对应的参数标签为-1,模型参数值3对应的参数标签为-1,模型参数值4对应的参数标签为1,模型参数值5对应的参数标签为1。
步骤A22,基于各所述参数标签和各所述参数标准差,构建各所述神经网络层对应的极化损失函数。
在本实施例中,基于各所述参数标签和各所述参数标准差,构建各所述神经网络层对应的极化损失函数,具体地,基于每一所述神经网络层对应的各参数标签和对应的参数标准差,分别构建每一所述神经网络层的极化损失函数。
其中,所述训练数据至少包括一个训练样本,所述预设极化损失总函数包括原任务损失函数和极化损失函数,
所述将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数的步骤包括:
步骤S11,获取所述预训练模型的当前模型网络参数,并基于所述极化损失函数和所述当前模型网络参数,计算参数极化损失;
在本实施例中,需要说明的是,所述当前模型网络参数至少包括一个当前模型参数值,所述预训练模型至少包括一个神经网络层,所述神经网络层至少包括一个神经网络通道,所述神经网络通道至少对应一所述当前模型参数值,所述参数极化损失至少包括一个所述当前模型网络参数值对应的参数极化损失值。
获取所述预训练模型的当前模型网络参数,并基于所述极化损失函数和所述当前模型网络参数,计算参数极化损失,具体地,获取所述预训练模型的各当前模型参数值,并对每一所述当前模型参数值执行以下步骤:
确定所述当前模型参数值对应的参数标签值和对应的极化损失函数,进而将所述当前模型参数值和所述参数标签值,输入所述当前模型参数值对应的极化损失函数,获得所述当前模型网络参数值对应的参数极化损失值。
步骤S12,基于所述预训练模型,确定所述训练样本对应的模型输出值;
在本实施例中,基于所述预训练模型,确定所述训练样本对应的模型输出值,具体地,将所述训练样本输入所述预训练模型,对所述训练样本进行数据处理,其中,所述数据处理包括卷积、池化和全连接等,获得所述模型输出值。
步骤S13,基于所述模型输出值和所述原任务损失函数,计算任务模型损失;
在本实施例中,基于所述模型输出值和所述原任务损失函数,计算任务模型损失,具体地,获取所述模型输出值对应的真实标签值,并将所述模型输出值和所述真实标签值输入所述原任务损失函数,计算任务模型损失,其中,在一种可实施的方案中,所述原任务损失函数如下所示:
L2=y-y0
L2为所述任务模型损失,y为所述模型输出值,y0为所述真实标签值。
步骤S14,基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,获得所述极化模型网络参数。
在本实施例中,基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,获得所述极化模型网络参数,具体地,判断所述参数极化损失和所述任务模型损失是否均收敛,若所述参数极化损失和所述任务模型损失未均收敛,则基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,并基于极化更新后的当前模型网络参数,重新计算参数极化损失和任务模型损失,直至所述参数极化损失和所述任务模型损失均收敛,将极化更新后的当前模型网络参数作为所述极化模型网络参数,若所述参数极化损失和所述任务模型损失均收敛,将所述当前模型网络参数作为所述极化模型网络参数。
其中,所述基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,获得所述极化模型网络参数的步骤包括:
步骤S141,基于所述参数极化损失和所述任务模型损失,计算模型总损失;
在本实施例中,基于所述参数极化损失和所述任务模型损失,计算模型总损失,具体地,计算所述参数极化损失和所述任务模型损失之和,获得所述模型总损失。
步骤S142,判断所述模型总损失是否收敛,若所述模型总损失收敛,则判定所述预训练模型满足所述预设训练结束条件,并将所述当前模型网络参数作为所述极化模型网络参数;
在本实施例中,需要说明的是,所述预设训练结束条件包括损失函数收敛、达到最大迭代次数等。
步骤S143,若所述模型总损失未收敛,则判定所述预训练模型未满足所述预设训练结束条件,并对所述当前模型网络参数进行极化更新,获得极化更新参数;
在本实施例中,若所述模型总损失未收敛,则判定所述预训练模型未满足所述预设训练结束条件,并对所述当前模型网络参数进行极化更新,获得极化更新参数,具体地,若所述模型总损失未收敛,则判定所述预训练模型未满足所述预设训练结束条件,并基于所述原任务模型损失,对所述当前模型网络参数进行更新,获得更新后的所述当前模型网络参数,进而基于所述参数极化损失,对更新后的所述当前模型网络参数进行极化,获得所述极化更新参数。
其中,所述对所述当前模型网络参数进行极化更新,获得极化更新参数的步骤包括:
步骤C10,基于所述任务模型损失,对所述当前模型网络参数进行更新,获得初始模型网络参数;
在本实施例中,基于所述任务模型损失,对所述当前模型网络参数进行更新,获得初始模型网络参数,具体地,基于所述任务模型损失,计算所述各所述当前模型网络参数值对应的第一梯度信息,并基于所述第一梯度信息,分别对所述当前模型网络参数值进行调整优化,获得各所述当前模型网络参数值对应的初始模型网络参数值,也即,获得初始模型网络参数,其中,所述初始模型网络参数至少包括一个所述初始模型网络参数值。
步骤C20,将所述初始模型网络参数裁剪至预设模型参数取值范围,获得裁剪模型网络参数;
在本实施例中,将所述初始模型网络参数裁剪至预设模型参数取值范围,获得裁剪模型网络参数,具体地,分别对所述初始模型网络参数值进行裁剪,使得各所述初始模型网络参数值均处于所述预设模型参数取值范围内,其中,优选地,所述预设模型参数取值范围为-1至1,进而获得各所述初始模型网络参数值对应的裁剪模型网络参数值,也即,获得裁剪模型网络参数,其中,所述裁剪模型网络参数至少包括一个裁剪模型网络参数值。
步骤C30,基于所述参数极化损失,对所述裁剪模型网络参数进行极化,获得所述极化更新参数。
在本实施例中,基于所述参数极化损失,对所述裁剪模型网络参数进行极化,获得所述极化更新参数,具体的,基于所述参数极化损失,计算所述各当前模型网络参数值的第二梯度信息,进而基于所述第二梯度信息,对各所述裁剪模型网络参数值进行调整优化,使得所述裁剪模型网络参数远离于0值,获得各所述裁剪模型网络参数值对应的极化更新参数值,也即,获得极化更新参数,其中,所述极化更新参数至少包括一个极化更新参数值。
其中,所述极化更新参数包括极化参数和非极化参数,
所述基于所述参数极化损失,对所述裁剪模型网络参数进行极化,获得所述极化更新参数的步骤包括:
步骤C31,基于预设参数取值范围,对所述裁剪模型网络参数进行划分,获得待极化参数和所述非极化参数;
在本实施例中,需要说明的是,所述待极化参数为需要进行极化的模型网络参数,所述非极化参数为不需要进行极化的模型网络参数,所述极化更新参数至少包括一极化更新参数值。
基于预设参数取值范围,对所述裁剪模型网络参数进行划分,获得待极化参数和所述非极化参数,具体地,将各所述极化更新参数值与所述预设参数取值范围进行比对,将在所述预设参数取值范围内的极化更新参数值划分为所述非极化参数,并将不在所述预设参数取值范围内的极化更新参数值划分为所述待极化参数。
步骤C32,基于所述参数极化损失,对所述待极化参数进行极化,获得所述极化参数。
在本实施例中,基于所述参数极化损失,对所述待极化参数进行极化,获得所述极化参数,具体地,基于所述参数极化损失,计算关于属于所述待极化参数的极化更新参数值的极化梯度信息,其中,所述极化梯度信息为基于极化损失函数计算关于待极化参数的梯度信息,进而基于所述极化梯度信息,对所述待极化参数进行调整优化,以对所述待极化参数进行极化,使得属于所述待极化参数的各极化更新参数值远离于0,获得所述极化参数。
步骤S144,基于所述极化更新参数,重新计算所述模型总损失,直至所述模型总损失收敛,获得极化模型网络参数。
在本实施例中,基于所述极化更新参数,重新计算所述模型总损失,直至所述模型总损失收敛,获得极化模型网络参数,具体地,确定所述极化更新参数对应的极化更新后的预训练模型,并重新对极化更新后的预训练模型进行迭代训练,以重新计算所述模型总损失,直至所述模型总损失收敛,获得极化模型网络参数。
步骤S20,对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数。
在本实施例中,需要说明的是,所述极化模型网络参数至少包括一个极化模型网络参数值。
对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数,具体地,获取所述极化模型网络参数包括各极化模型网络参数值,并基于各所述极化模型网络参数值的参数值数据特征,对各所述极化模型网络参数值进行哈希编码,获得各所述极化模型网络参数值对应的输出哈希编码值,其中,所述数据特征包括数值大小、数值的正负符号等,并将各所述输出哈希编码值作为所述目标压缩参数。
其中,所述目标压缩参数包括二值哈希编码值,
所述对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数的步骤包括:
步骤S21,获取所述极化模型网络参数中各第一目标比特位对应的极化标识;
在本实施例中,需要说明的是,所述极化模型网络参数可用极化模型网络参数矩阵进行表示,其中,所述极化模型网络参数矩阵中的每一比特位上的数值均为所述极化模型网络参数值,所述极化标识为所述第一目标比特位上的极化模型网络参数值的正负符号。
获取所述极化模型网络参数中各第一目标比特位对应的极化标识,具体地,提取所述极化模型网络参数矩阵中各第一目标比特位上的极化模型网络参数值的正负符号,获得各所述极化模型网络参数值对应的极化标识。
步骤S22,基于各所述极化标识和各所述第一目标比特位在所述极化模型网络参数中的排列位置,对所述极化模型网络参数进行二值哈希编码,获得所述二值哈希编码值。
在本实施例中,基于各所述极化标识和各所述第一目标比特位在所述极化模型网络参数中的排列位置,对所述极化模型网络参数进行二值哈希编码,获得所述二值哈希编码值,具体地,生成各所述第一目标比特位对应的极化标识对应的参数编码,并获取各所述第一目标比特位在所述极化模型网络参数矩阵中的排列位置,进而基于各所述参数编码和各所述参数编码对应的排列位置,构建二值哈希编码矩阵,并将所述二值哈希编码矩阵作为所述二值哈希编码值,其中,可选地,当极化标识为正时,设置参数编码为1,当极化标识为负时,设置参数编码为-1,其中,在一种可实施的方案中,如图2所示为对极化模型网络参数进行二值哈希编码的示意图,其中,m为所述极化损失函数中的预设强制极化参数,其中,所述预设强制极化参数可设置为参数标准差或者通道参数标准差,-1和1为所述参数编码,也即为编码值。
另外地,需要说明的是,若未对模型网络参数进行极化,直接基于模型网络参数的数据特征,对模型网络参数进行哈希编码,则在训练过程中,若存在一些模型网络参数的取值在0值上下浮动,且取值较小,则将导致模型网络参数的正负难以确定,也即难以确定模型网络参数的数据特征,进而将导致哈希编码的准确度较低,而本申请实施例中对模型网络参数进行了极化,使得模型网络参数的取值远离于0值,进而可更加准确地确定模型网络参数的数据特征,进而提高了对模型网络参数的哈希编码的准确性,且由于模型网络参数的取值远离于0值,也可在模型训练过程中避免产生梯度消失的情况,进而提高了模型网络参数压缩的精度。
本申请实施例提供了一种模型网络参数处理方法,相比于现有技术采用的直接训练二值神经网络,将神经网络的模型网络参数转换为二值的模型网络参数的技术手段,本申请实施例在获取训练数据集和预训练模型之后,将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对预训练模型的模型网络参数进行极化更新,使得预训练模型中的模型网络参数远离0,获得极化模型网络参数,进而由于在训练预训练模型时,预训练模型对应的神经网络中每一神经元的参数均朝着远离于0的方向进行更新,每一神经元对应的参数不会为0,进而梯度不会消失,进而通过对极化模型网络参数进行哈希编码,以将所述极化模型网络参数压缩为低比特浮点的哈希编码值,并将哈希编码值作为目标压缩参数,即可实现对模型网络参数的压缩,进而克服了现有技术中直接训练二值神经网络,将导致梯度消失,进而导致模型网络参数压缩精度低的技术缺陷,提高了模型网络参数的压缩精度。
进一步地,参照图3,基于本申请中第一实施例,在本申请的另一实施例中,所述目标压缩参数包括三值哈希编码值,
所述对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数的步骤包括:
步骤D10,获取所述极化模型网络参数中各第二目标比特位上的比特位数值;
在本实施例中,需要说明的是,所述比特位数值为所述极化模型网络参数的数值大小,所述第二目标比特位为基于预设参数取值范围确定的极化模型网络参数矩阵中的比特位。
获取所述极化模型网络参数中各第二目标比特位上的比特位数值,具体地,获取所述极化模型网络参数矩阵中各第二目标比特位上的参数数值大小,将各所述参数值大小作为对应的各所述第二目标比特位对应的比特位数值。
步骤D20,基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值。
基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值,具体地,基于预设参数取值范围,对各所述比特位数值进行分类,以将各所述比特位数值划分为各第一类型比特位数值、各第二比特位类型数值和各第三比特位类型数值,进而生成各所述第一类型比特位数值对应的第一编码值、生成各所述第二类型比特位数值对应的第二编码值,以及各所述第三类型比特位数值对应的第三编码值,进而基于各所述比特位数值在所述极化模型网络参数矩阵中的排列位置,构建各所述第一编码值、各所述第二编码值以及各所述第三编码值共同对应的三值哈希编码矩阵,并将所述三值哈希编码矩阵作为所述三值哈希编码值。
其中,所述预设参数取值范围包括参数上阀值和参数下阀值,所述三值哈希编码值包括第一编码值、第二编码值和第三编码值,
所述基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值的步骤包括:
步骤D21,将不大于所述参数下阀值的各所述比特位数值作为所述第一类型比特位数值,并生成各所述第一类型比特位数值对应的所述第一编码值;
在本实施例中,将不大于所述参数下阀值的各所述比特位数值作为所述第一类型比特位数值,并生成各所述第一类型比特位数值对应的所述第一编码值,具体地,将不大于所述参数下阀值的各所述比特位数值作为所述第一类型比特位数值,并将所述第一编码值作为各所述第一类型比特位数值对应的编码值,其中,可选地,所述第一编码值设置为-1。
步骤D22,将大于所述参数下阀值且小于所述参数上阀值的各所述比特位数值作为所述第二类型比特位数值,并生成各所述第二类型比特位数值对应的所述第二编码值;
在本实施例中,将大于所述参数下阀值且小于所述参数上阀值的各所述比特位数值作为所述第二类型比特位数值,并生成各所述第二类型比特位数值对应的所述第二编码值,具体地,将大于所述参数下阀值且小于所述参数上阀值的各所述比特位数值作为所述第二类型比特位数值,并将所述第二编码值作为各所述第二类型比特位数值的编码值,其中,可选地,所述第二编码值可设置为0。
步骤D23,将不小于所述参数上阀值的各所述比特位数值作为所述第三类型比特位数值,并生成各所述第三类型比特位数值对应的所述第三编码值;
在本实施例中,将不小于所述参数上阀值的各所述比特位数值作为所述第三类型比特位数值,并生成各所述第三类型比特位数值对应的所述第三编码值,具体地,将不小于所述参数上阀值的各所述比特位数值作为所述第三类型比特位数值,并将所述第三编码值作为各所述第三类型比特位数值对应的编码值,其中,可选地,所述第三编码值设置为1。
步骤D24,基于各所述第二目标比特位在所述极化模型网络参数中的排列位置、各所述第一编码值、各所述第二编码值和各所述第三编码值,生成所述三值哈希编码值。
在本实施例中,基于各所述第二目标比特位在所述极化模型网络参数中的排列位置、各所述第一编码值、各所述第二编码值和各所述第三编码值,生成所述三值哈希编码值,具体地,基于各所述第二目标比特位在所述极化模型网络参数中的排列位置,将各所述第一编码值、各所述第二编码值和各所述第三编码值组合为三值哈希编码矩阵,并将所述三值哈希编码矩阵作为所述三值哈希编码值,其中,在一种可实施的方案中,如图4所示为对极化模型网络参数进行三值哈希编码的示意图,其中,m为所述极化损失函数中的预设强制极化参数,-m至m为所述预设参数取值范围,其中,所述预设强制极化参数可设置为参数标准差或者通道参数标准差,-1为所述第一编码值,0为所述第二编码值,1为所述第三编码值。
另外地,需要说明的是,若生成二值哈希编码值,则在对模型网络参数进行极化时,由于模型网络参数之间无模糊边界,仅以0值为划分点,极化后的模型网络参数为正,则生成正的编码值,例如编码值取为1,极化后的模型网络参数为负,则生成负的编码值,例如编码值取为-1,进而若存在一些模型网络参数的取值在0值上下浮动,且取值非常小,趋近于0,则容易极化失败,进而极化模型网络参数的值仍然在0值上下浮动,进而对这些模型网络参数的哈希编码不够准确,而本申请实施例在对模型网络参数进行极化,对于0值附近的模型网络参数不进行极化,也即对预设参数取值范围内的模型网络参数不进行极化,直接将这些模型网络参数对应的编码值设置为0,防止因极化失败而导致对预设参数取值范围内的模型网络参数哈希编码不够准确的情况发生,且对预设参数取值范围之外的模型网络参数进行极化,进而保证了对预设参数取值范围之外的模型网络参数哈希编码的准确性,进而进一步提高了哈希编码的准确性,进而提高了模型网络参数压缩的精度,且犹豫无需对预设参数取值范围内的模型网络参数进行极化,同时也提高了对预训练模型进行迭代训练时的计算效率。
本实施例提供了一种三值哈希编码的方法,通过获取所述极化模型网络参数中各第二目标比特位上的比特位数值,进而基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值。相比于将模型网络参数压缩为二值神经网络,本实施例对预设参数取值范围内的模型网络参数不进行极化,直接将这些模型网络参数对应的编码值设置为0,进而防止因极化失败而导致对预设参数取值范围内的模型网络参数哈希编码不够准确的情况发生,进而提高了哈希编码的准确性,进而提高了模型网络参数压缩的精度。
参照图5,图5是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
如图5所示,该模型网络参数处理设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该模型网络参数处理设备还可以包括矩形用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图5中示出的模型网络参数处理设备结构并不构成对模型网络参数处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及模型网络参数处理程序。操作系统是管理和控制模型网络参数处理设备硬件和软件资源的程序,支持模型网络参数处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与模型网络参数处理系统中其它硬件和软件之间通信。
在图5所示的模型网络参数处理设备中,处理器1001用于执行存储器1005中存储的模型网络参数处理程序,实现上述任一项所述的模型网络参数处理方法的步骤。
本申请模型网络参数处理设备具体实施方式与上述模型网络参数处理方法各实施例基本相同,在此不再赘述。
本申请实施例还提供一种模型网络参数处理装置,所述模型网络参数处理装置应用于模型网络参数处理设备,所述模型网络参数处理装置包括:
极化更新模块,用于获取训练数据和预训练模型,并将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数;
哈希编码模块,用于对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数。
可选地,所述极化更新模块包括:
第一计算子模块,用于获取所述预训练模型的当前模型网络参数,并基于所述极化损失函数和所述当前模型网络参数,计算参数极化损失;
确定子模块,用于基于所述预训练模型,确定所述训练样本对应的模型输出值;
第二计算子模块,用于基于所述模型输出值和所述原任务损失函数,计算任务模型损失;
极化更新子模块,用于基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,获得所述极化模型网络参数。
可选地,所述极化更新子模块包括:
计算单元,用于基于所述参数极化损失和所述任务模型损失,计算模型总损失;
第一判定单元,用于判断所述模型总损失是否收敛,若所述模型总损失收敛,则判定所述预训练模型满足所述预设训练结束条件,并将所述当前模型网络参数作为所述极化模型网络参数;
第二判定单元,用于若所述模型总损失未收敛,则判定所述预训练模型未满足所述预设训练结束条件,并对所述当前模型网络参数进行极化更新,获得极化更新参数;
迭代单元,用于基于所述极化更新参数,重新计算所述模型总损失,直至所述模型总损失收敛,获得极化模型网络参数。
可选地,所述第二判定单元包括:
更新子单元,用于基于所述任务模型损失,对所述当前模型网络参数进行更新,获得初始模型网络参数;
裁剪子单元,用于将所述初始模型网络参数裁剪至预设模型参数取值范围,获得裁剪模型网络参数;
极化子单元,用于基于所述参数极化损失,对所述裁剪模型网络参数进行极化,获得所述极化更新参数。
可选地,所述极化子单元还可用于以下步骤:
基于预设参数取值范围,对所述裁剪模型网络参数进行划分,获得待极化参数和所述非极化参数;
基于所述参数极化损失,对所述待极化参数进行极化,获得所述极化参数。
可选地,所述哈希编码模块包括:
第一获取子模块,用于获取所述极化模型网络参数中各第一目标比特位对应的极化标识;
二值哈希编码子模块,用于基于各所述极化标识和各所述第一目标比特位在所述极化模型网络参数中的排列位置,对所述极化模型网络参数进行二值哈希编码,获得所述二值哈希编码值;
可选地,所述哈希编码模块还包括:
第二获取子模块,用于获取所述极化模型网络参数中各第二目标比特位上的比特位数值;
三值哈希编码子模块,用于基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值。
可选地,所述三值哈希编码子模块包括:
第一生成单元,用于将不大于所述参数下阀值的各所述比特位数值作为所述第一类型比特位数值,并生成各所述第一类型比特位数值对应的所述第一编码值;
第二生成单元,用于将大于所述参数下阀值且小于所述参数上阀值的各所述比特位数值作为所述第二类型比特位数值,并生成各所述第二类型比特位数值对应的所述第二编码值;
第三生成单元,用于将不小于所述参数上阀值的各所述比特位数值作为所述第三类型比特位数值,并生成各所述第三类型比特位数值对应的所述第三编码值;
第四生成单元,用于基于各所述第二目标比特位在所述极化模型网络参数中的排列位置、各所述第一编码值、各所述第二编码值和各所述第三编码值,生成所述三值哈希编码值。
可选地,所述模型网络参数处理装置还包括:
第一计算模块,用于获取各所述神经网络层分别对应的各模型参数值,并计算各所述神经网络层分别对应的各模型参数值的平均值和标准差,获得各所述神经网络层对应的参数标准差和对应的参数平均值;
第一构建模块,用于基于各所述参数标准差和各所述参数平均值,构建各所述神经网络层对应的极化损失函数。
可选地,所述构建模块包括:
标签赋予子模块,用于基于各所述参数平均值,对各所述模型参数值进行标签赋予,获得各所述模型参数值对应的参数标签;
构建子模块,用于基于各所述参数标签和各所述参数标准差,构建各所述神经网络层对应的极化损失函数。
可选地,所述模型网络参数处理装置还包括:
第二计算模块,用于计算各所述神经网络通道分别对应的各模型参数值的平均值和标准差,获得各所述神经网络通道对应的通道参数平均值和对应的通道参数标准差;
第二关键模块,用于基于各所述通道参数平均值和各所述通道参数标准差,构建各所述神经网络通道对应的极化损失函数。
本申请模型网络参数处理装置的具体实施方式与上述模型网络参数处理方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种可读存储介质,且所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的模型网络参数处理方法的步骤。
本申请可读存储介质具体实施方式与上述模型网络参数处理方法各实施例基本相同,在此不再赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (13)
1.一种模型网络参数处理方法,其特征在于,所述模型网络参数处理方法包括:
获取训练数据和预训练模型,并将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数;
对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数。
2.如权利要求1所述模型网络参数处理方法,其特征在于,所述训练数据至少包括一个训练样本,所述预设极化损失总函数包括原任务损失函数和极化损失函数,
所述将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数的步骤包括:
获取所述预训练模型的当前模型网络参数,并基于所述极化损失函数和所述当前模型网络参数,计算参数极化损失;
基于所述预训练模型,确定所述训练样本对应的模型输出值;
基于所述模型输出值和所述原任务损失函数,计算任务模型损失;
基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,获得所述极化模型网络参数。
3.如权利要求2所述模型网络参数处理方法,其特征在于,所述基于所述参数极化损失和所述任务模型损失,对所述当前模型网络参数进行极化更新,获得所述极化模型网络参数的步骤包括:
基于所述参数极化损失和所述任务模型损失,计算模型总损失;
判断所述模型总损失是否收敛,若所述模型总损失收敛,则将所述当前模型网络参数作为所述极化模型网络参数;
若所述模型总损失未收敛,则对所述当前模型网络参数进行极化更新,获得极化更新参数;
基于所述极化更新参数,重新计算所述模型总损失,直至所述模型总损失收敛,获得极化模型网络参数。
4.如权利要求3所述模型网络参数处理方法,其特征在于,所述对所述当前模型网络参数进行极化更新,获得极化更新参数的步骤包括:
基于所述任务模型损失,对所述当前模型网络参数进行更新,获得初始模型网络参数;
将所述初始模型网络参数裁剪至预设模型参数取值范围,获得裁剪模型网络参数;
基于所述参数极化损失,对所述裁剪模型网络参数进行极化,获得所述极化更新参数。
5.如权利要求4所述模型网络参数处理方法,其特征在于,所述极化更新参数包括极化参数和非极化参数,
所述基于所述参数极化损失,对所述裁剪模型网络参数进行极化,获得所述极化更新参数的步骤包括:
基于预设参数取值范围,对所述裁剪模型网络参数进行划分,获得待极化参数和所述非极化参数;
基于所述参数极化损失,对所述待极化参数进行极化,获得所述极化参数。
6.如权利要求1所述模型网络参数处理方法,其特征在于,所述目标压缩参数包括二值哈希编码值,
所述对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数的步骤包括:
获取所述极化模型网络参数中各第一目标比特位对应的极化标识;
基于各所述极化标识和各所述第一目标比特位在所述极化模型网络参数中的排列位置,对所述极化模型网络参数进行二值哈希编码,获得所述二值哈希编码值。
7.如权利要求1所述模型网络参数处理方法,其特征在于,所述目标压缩参数包括三值哈希编码值,
所述对所述极化模型网络参数进行哈希编码,获得所述极化模型网络参数对应的目标压缩参数的步骤包括:
获取所述极化模型网络参数中各第二目标比特位上的比特位数值;
基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值。
8.如权利要求7所述模型网络参数处理方法,其特征在于,所述预设参数取值范围包括参数上阀值和参数下阀值,所述三值哈希编码值包括第一编码值、第二编码值和第三编码值,
所述基于预设参数取值范围和各所述比特位数值,对所述极化模型网络参数进行三值哈希编码,获得所述三值哈希编码值的步骤包括:
将不大于所述参数下阀值的各所述比特位数值作为所述第一类型比特位数值,并生成各所述第一类型比特位数值对应的所述第一编码值;
将大于所述参数下阀值且小于所述参数上阀值的各所述比特位数值作为所述第二类型比特位数值,并生成各所述第二类型比特位数值对应的所述第二编码值;
将不小于所述参数上阀值的各所述比特位数值作为所述第三类型比特位数值,并生成各所述第三类型比特位数值对应的所述第三编码值;
基于各所述第二目标比特位在所述极化模型网络参数中的排列位置、各所述第一编码值、各所述第二编码值和各所述第三编码值,生成所述三值哈希编码值。
9.如权利要求1所述模型网络参数处理方法,其特征在于,所述预训练模型至少包括一神经网络层,所述神经网络层至少包括一模型参数值,所述预设极化损失总函数包括极化损失函数,
在所述将所述训练数据输入所述预训练模型,以基于预设极化损失总函数,对所述预训练模型的模型网络参数进行极化更新,获得极化模型网络参数的步骤之前,所述模型网络参数处理方法还包括:
获取各所述神经网络层分别对应的各模型参数值,并计算各所述神经网络层分别对应的各模型参数值的平均值和标准差,获得各所述神经网络层对应的参数标准差和对应的参数平均值;
基于各所述参数标准差和各所述参数平均值,构建各所述神经网络层对应的极化损失函数。
10.如权利要求9所述模型网络参数处理方法,其特征在于,所述基于各所述参数标准差和各所述参数平均值,构建各所述神经网络层对应的极化损失函数的步骤包括:
基于各所述参数平均值,对各所述模型参数值进行标签赋予,获得各所述模型参数值对应的参数标签;
基于各所述参数标签和各所述参数标准差,构建各所述神经网络层对应的极化损失函数。
11.如权利要求9所述模型网络参数处理方法,其特征在于,所述神经网络层至少包括一神经网络通道,所述神经网络通道至少包括一所述模型参数值,
在所述获取各所述神经网络层分别对应的各模型参数值的步骤之后,所述模型网络参数处理方法还包括:
计算各所述神经网络通道分别对应的各模型参数值的平均值和标准差,获得各所述神经网络通道对应的通道参数平均值和对应的通道参数标准差;
基于各所述通道参数平均值和各所述通道参数标准差,构建各所述神经网络通道对应的极化损失函数。
12.一种模型网络参数处理设备,其特征在于,所述模型网络参数处理设备包括:存储器、处理器以及存储在存储器上的用于实现所述模型网络参数处理方法的程序,
所述存储器用于存储实现模型网络参数处理方法的程序;
所述处理器用于执行实现所述模型网络参数处理方法的程序,以实现如权利要求1至11中任一项所述模型网络参数处理方法的步骤。
13.一种可读存储介质,其特征在于,所述可读存储介质上存储有实现模型网络参数处理方法的程序,所述实现模型网络参数处理方法的程序被处理器执行以实现如权利要求1至11中任一项所述模型网络参数处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010829087.9A CN111950712A (zh) | 2020-08-14 | 2020-08-14 | 模型网络参数处理方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010829087.9A CN111950712A (zh) | 2020-08-14 | 2020-08-14 | 模型网络参数处理方法、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111950712A true CN111950712A (zh) | 2020-11-17 |
Family
ID=73342033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010829087.9A Pending CN111950712A (zh) | 2020-08-14 | 2020-08-14 | 模型网络参数处理方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111950712A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113537460A (zh) * | 2021-06-29 | 2021-10-22 | 哈尔滨工业大学 | 一种适用于耀斑预报问题的多线程神经网络模型的构建方法 |
CN115292535A (zh) * | 2022-08-24 | 2022-11-04 | 合肥市正茂科技有限公司 | 一种基于深度极化哈希的分层车辆图像检索方法 |
-
2020
- 2020-08-14 CN CN202010829087.9A patent/CN111950712A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113537460A (zh) * | 2021-06-29 | 2021-10-22 | 哈尔滨工业大学 | 一种适用于耀斑预报问题的多线程神经网络模型的构建方法 |
CN115292535A (zh) * | 2022-08-24 | 2022-11-04 | 合肥市正茂科技有限公司 | 一种基于深度极化哈希的分层车辆图像检索方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347873B (zh) | 视频分类方法、装置、电子设备及存储介质 | |
CN111626408B (zh) | 哈希编码方法、装置、设备及可读存储介质 | |
US10153779B1 (en) | Content-aware compression of floating-point time-series data using multiple prediction functions and estimated bit-saving thresholds | |
CN111625258B (zh) | 默克尔树更新方法、装置、设备及可读存储介质 | |
CN111988614B (zh) | 哈希编码优化方法、设备及可读存储介质 | |
CN111563593B (zh) | 神经网络模型的训练方法和装置 | |
CN111967609A (zh) | 模型参数验证方法、设备及可读存储介质 | |
CN111950712A (zh) | 模型网络参数处理方法、设备及可读存储介质 | |
CN112966755A (zh) | 电感缺陷检测方法、设备及可读存储介质 | |
CN113327599B (zh) | 语音识别方法、装置、介质及电子设备 | |
CN114207625A (zh) | 用于性能优化的分布式深度学习的系统感知选择性量化 | |
CN111767833A (zh) | 模型生成方法、装置、电子设备及存储介质 | |
CN114492601A (zh) | 资源分类模型的训练方法、装置、电子设备及存储介质 | |
CN114358216B (zh) | 基于机器学习框架的量子聚类方法及相关装置 | |
KR102213345B1 (ko) | 패리티 검사 연접 극 부호의 설계 방법 및 그 장치 | |
CN112966754B (zh) | 样本筛选方法、样本筛选装置及终端设备 | |
CN113343020B (zh) | 基于人工智能的图像处理方法、装置及电子设备 | |
CN114818695A (zh) | 文本风格迁移方法、装置、设备及存储介质 | |
CN116152595A (zh) | 模型训练方法、图像处理方法、装置、设备与介质 | |
CN112990046B (zh) | 差异信息获取方法、相关装置及计算机程序产品 | |
CN114065913A (zh) | 模型量化方法、装置及终端设备 | |
CN111445030A (zh) | 基于逐步回归法的联邦建模方法、设备和可读存储介质 | |
CN107845116B (zh) | 生成平面图像的压缩编码的方法和装置 | |
CN112749560A (zh) | 地址文本处理方法、装置、设备及计算机存储介质 | |
CN113706565B (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 |