CN113361698A - 神经网络模型的处理方法和装置、数据处理方法和装置 - Google Patents
神经网络模型的处理方法和装置、数据处理方法和装置 Download PDFInfo
- Publication number
- CN113361698A CN113361698A CN202010147728.2A CN202010147728A CN113361698A CN 113361698 A CN113361698 A CN 113361698A CN 202010147728 A CN202010147728 A CN 202010147728A CN 113361698 A CN113361698 A CN 113361698A
- Authority
- CN
- China
- Prior art keywords
- model
- target
- training
- matrix
- network 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
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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种神经网络模型的处理方法和装置、数据处理方法和装置。其中,该神经网络模型的处理方法包括:利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取预训练模型对应的目标掩码矩阵,其中,目标掩码矩阵的维度与预训练模型的权重矩阵的维度相同;利用目标掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。本申请解决了相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的技术问题。
Description
技术领域
本申请涉及机器学习领域,具体而言,涉及一种神经网络模型的处理方法和装置、数据处理方法和装置。
背景技术
神经网络模型是一种可以进行分布式并行信息处理的算法数学模型,依靠模型的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。但是,神经网络模型的复杂程度越高,计算开销和内容存储消耗越大,导致硬件成本和功耗相应增加。
针对相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种神经网络模型的处理方法和装置、数据处理方法和装置,以至少解决相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的技术问题。
根据本申请实施例的一个方面,提供了一种神经网络模型的处理方法,包括:利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取预训练模型对应的目标掩码矩阵,其中,掩码矩阵的维度与预训练模型的权重矩阵的维度相同;利用掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。
根据本申请实施例的另一方面,还提供了一种神经网络模型的处理装置,包括:第一训练模块,用于利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取模块,用于获取预训练模型对应的目标掩码矩阵,其中,掩码矩阵的维度与预训练模型的权重矩阵的维度相同;第一处理模块,用于利用掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。
根据本申请实施例的另一方面,还提供了一种数据处理方法,包括:获取待处理的语音信号;利用目标模型对语音信号进行处理,得到识别结果,其中,目标模型是利用目标掩码矩阵对预训练模型的权重矩阵进行处理得到,预训练模型是利用奇异值分解算法和范数正则化算法对神经网络模型进行训练得到,目标掩码矩阵的维度与预训练模型的权重矩阵的维度相同。
根据本申请实施例的另一方面,还提供了一种数据处理装置,包括:获取模块,用于获取待处理的语音信号;处理模块,用于利用目标模型对语音信号进行识别,得到识别结果,其中,目标模型是利用目标掩码矩阵对预训练模型的权重矩阵进行处理得到,预训练模型是利用奇异值分解算法和范数正则化算法对神经网络模型进行训练得到,目标掩码矩阵的维度与预训练模型的权重矩阵的维度相同。
根据本申请实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的神经网络模型的处理方法。
根据本申请实施例的另一方面,还提供了一种计算设备,包括:存储器和处理器,处理器用于运行存储器中存储的程序,其中,程序运行时执行上述的神经网络模型的处理方法。
根据本申请实施例的另一方面,还提供了一种神经网络模型的处理系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取预训练模型对应的目标掩码矩阵,其中,掩码矩阵的维度与预训练模型的权重矩阵的维度相同;利用掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。
在本申请实施例中,在获取到需要进行压缩的神经网络模型之后,可以利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型,进一步利用设置好的目标掩码矩阵对预训练模型的权重矩阵进行剪枝操作,实现最大程度压缩神经网络模型的目的。与现有技术相比,在SVD分解基础上,利用范数正则化算法对权重矩阵持续进行稀疏,从而可以将SVD分解后的权重矩阵的稀疏度最大程度的消除,达到最大化降低神经网络模型的计算量,进一步降低硬件成本和功耗的技术效果,进而解决了相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现神经网络模型的处理方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的一种神经网络模型的处理方法的流程图;
图3a是根据本申请实施例的一种训练模型的流程图;
图3b是根据本申请实施例的一种压缩模型的流程图;
图4是根据本申请实施例的一种神经网络模型的处理装置的示意图;
图5是根据本申请实施例的一种数据处理方法的流程图;以及
图6是根据本申请实施例的一种数据处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
DNN:深度神经网络,Deep Neural Networks,内部的神经网络层可以划分为三类,分别为输入层、隐藏层和输出层,层与层之间是全连接的。
SVD:奇异值分解,Singular Value Decomposition,是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域,是很多机器学习算法的基石。用SVD可以很容易得到任意矩阵的满秩分解,用满秩分解可以对数据做压缩。
梯度截断算法:可以在训练过程中检查和限制梯度的大小,检查误差梯度的值是否超过阈值,如果超过,则截断梯度,将梯度设置为阈值。
实施例1
根据本申请实施例,还提供了一种神经网络模型的处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。图1示出了一种用于实现神经网络模型的处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(BUS总线)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
处理器102可以包含如下三个模块:模型训练模块、模型压缩模块和数据处理模块,其中,模型训练模块可以利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,具体包括模型修改、模型训练和系数调整等三个部分;模型压缩模块可以利用一个维度相同的掩码矩阵对模型训练模块输出的权重矩阵进行压缩,得到优化后的目标模型,具体包括掩码矩阵建立、权重矩阵压缩、模型再训练等三个部分;数据处理模块可以利用模型压缩模块输出的模型对语音信号进行识别,得到识别结果。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的神经网络模型的处理方法。图2是根据本申请实施例的一种神经网络模型的处理方法的流程图。如图2所述,该方法包括如下步骤:
步骤S202,利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型。
上述步骤中的神经网络模型可以是卷积神经网络模型、循环神经网络模型、深度神经网络模型等,但不仅限于此,本申请实施例中以深度神经网络DNN模型为例进行说明。范数正则化算法可以采用L21范数的正则化算法,以实现权重矩阵按列稀疏的目的。
需要说明的是,为了降低计算量以及内存相关指标,进一步降低硬件成本和功耗以及推理时间,可以采用SVD来证明对任意M*N的矩阵均存在如下分解:这个可以应用在数据降维压缩上,在数据相关性特别大的情况下存储X和Y矩阵比存储A矩阵占用空间更小;假设原始矩阵大小维度为M*N,经过SVD分解后,变为M*A与A*N的两个矩阵,从而计算量和存储都变小,但是,SVD分解后的矩阵仍然存在稀释度。
在一种可选的实施例中,为了实现对DNN模型的压缩,可以通过训练和压缩两个过程相互配合实现,在训练过程中,可以在对DNN模型进行SVD之后,利用L21范数对权重矩阵进行结构化稀疏。
步骤S204,获取预训练模型对应的目标掩码矩阵,其中,目标掩码矩阵的维度与预训练模型的权重矩阵的维度相同。
上述步骤中的目标掩码矩阵可以是为权重矩阵中每列权重值所设置的标志位,用于表征每列权重值是否能够被压缩,例如,当一列权重值可以被压缩时,可以将目标掩码矩阵中对应的元素设置为0,而当一列权重值需要保留,不能被压缩时,可以将目标掩码矩阵中对应的元素设置为1。
在一种可选的实施例中,可以通过对预训练模型进行反复训练和压缩,实现对目标掩码矩阵中每个元素的值进行设置、调整,直到压缩后的模型的精度和压缩比能够达到用户要求,此时,压缩后的模型能够满足用户要求,目标掩码矩阵为最终压缩所需要的mask矩阵,无需再次调整,可以用于对预训练模型进行剪枝操作,实现压缩模型的目的。
需要说明的是,在反复对预训练模型进行压缩、训练的过程中,仅仅基于压缩后的模型的权重矩阵,对目标掩码矩阵进行设置,并不会对预训练模型进行剪枝操作。
步骤S206,利用目标掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。
具体地,DNN模型中每层隐含层对应有一个权重矩阵,因此,上述步骤中的权重矩阵可以是权重矩阵组(weight group)。
在一种可选的实施例中,在获取到设置好的mask矩阵之后,可以利用该mask矩阵对权重矩阵进行剪枝操作,具体方案可以是:将mask矩阵中0元素对应列中的所有权重值裁剪掉,而1元素对应列中的所有权重值保留,实现在SVD的基础上,能够在对DNN模型压缩65%,并保证模型精度不损失。
基于本申请上述实施例提供的方案,在获取到需要进行压缩的神经网络模型之后,可以利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型,进一步利用设置好的目标掩码矩阵对预训练模型的权重矩阵进行剪枝操作,实现最大程度压缩神经网络模型的目的。与现有技术相比,在SVD分解基础上,利用范数正则化算法对权重矩阵持续进行稀疏,从而可以将SVD分解后的权重矩阵的稀疏度最大程度的消除,达到最大化降低神经网络模型的计算量,进一步降低硬件成本和功耗的技术效果,进而解决了相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的技术问题。
本申请上述实施例中,利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型包括:利用奇异值分解算法对神经网络模型进行修改,得到修改后的网络模型;基于范数正则化算法和目标系数,生成损失函数;利用损失函数和目标系数对修改后的网络模型进行训练,得到预训练模型。
具体地,上述步骤中的目标系数可以是稀疏系数,通过设置该系数可以在保证预训练模型的稀疏度越小的同时,精度降低较小,在用户要求范围之内。
在一种可选的实施例中,可以对DNN网络进行SVD分解,增加SVD网络节点,得到SVD网络(即上述的修改后的网络模型),在SVD网络基础上,增加列维度的L21 loss函数进行训练,从而预训练模型,使得整列权重值趋近于0进行稀疏。
本申请上述实施例中,在基于范数正则化算法和目标系数,生成损失函数之前,该方法还包括:获取多组初始系数;利用每组初始系数对修改后的网络模型进行训练,确定每组初始系数对应的第一精度和权重矩阵;获取每组初始系数对应的权重矩阵的稀疏度,得到每组初始系数对应的矩阵稀疏度;基于每组初始系数对应的第一精度和矩阵稀疏度,确定多组初始系数中的目标系数。
具体地,上述步骤中的多组初始系数可以预先设置的多组初始稀疏系数,通过DNN模型进行训练和比较,可以确定最适合的稀疏系数、
在一种可选的实施例中,可以预先设置多组不同的稀疏系数,利用每组初始稀疏系数对SVD网络进行训练,根据训练后的训练精度变化和用户要求的稀疏阈值,自动调整稀疏系数并找到最适合的稀疏系数,确保精度满足原始参考精度,同时稀疏度越小。
本申请上述实施例中,基于每组初始系数对应的第一精度和矩阵稀疏度,确定多组初始系数中的目标系数包括:每组初始系数对应的第一精度与原始精度进行比较,并将每组初始系数对应的矩阵稀疏度与预设稀疏度进行比较;如果第一精度在原始精度的预设范围之内,且矩阵稀疏度小于预设稀疏度,则确定相应的初始系数为目标系数。
具体地,上述步骤中的原始精度可以是DNN模型的精度,预设范围可以是确保精度满足DNN模型的精度,不比该精度差的一个范围。上述步骤中的预设稀疏度可以是根据用户压缩要求所确定的稀疏度阈值。
在一种可选的实施例中,压缩模型的目的是为了减少计算量,但是不能影响模型的准确度,因此,预训练的目标应该是在不影响DNN模型的精度的同时,使稀疏度最小。在此目标基础上,可以利用预先设置好的多组稀疏系数进行训练,并获取训练一段时间后的训练精度变化和矩阵稀疏度变化,当精度变化不比DNN模型的精度差,且矩阵稀疏度小于预设稀疏度时,可以确定当前的初始稀疏系数为最终进行须训练所使用的目标系数。
本申请上述实施例中,在获取预训练模型对应的目标掩码矩阵之前,该方法还包括:利用范数正则化算法对预训练模型进行处理,确定掩码矩阵;利用掩码矩阵对预训练模型的权重矩阵进行处理,得到处理后的网络模型;利用损失函数和目标系数对处理后的网络模型进行重新训练,得到训练后的网络模型;判断训练后的网络模型的第二精度是否满足目标精度;如果第二精度不满足目标精度,则将训练后的网络模型作为预训练模型,并返回执行利用范数正则化算法对预训练模型进行处理,确定掩码矩阵的步骤,直至第二精度满足目标精度;如果第二精度满足目标精度,则确定掩码矩阵为目标掩码矩阵。
具体地,上述步骤中的目标精度可以是用户要求的模型精度。
在一种可选的实施例中,针对要优化压缩的权重矩阵,建立维度大小一样的mask矩阵。对于DNN模型的权重矩阵组,可以分别对每个权重矩阵进行L21范数计算,确定需要压缩的权重列,并将构建的mask矩阵中相应的元素值设置为0,其他的元素值设置为1。对mask后的模型进行重新训练,确认重新训练的模型的精度是否满足用户要求,如果不满足,则使用和预训练一样的loss函数和最适合的稀疏系数重新进行训练,重复执行上述步骤;如果满足,则确定此时得到的mask掩码为最终需要的目标mask矩阵。
本申请上述实施例中,利用范数正则化算法对预训练模型进行处理,确定掩码矩阵包括:按照分组组合和列维度对预训练模型的权重矩阵进行范数处理,得到多个权重列的范数值;获取范数值小于第一预设值的权重列,得到目标权重列;确定掩码矩阵中目标权重列对应的元素值为预设值。
具体地,上述步骤中的第一预设值可以是预先设置的,用于确定权重列是否需要压缩的阈值,当范数值小于该阈值时,确定该权重列需要压缩;当范数值大于等于该阈值时,确定该权重列不需要压缩。预设值可以是mask矩阵中确定权重列需要压缩的元素值,例如,可以是0。
需要说明的是,权重列是否压缩需要根据范数值进行确定,因此,建立的mask矩阵中所有元素的值可以均为1,每次确定权重列需要压缩时,将相应的元素的值修改为1。
在一种可选的实施例中,每次训练完成得到训练好的模型之后,可以按照group组合进行L21计算,并找到按列维度计算的范数值最小的权重列,将范数值与设定的阈值进行比较,如果范数值小于设定的阈值,则确定该权重列需要压缩,可以将mask矩阵中该权重列对应的元素的值设置为0。
本申请上述实施例中,利用范数正则化算法对预训练模型进行处理,确定掩码矩阵包括:按照列维度获取权重矩阵中,位于同一列的权重值的绝对值的均值,得到多个权重列的第一均值;获取权重矩阵中所有权重值的均值,得到第二均值;获取多个权重列的第一均值与第二均值的比值,得到多个权重列的比值;获取比值小于第二预设值的权重列,得到目标权重列;确定掩码矩阵中目标权重列对应的元素值为预设值。
具体地,上述步骤中的第二预设值可以是预先设置的,用于确定权重列是否需要压缩的阈值,当比值小于该阈值时,确定该权重列需要压缩;当比值大于等于该阈值时,确定该权重列不需要压缩。
在一种可选的实施例中,对于每层隐含层对应的权重矩阵,首先按照列维度计算每个权重列中所有权重的绝对值的均值,得到第一均值,然后计算该权重矩阵中所有权重的平均值,得到第二均值,最后基于两个均值的比值进行全局排序,筛选出均值小于设定的阈值的所有权重列,确定其需要压缩,并将mask矩阵中相应的元素的值设置为0。
本申请上述实施例中,在利用损失函数和目标系数对处理后的网络模型进行重新训练的过程中,该方法还包括:利用梯度截断算法对处理后的网络模型进行处理。
在一种可选的实施例中,为了防止稀疏的权重进行梯度更新,在模型重新训练的过程中可以使用梯度截断算法对权重矩阵中的权重进行处理。
下面结合图3a和3b对本申请一种优选的实施例进行详细说明。
图3a示出了一种训练模型的流程图,如图3a所示,该方法可以包括如下步骤:
步骤S31,对DNN网络进行SVD修改,增加SVD网络节点。
可选地,上述步骤中的DNN网络可以是上述的神经网络模型。
步骤S32,在SVD网络基础上,叠加L21 weight group训练。
可选地,上述步骤中的L21 weight group可以是上述的范数正则化算法。可以对weight group按照group组合,然后增加列维度的group L21 loss函数进行训练,使得整列趋近于0,方便进行稀疏。
步骤S33,基于多组初始稀疏系数,根据训练一段时间后的精度变化和自定义的矩阵稀疏阈值,自动调整稀疏系数并找到目标稀疏系数。
可选地,上述步骤中的初始稀疏系数可以是上述的初始系数,目标稀疏系数可以是上述的目标系数。筛选目标为精度与原始精度相差不大,同时稀疏度越小。
步骤S34,利用找到的目标稀疏系数进行重新训练,得到新的精度。
可选地,利用找到的目标稀疏系数对SVD网络进行重新训练,得到最终的L21pretrain模型,即上述的预训练模型。
图3b示出了一种压缩模型的流程图,如图3b所示,该方法可以包括如下步骤:
步骤S35,给需要压缩的权重矩阵建立维度大小一样的mask矩阵。
可选地,mask矩阵的所有元素的值均设置为1。
步骤S36,对weight group按照group组合进行L21计算,找到按列维度计算的最低权重列。
步骤S37,对所有权重按照列维度计算绝对值的均值,以及当前层的所有权重的平均值,基于两个均值的比值进行全局排序,mask矩阵中低于设定阈值的整个权重列对应的元素值设置为0。
步骤S38,对mask后的模型进行重新训练,其中,使用L21 pretrain模型训练过程中使用的loss函数和目标稀疏系数进行重新训练。
可选地,在训练过程中使用梯度阶段算法防止稀疏的权重进行梯度更新。
步骤S39,判断精度和压缩比是否达到要求。
可选地,如果重新训练后的精度和压缩比未达到要求,则继续执行上述步骤S36至S39,直至精度和压缩比达到要求。
步骤S310,如果重新训练后的精度和压缩比达到要求,则利用mask矩阵对权重矩阵进行压缩,得到最终的优化模型。
可选地,上述步骤中的优化模型可以是上述的目标模型。
通过上述步骤,在SVD矩阵分解基础上,叠加L21的结构化压缩,实现将SVD之后的权重矩阵最大程度地进行结构化稀疏。
本申请上述实施例中,在利用目标掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型之后,该方法还包括:获取待处理的语音信号;利用目标模型对语音信号进行识别,得到识别结果。
上述步骤中的待处理的语音信号可以由用户发出,并通过麦克风等音频采集装置采集得到。
在一种可选的实施例中,在语音识别领域中,可以基于实际识别需求,预先通过上述方案训练得到目标模型,并利用目标模型对采集到的语音信号进行识别,得到相关的识别结果,进一步基于识别结果可以对设备进行控制,但不仅限于此。由于目标模型是进行优化压缩后的模型,从而使得语音识别速度较快,消耗较小。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述神经网络模型的处理方法的神经网络模型的处理装置,如图4所示,该装置400包括:第一训练模块402、获取模块404和第一处理模块406。
其中,第一训练模块402用于利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取模块404用于获取预训练模型对应的目标掩码矩阵,其中,掩码矩阵的维度与预训练模型的权重矩阵的维度相同;第一处理模块406用于利用掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。
此处需要说明的是,上述第一训练模块402、获取模块404和第一处理模块406对应于实施例1中的步骤S202至步骤S206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
基于本申请上述实施例提供的方案,在获取到需要进行压缩的神经网络模型之后,可以通过第一训练模块利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型,进一步通过第一处理模块利用设置好的目标掩码矩阵对预训练模型的权重矩阵进行剪枝操作,实现最大程度压缩神经网络模型的目的。与现有技术相比,在SVD分解基础上,利用范数正则化算法对权重矩阵持续进行稀疏,从而可以将SVD分解后的权重矩阵的稀疏度最大程度的消除,达到最大化降低神经网络模型的计算量,进一步降低硬件成本和功耗的技术效果,进而解决了相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的技术问题。
本申请上述实施例中,如图4所示,第一训练模块402包括:修改单元408、生成单元410和训练单元412。
其中,修改单元408用于利用奇异值分解算法对神经网络模型进行修改,得到修改后的网络模型;生成单元410用于基于范数正则化算法和目标系数,生成损失函数;训练单元412用于利用损失函数和目标系数对修改后的网络模型进行训练,得到预训练模型。
本申请上述实施例中,如图4所示,该装置400还包括:确定模块414。
其中,获取模块404还用于获取多组初始系数;第一训练模块402还用于利用每组初始系数对修改后的网络模型进行训练,确定每组初始系数对应的第一精度和权重矩阵;获取模块404还用于获取每组初始系数对应的权重矩阵的稀疏度,得到每组初始系数对应的矩阵稀疏度;确定模块414,用于基于每组初始系数对应的第一精度和矩阵稀疏度,确定多组初始系数中的目标系数。
本申请上述实施例中,如图4所示,确定模块414包括:比较单元416和第一确定单元418。
其中,比较单元416用于每组初始系数对应的第一精度与原始精度进行比较,并将每组初始系数对应的矩阵稀疏度与预设稀疏度进行比较;第一确定单元418用于如果第一精度在原始精度的预设范围之内,且矩阵稀疏度小于预设稀疏度,则相应的初始系数为目标系数。
本申请上述实施例中,如图4所示,该装置400还包括:第二处理模块420、第三处理模块422、第二训练模块424、判断模块426和返回模块428。
其中,第二处理模块420用于利用范数正则化算法对预训练模型进行处理,确定掩码矩阵;第三处理模块422用于利用掩码矩阵对预训练模型的权重矩阵进行处理,得到处理后的网络模型;第二训练模块424用于利用损失函数和目标系数对处理后的网络模型进行重新训练,得到训练后的网络模型;判断模块426用于判断训练后的网络模型的第二精度是否满足目标精度;返回模块428用于如果第二精度不满足目标精度,则将训练后的网络模型作为预训练模型,并返回执行第二处理模块的功能,直至第二精度满足目标精度;确定模块410用于如果第二精度满足目标精度,则确定掩码矩阵为目标掩码矩阵。
本申请上述实施例中,如图4所示,第二处理模块420包括:处理单元430、获取单元432和第二确定单元434。
其中,处理单元430用于按照分组组合和列维度对预训练模型的权重矩阵进行范数处理,得到多个权重列的范数值;获取单元432用于获取范数值小于第一预设值的权重列,得到目标权重列;第二确定单元434用于确定掩码矩阵中目标权重列对应的元素值为预设值。
本申请上述实施例中,处理单元430还用于按照列维度获取权重矩阵中,位于同一列的权重值的绝对值的均值,得到多个权重列的第一均值;获取单元432还用于获取权重矩阵中所有权重值的均值,得到第二均值;获取单元432还用于获取多个权重列的第一均值与第二均值的比值,得到多个权重列的比值;获取单元432还用于获取比值小于第二预设值的权重列,得到目标权重列;第二确定单元434还用于确定掩码矩阵中目标权重列对应的元素值为预设值。
本申请上述实施例中,第二训练模块还用于利用梯度截断算法对处理后的网络模型进行处理。
本申请上述实施例中,该装置还包括:第四处理模块。
其中,获取模块还用于获取待处理的语音信号;第四处理模块,用于利用目标模型对语音信号进行识别,得到识别结果。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例3
根据本申请实施例,还提供了一种数据处理方法。
图5是根据本申请实施例的一种数据处理方法的流程图。如图5所述,该方法包括如下步骤:
步骤S502,获取待处理的语音信号。
上述步骤中的待处理的语音信号可以由用户发出,并通过麦克风等音频采集装置采集得到。
步骤S504,利用目标模型对语音信号进行识别,得到识别结果,其中,目标模型是利用目标掩码矩阵对预训练模型的权重矩阵进行处理得到,预训练模型是利用奇异值分解算法和范数正则化算法对神经网络模型进行训练得到,目标掩码矩阵的维度与预训练模型的权重矩阵的维度相同。
上述步骤中的神经网络模型可以是卷积神经网络模型、循环神经网络模型、深度神经网络模型等,但不仅限于此,本申请实施例中以深度神经网络DNN模型为例进行说明。范数正则化算法可以采用L21范数的正则化算法,以实现权重矩阵按列稀疏的目的。目标掩码矩阵可以是为权重矩阵中每列权重值所设置的标志位,用于表征每列权重值是否能够被压缩。
具体地,DNN模型中每层隐含层对应有一个权重矩阵,因此,上述步骤中的权重矩阵可以是权重矩阵组(weight group)。
基于本申请上述实施例提供的方案,在获取到需要进行压缩的神经网络模型之后,可以利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型,进一步利用设置好的目标掩码矩阵对预训练模型的权重矩阵进行剪枝操作,从而可以利用目标模型对获取到的语音进行处理,得到识别结果,实现数据处理的目的。与现有技术相比,在SVD分解基础上,利用范数正则化算法对权重矩阵持续进行稀疏,从而可以将SVD分解后的权重矩阵的稀疏度最大程度的消除,达到最大化降低神经网络模型的计算量,进一步降低硬件成本和功耗的技术效果,进而解决了相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的技术问题。
本申请上述实施例中,利用奇异值分解算法和范数正则化算法对神经网络模型进行训练包括:利用奇异值分解算法对神经网络模型进行修改,得到修改后的网络模型;基于范数正则化算法和目标系数,生成损失函数;利用损失函数和目标系数对修改后的网络模型进行训练,得到预训练模型。
本申请上述实施例中,在基于范数正则化算法和目标系数,生成损失函数之前,该方法还包括:获取多组初始系数;利用每组初始系数对修改后的网络模型进行训练,确定每组初始系数对应的第一精度和权重矩阵;获取每组初始系数对应的权重矩阵的稀疏度,得到每组初始系数对应的矩阵稀疏度;基于每组初始系数对应的第一精度和矩阵稀疏度,确定多组初始系数中的目标系数。
本申请上述实施例中,基于每组初始系数对应的第一精度和矩阵稀疏度,确定多组初始系数中的目标系数包括:每组初始系数对应的第一精度与原始精度进行比较,并将每组初始系数对应的矩阵稀疏度与预设稀疏度进行比较;如果第一精度在原始精度的预设范围之内,且矩阵稀疏度小于预设稀疏度,则确定相应的初始系数为目标系数。
本申请上述实施例中,在获取预训练模型对应的目标掩码矩阵之前,该方法还包括:利用范数正则化算法对预训练模型进行处理,确定掩码矩阵;利用掩码矩阵对预训练模型的权重矩阵进行处理,得到处理后的网络模型;利用损失函数和目标系数对处理后的网络模型进行重新训练,得到训练后的网络模型;判断训练后的网络模型的第二精度是否满足目标精度;如果第二精度不满足目标精度,则将训练后的网络模型作为预训练模型,并返回执行利用范数正则化算法对预训练模型进行处理,确定掩码矩阵的步骤,直至第二精度满足目标精度;如果第二精度满足目标精度,则确定掩码矩阵为目标掩码矩阵。
本申请上述实施例中,利用范数正则化算法对预训练模型进行处理,确定掩码矩阵包括:按照分组组合和列维度对预训练模型的权重矩阵进行范数处理,得到多个权重列的范数值;获取范数值小于第一预设值的权重列,得到目标权重列;确定掩码矩阵中目标权重列对应的元素值为预设值。
本申请上述实施例中,利用范数正则化算法对预训练模型进行处理,确定掩码矩阵包括:按照列维度获取权重矩阵中,位于同一列的权重值的绝对值的均值,得到多个权重列的第一均值;获取权重矩阵中所有权重值的均值,得到第二均值;获取多个权重列的第一均值与第二均值的比值,得到多个权重列的比值;获取比值小于第二预设值的权重列,得到目标权重列;确定掩码矩阵中目标权重列对应的元素值为预设值。
本申请上述实施例中,在利用损失函数和目标系数对处理后的网络模型进行重新训练的过程中,该方法还包括:利用梯度截断算法对处理后的网络模型进行处理。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例4
根据本申请实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,如图6所示,该装置600包括:获取模块602和处理模块604。
其中,获取模块602用于获取待处理的语音信号;处理模块604用于利用目标模型对语音信号进行识别,得到识别结果,其中,目标模型是利用目标掩码矩阵对预训练模型的权重矩阵进行处理得到,预训练模型是利用奇异值分解算法和范数正则化算法对神经网络模型进行训练得到,目标掩码矩阵的维度与预训练模型的权重矩阵的维度相同。
此处需要说明的是,上述获取模块602和处理模块604对应于实施例3中的步骤S502至步骤S506,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
基于本申请上述实施例提供的方案,在获取到需要进行压缩的神经网络模型之后,可以利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型,进一步利用设置好的目标掩码矩阵对预训练模型的权重矩阵进行剪枝操作,从而可以利用目标模型对获取到的语音信号进行处理,得到识别结果,实现数据处理的目的。与现有技术相比,在SVD分解基础上,利用范数正则化算法对权重矩阵持续进行稀疏,从而可以将SVD分解后的权重矩阵的稀疏度最大程度的消除,达到最大化降低神经网络模型的计算量,进一步降低硬件成本和功耗的技术效果,进而解决了相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的技术问题。
本申请上述实施例中,处理模块包括:修改单元、生成单元和训练单元。
其中,修改单元用于利用奇异值分解算法对神经网络模型进行修改,得到修改后的网络模型;生成单元用于基于范数正则化算法和目标系数,生成损失函数;训练单元用于利用损失函数和目标系数对修改后的网络模型进行训练,得到预训练模型。
本申请上述实施例中,该装置还包括:第一训练模块和确定模块。
其中,获取模块还用于获取多组初始系数;第一训练模块用于利用每组初始系数对修改后的网络模型进行训练,确定每组初始系数对应的第一精度和权重矩阵;获取模块还用于获取每组初始系数对应的权重矩阵的稀疏度,得到每组初始系数对应的矩阵稀疏度;确定模块用于基于每组初始系数对应的第一精度和矩阵稀疏度,确定多组初始系数中的目标系数。
本申请上述实施例中,确定模块包括:比较单元和第一确定单元。
其中,比较单元用于每组初始系数对应的第一精度与原始精度进行比较,并将每组初始系数对应的矩阵稀疏度与预设稀疏度进行比较;第一确定单元用于如果第一精度在原始精度的预设范围之内,且矩阵稀疏度小于预设稀疏度,则相应的初始系数为目标系数。
本申请上述实施例中,该装置还包括:第一处理模块、第二处理模块、第二训练模块、判断模块和返回模块。
其中,第一处理模块用于利用范数正则化算法对预训练模型进行处理,确定掩码矩阵;第二处理模块用于利用掩码矩阵对预训练模型的权重矩阵进行处理,得到处理后的网络模型;第二训练模块用于利用损失函数和目标系数对处理后的网络模型进行重新训练,得到训练后的网络模型;判断模块用于判断训练后的网络模型的第二精度是否满足目标精度;返回模块用于如果第二精度不满足目标精度,则将训练后的网络模型作为预训练模型,并返回执行第二处理模块的功能,直至第二精度满足目标精度;确定模块用于如果第二精度满足目标精度,则确定掩码矩阵为目标掩码矩阵。
本申请上述实施例中,第一处理模块包括:处理单元、获取单元和第二确定单元。
其中,处理单元用于按照分组组合和列维度对预训练模型的权重矩阵进行范数处理,得到多个权重列的范数值;获取单元用于获取范数值小于第一预设值的权重列,得到目标权重列;第二确定单元用于确定掩码矩阵中目标权重列对应的元素值为预设值。
本申请上述实施例中,处理单元还用于按照列维度获取权重矩阵中,位于同一列的权重值的绝对值的均值,得到多个权重列的第一均值;获取单元还用于获取权重矩阵中所有权重值的均值,得到第二均值;获取单元还用于获取多个权重列的第一均值与第二均值的比值,得到多个权重列的比值;获取单元还用于获取比值小于第二预设值的权重列,得到目标权重列;第二确定单元还用于确定掩码矩阵中目标权重列对应的元素值为预设值。
本申请上述实施例中,第二训练模块还用于利用梯度截断算法对处理后的网络模型进行处理。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例5
根据本申请实施例,还提供了一种神经网络模型的处理系统,包括:
处理器;以及
存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取预训练模型对应的目标掩码矩阵,其中,掩码矩阵的维度与预训练模型的权重矩阵的维度相同;利用掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。
基于本申请上述实施例提供的方案,在获取到需要进行压缩的神经网络模型之后,可以利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型,进一步利用设置好的目标掩码矩阵对预训练模型的权重矩阵进行剪枝操作,实现最大程度压缩神经网络模型的目的。与现有技术相比,在SVD分解基础上,利用范数正则化算法对权重矩阵持续进行稀疏,从而可以将SVD分解后的权重矩阵的稀疏度最大程度的消除,达到最大化降低神经网络模型的计算量,进一步降低硬件成本和功耗的技术效果,进而解决了相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的技术问题。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例6
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行神经网络模型的处理方法中以下步骤的程序代码:利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取预训练模型对应的目标掩码矩阵,其中,目标掩码矩阵的维度与预训练模型的权重矩阵的维度相同;利用目标掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。
可选地,上述计算机终端可以采用如图1所示的硬件结构,如图1所示,该计算机终端可以包括:一个或多个(图中仅示出一个)处理器102、以及存储器104。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的神经网络模型的处理方法和装置对应的程序指令/模块,又如本申请实施例中的数据处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的神经网络模型的处理方法和数据处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取预训练模型对应的目标掩码矩阵,其中,目标掩码矩阵的维度与预训练模型的权重矩阵的维度相同;利用目标掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。
可选的,上述处理器还可以执行如下步骤的程序代码:利用奇异值分解算法对神经网络模型进行修改,得到修改后的网络模型;基于范数正则化算法和目标系数,生成损失函数;利用损失函数和目标系数对修改后的网络模型进行训练,得到预训练模型。
可选的,上述处理器还可以执行如下步骤的程序代码:在基于范数正则化算法和目标系数,生成损失函数之前,获取多组初始系数;利用每组初始系数对修改后的网络模型进行训练,确定每组初始系数对应的第一精度和权重矩阵;获取每组初始系数对应的权重矩阵的稀疏度,得到每组初始系数对应的矩阵稀疏度;基于每组初始系数对应的第一精度和矩阵稀疏度,确定多组初始系数中的目标系数。
可选的,上述处理器还可以执行如下步骤的程序代码:每组初始系数对应的第一精度与原始精度进行比较,并将每组初始系数对应的矩阵稀疏度与预设稀疏度进行比较;如果第一精度在原始精度的预设范围之内,且矩阵稀疏度小于预设稀疏度,则确定相应的初始系数为目标系数。
可选的,上述处理器还可以执行如下步骤的程序代码:在获取预训练模型对应的目标掩码矩阵之前,利用范数正则化算法对预训练模型进行处理,确定掩码矩阵;利用掩码矩阵对预训练模型的权重矩阵进行处理,得到处理后的网络模型;利用损失函数和目标系数对处理后的网络模型进行重新训练,得到训练后的网络模型;判断训练后的网络模型的第二精度是否满足目标精度;如果第二精度不满足目标精度,则将训练后的网络模型作为预训练模型,并返回执行利用范数正则化算法对预训练模型进行处理,确定掩码矩阵的步骤,直至第二精度满足目标精度;如果第二精度满足目标精度,则确定掩码矩阵为目标掩码矩阵。
可选的,上述处理器还可以执行如下步骤的程序代码:按照分组组合和列维度对预训练模型的权重矩阵进行范数处理,得到多个权重列的范数值;获取范数值小于第一预设值的权重列,得到目标权重列;确定掩码矩阵中目标权重列对应的元素值为预设值。
可选的,上述处理器还可以执行如下步骤的程序代码:按照列维度获取权重矩阵中,位于同一列的权重值的绝对值的均值,得到多个权重列的第一均值;获取权重矩阵中所有权重值的均值,得到第二均值;获取多个权重列的第一均值与第二均值的比值,得到多个权重列的比值;获取比值小于第二预设值的权重列,得到目标权重列;确定掩码矩阵中目标权重列对应的元素值为预设值。
可选的,上述处理器还可以执行如下步骤的程序代码:在利用损失函数和目标系数对处理后的网络模型进行重新训练的过程中,利用梯度截断算法对处理后的网络模型进行处理。
可选的,上述处理器还可以执行如下步骤的程序代码:获取待处理的语音信号;利用目标模型对语音信号进行识别,得到识别结果。
采用本申请实施例,提供了一种神经网络模型的处理方案。在SVD分解基础上,利用范数正则化算法对权重矩阵持续进行稀疏,从而可以将SVD分解后的权重矩阵的稀疏度最大程度的消除,达到最大化降低神经网络模型的计算量,进一步降低硬件成本和功耗的技术效果,进而解决了相关技术中神经网络模型的计算量较大,增加硬件成本和功耗的技术问题。
本领域普通技术人员可以理解,图1所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图1其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图1所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的神经网络模型的处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取预训练模型对应的目标掩码矩阵,其中,目标掩码矩阵的维度与预训练模型的权重矩阵的维度相同;利用目标掩码矩阵对预训练模型的权重矩阵进行处理,得到目标模型。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:利用奇异值分解算法对神经网络模型进行修改,得到修改后的网络模型;基于范数正则化算法和目标系数,生成损失函数;利用损失函数和目标系数对修改后的网络模型进行训练,得到预训练模型。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在基于范数正则化算法和目标系数,生成损失函数之前,获取多组初始系数;利用每组初始系数对修改后的网络模型进行训练,确定每组初始系数对应的第一精度和权重矩阵;获取每组初始系数对应的权重矩阵的稀疏度,得到每组初始系数对应的矩阵稀疏度;基于每组初始系数对应的第一精度和矩阵稀疏度,确定多组初始系数中的目标系数。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:每组初始系数对应的第一精度与原始精度进行比较,并将每组初始系数对应的矩阵稀疏度与预设稀疏度进行比较;如果第一精度在原始精度的预设范围之内,且矩阵稀疏度小于预设稀疏度,则确定相应的初始系数为目标系数。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在获取预训练模型对应的目标掩码矩阵之前,利用范数正则化算法对预训练模型进行处理,确定掩码矩阵;利用掩码矩阵对预训练模型的权重矩阵进行处理,得到处理后的网络模型;利用损失函数和目标系数对处理后的网络模型进行重新训练,得到训练后的网络模型;判断训练后的网络模型的第二精度是否满足目标精度;如果第二精度不满足目标精度,则将训练后的网络模型作为预训练模型,并返回执行利用范数正则化算法对预训练模型进行处理,确定掩码矩阵的步骤,直至第二精度满足目标精度;如果第二精度满足目标精度,则确定掩码矩阵为目标掩码矩阵。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:按照分组组合和列维度对预训练模型的权重矩阵进行范数处理,得到多个权重列的范数值;获取范数值小于第一预设值的权重列,得到目标权重列;确定掩码矩阵中目标权重列对应的元素值为预设值。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:按照列维度获取权重矩阵中,位于同一列的权重值的绝对值的均值,得到多个权重列的第一均值;获取权重矩阵中所有权重值的均值,得到第二均值;获取多个权重列的第一均值与第二均值的比值,得到多个权重列的比值;获取比值小于第二预设值的权重列,得到目标权重列;确定掩码矩阵中目标权重列对应的元素值为预设值。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在利用损失函数和目标系数对处理后的网络模型进行重新训练的过程中,利用梯度截断算法对处理后的网络模型进行处理。
可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:获取待处理的语音信号;利用目标模型对语音信号进行识别,得到识别结果。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (19)
1.一种神经网络模型的处理方法,包括:
利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;
获取所述预训练模型对应的目标掩码矩阵,其中,所述目标掩码矩阵的维度与所述预训练模型的权重矩阵的维度相同;
利用所述目标掩码矩阵对所述预训练模型的所述权重矩阵进行处理,得到目标模型。
2.根据权利要求1所述的方法,其中,利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型包括:
利用奇异值分解算法对所述神经网络模型进行修改,得到修改后的网络模型;
基于范数正则化算法和目标系数,生成损失函数;
利用所述损失函数和所述目标系数对所述修改后的网络模型进行训练,得到所述预训练模型。
3.根据权利要求2所述的方法,其中,在基于范数正则化算法和目标系数,生成损失函数之前,所述方法还包括:
获取多组初始系数;
利用每组初始系数对所述修改后的网络模型进行训练,确定所述每组初始系数对应的第一精度和权重矩阵;
获取所述每组初始系数对应的权重矩阵的稀疏度,得到所述每组初始系数对应的矩阵稀疏度;
基于所述每组初始系数对应的第一精度和矩阵稀疏度,确定所述多组初始系数中的所述目标系数。
4.根据权利要求3所述的方法,其中,基于所述每组初始系数对应的第一精度和矩阵稀疏度,确定所述多组初始系数中的所述目标系数包括:
将所述每组初始系数对应的第一精度与原始精度进行比较,并将所述每组初始系数对应的矩阵稀疏度与预设稀疏度进行比较;
如果所述第一精度在所述原始精度的预设范围之内,且所述矩阵稀疏度小于所述预设稀疏度,则确定相应的初始系数为所述目标系数。
5.根据权利要求2所述的方法,其中,在获取所述预训练模型对应的目标掩码矩阵之前,所述方法还包括:
利用范数正则化算法对所述预训练模型进行处理,确定掩码矩阵;
利用所述掩码矩阵对所述预训练模型的权重矩阵进行处理,得到处理后的网络模型;
利用所述损失函数和所述目标系数对所述处理后的网络模型进行重新训练,得到训练后的网络模型;
判断所述训练后的网络模型的第二精度是否满足目标精度;
如果所述第二精度不满足所述目标精度,则将所述训练后的网络模型作为所述预训练模型,并返回执行利用范数正则化算法对所述预训练模型进行处理,确定掩码矩阵的步骤,直至所述第二精度满足所述目标精度;
如果所述第二精度满足所述目标精度,则确定所述掩码矩阵为所述目标掩码矩阵。
6.根据权利要求5所述的方法,其中,利用范数正则化算法对所述预训练模型进行处理,确定掩码矩阵包括:
按照分组组合和列维度对所述预训练模型的权重矩阵进行范数处理,得到多个权重列的范数值;
获取范数值小于第一预设值的权重列,得到目标权重列;
确定所述掩码矩阵中所述目标权重列对应的元素值为预设值。
7.根据权利要求5所述的方法,其中,利用范数正则化算法对所述预训练模型进行处理,确定掩码矩阵包括:
按照列维度获取所述权重矩阵中,位于同一列的权重值的绝对值的均值,得到多个权重列的第一均值;
获取所述权重矩阵中所有权重值的均值,得到第二均值;
获取所述多个权重列的第一均值与所述第二均值的比值,得到所述多个权重列的比值;
获取比值小于第二预设值的权重列,得到目标权重列;
确定所述掩码矩阵中所述目标权重列对应的元素值为预设值。
8.根据权利要求5所述的方法,其中,在利用所述损失函数和所述目标系数对所述处理后的网络模型进行重新训练的过程中,所述方法还包括:
利用梯度截断算法对所述处理后的网络模型进行处理。
9.根据权利要求1所述的方法,其中,在利用所述目标掩码矩阵对所述预训练模型的所述权重矩阵进行处理,得到目标模型之后,所述方法还包括:
获取待处理的语音信号;
利用所述目标模型对所述语音信号进行识别,得到识别结果。
10.一种数据处理方法,包括:
获取待处理的语音信号;
利用目标模型对所述语音信号进行处理,得到识别结果,其中,所述目标模型是利用目标掩码矩阵对预训练模型的权重矩阵进行处理得到,所述预训练模型是利用奇异值分解算法和范数正则化算法对神经网络模型进行训练得到,所述目标掩码矩阵的维度与所述预训练模型的权重矩阵的维度相同。
11.根据权利要求10所述的方法,其中,利用奇异值分解算法和范数正则化算法对神经网络模型进行训练包括:
利用奇异值分解算法对所述神经网络模型进行修改,得到修改后的网络模型;
基于范数正则化算法和目标系数,生成损失函数;
利用所述损失函数和所述目标系数对所述修改后的网络模型进行训练。
12.一种神经网络模型的处理装置,包括:
第一训练模块,用于利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;
获取模块,用于获取所述预训练模型对应的目标掩码矩阵,其中,所述掩码矩阵的维度与所述预训练模型的权重矩阵的维度相同;
第一处理模块,用于利用所述掩码矩阵对所述预训练模型的所述权重矩阵进行处理,得到目标模型。
13.根据权利要求12所述的装置,其中,第一训练模块包括:
修改单元,用于利用奇异值分解算法对所述神经网络模型进行修改,得到修改后的网络模型;
生成单元,用于基于范数正则化算法和目标系数,生成损失函数;
训练单元,用于利用所述损失函数和所述目标系数对所述修改后的网络模型进行训练,得到所述预训练模型。
14.根据权利要求13所述的装置,其中,所述装置还包括:
第二处理模块,用于利用范数正则化算法对所述预训练模型进行处理,确定掩码矩阵;
第三处理模块,用于利用所述掩码矩阵对所述预训练模型的权重矩阵进行处理,得到处理后的网络模型;
第二训练模块,用于利用所述损失函数和所述目标系数对所述处理后的网络模型进行重新训练,得到训练后的网络模型;
判断模块,用于判断所述训练后的网络模型的第二精度是否满足目标精度;
返回模块,用于如果所述第二精度不满足所述目标精度,则将所述训练后的网络模型作为所述预训练模型,并返回执行所述第二处理模块的功能,直至所述第二精度满足所述目标精度;
确定模块,用于如果所述第二精度满足所述目标精度,则确定所述掩码矩阵为所述目标掩码矩阵。
15.一种数据处理装置,包括:
获取模块,用于获取待处理的语音信号;
处理模块,用于利用目标模型对所述语音信号进行识别,得到识别结果,其中,所述目标模型是利用目标掩码矩阵对预训练模型的权重矩阵进行处理得到,所述预训练模型是利用奇异值分解算法和范数正则化算法对神经网络模型进行训练得到,所述目标掩码矩阵的维度与所述预训练模型的权重矩阵的维度相同。
16.根据权利要求15所述的装置,其中,所述处理模块包括:
修改单元,用于利用奇异值分解算法对所述神经网络模型进行修改,得到修改后的网络模型;
生成单元,用于基于范数正则化算法和目标系数,生成损失函数;
训练单元,用于利用所述损失函数和所述目标系数对所述修改后的网络模型进行训练。
17.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至8中任意一项所述的神经网络模型的处理方法,或权利要求10至11中任意一项所述的数据处理方法。
18.一种计算设备,包括:存储器和处理器,所述处理器用于运行所述存储器中存储的程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的神经网络模型的处理方法,或权利要求10至11中任意一项所述的数据处理方法。
19.一种神经网络模型的处理系统,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:利用奇异值分解算法和范数正则化算法对神经网络模型进行训练,得到预训练模型;获取所述预训练模型对应的目标掩码矩阵,其中,所述掩码矩阵的维度与所述预训练模型的权重矩阵的维度相同;利用所述掩码矩阵对所述预训练模型的所述权重矩阵进行处理,得到目标模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010147728.2A CN113361698A (zh) | 2020-03-05 | 2020-03-05 | 神经网络模型的处理方法和装置、数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010147728.2A CN113361698A (zh) | 2020-03-05 | 2020-03-05 | 神经网络模型的处理方法和装置、数据处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113361698A true CN113361698A (zh) | 2021-09-07 |
Family
ID=77523841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010147728.2A Pending CN113361698A (zh) | 2020-03-05 | 2020-03-05 | 神经网络模型的处理方法和装置、数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113361698A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807517A (zh) * | 2021-09-18 | 2021-12-17 | 成都数联云算科技有限公司 | 剪枝参数搜索方法及剪枝方法、装置、设备、介质 |
CN113947185A (zh) * | 2021-09-30 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 任务处理网络生成、任务处理方法、装置、电子设备及存储介质 |
CN113962156A (zh) * | 2021-10-25 | 2022-01-21 | 中国科学技术大学 | 基于矩阵分解模型的剪枝方法、装置、设备、存储介质 |
CN114330339A (zh) * | 2022-03-03 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 文本处理方法、计算机可读存储介质及计算机设备 |
CN115329952A (zh) * | 2022-10-12 | 2022-11-11 | 深圳比特微电子科技有限公司 | 一种模型压缩方法、装置和可读存储介质 |
-
2020
- 2020-03-05 CN CN202010147728.2A patent/CN113361698A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807517A (zh) * | 2021-09-18 | 2021-12-17 | 成都数联云算科技有限公司 | 剪枝参数搜索方法及剪枝方法、装置、设备、介质 |
CN113807517B (zh) * | 2021-09-18 | 2024-02-02 | 成都数联云算科技有限公司 | 剪枝参数搜索方法及剪枝方法、装置、设备、介质 |
CN113947185A (zh) * | 2021-09-30 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 任务处理网络生成、任务处理方法、装置、电子设备及存储介质 |
CN113947185B (zh) * | 2021-09-30 | 2022-11-18 | 北京达佳互联信息技术有限公司 | 任务处理网络生成、任务处理方法、装置、电子设备及存储介质 |
CN113962156A (zh) * | 2021-10-25 | 2022-01-21 | 中国科学技术大学 | 基于矩阵分解模型的剪枝方法、装置、设备、存储介质 |
CN113962156B (zh) * | 2021-10-25 | 2024-05-17 | 中国科学技术大学 | 基于矩阵分解模型的剪枝方法、装置、设备、存储介质 |
CN114330339A (zh) * | 2022-03-03 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 文本处理方法、计算机可读存储介质及计算机设备 |
CN114330339B (zh) * | 2022-03-03 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 文本处理方法、计算机可读存储介质及计算机设备 |
CN115329952A (zh) * | 2022-10-12 | 2022-11-11 | 深圳比特微电子科技有限公司 | 一种模型压缩方法、装置和可读存储介质 |
CN115329952B (zh) * | 2022-10-12 | 2023-01-20 | 深圳比特微电子科技有限公司 | 一种模型压缩方法、装置和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113361698A (zh) | 神经网络模型的处理方法和装置、数据处理方法和装置 | |
KR102545128B1 (ko) | 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템 | |
CN113326930B (zh) | 数据处理方法、神经网络的训练方法及相关装置、设备 | |
CN110222717A (zh) | 图像处理方法和装置 | |
US20230401833A1 (en) | Method, computer device, and storage medium, for feature fusion model training and sample retrieval | |
CN112138403B (zh) | 交互行为的识别方法和装置、存储介质及电子设备 | |
CN112561028A (zh) | 训练神经网络模型的方法、数据处理的方法及装置 | |
US20190286989A1 (en) | Distributed neural network model utilization system | |
CN111357051B (zh) | 语音情感识别方法、智能装置和计算机可读存储介质 | |
CN113516133B (zh) | 一种多模态图像分类方法及系统 | |
CN107832794A (zh) | 一种卷积神经网络生成方法、车系识别方法及计算设备 | |
EP4053739A1 (en) | Neural network model for image segmentation and image segmentation method therefor | |
CN108959388A (zh) | 信息生成方法及装置 | |
CN112232165A (zh) | 一种数据处理方法、装置、计算机及可读存储介质 | |
CN114978189A (zh) | 一种数据编码方法以及相关设备 | |
CN113536970A (zh) | 一种视频分类模型的训练方法及相关装置 | |
CN110569960A (zh) | 用于重组深层神经网络的自我微调模型压缩方法及装置 | |
CN111597401A (zh) | 基于图关系网络的数据处理方法、装置、设备及介质 | |
CN115169548A (zh) | 基于张量的持续学习方法和装置 | |
CN112035662B (zh) | 文本处理方法、装置、计算机设备以及存储介质 | |
CN115757932A (zh) | 短视频推荐方法及装置、计算机设备及存储介质 | |
CN115115835A (zh) | 图像的语义分割方法、装置、设备、存储介质及程序产品 | |
CN113822291A (zh) | 一种图像处理方法、装置、设备及存储介质 | |
CN114398907A (zh) | 话题动态推荐方法、装置、存储介质以及电子设备 | |
CN116266394A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40059840 Country of ref document: HK |