CN112365886B - 语音识别模型的训练方法、装置和计算机设备 - Google Patents
语音识别模型的训练方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN112365886B CN112365886B CN202110059993.XA CN202110059993A CN112365886B CN 112365886 B CN112365886 B CN 112365886B CN 202110059993 A CN202110059993 A CN 202110059993A CN 112365886 B CN112365886 B CN 112365886B
- Authority
- CN
- China
- Prior art keywords
- model
- similarity matrix
- characteristic
- matrix
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0631—Creating reference templates; Clustering
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及人工智能领域,揭示了语音识别模型的压缩方法,包括:对训练集中指定语音语句提取数据帧;将数据帧按照批次处理数量输入第一模型,得到数据帧对应的第一特征帧,将数据帧按照批次处理数量输入第二模型中,得到数据帧对应的第二特征帧;计算第一特征帧对应的第一相似度矩阵,以及第二特征帧对应的第二相似度矩阵;根据第一相似度矩阵和第二相似度矩阵,计算指定语音语句对应的相似度矩阵差异;根据指定语音语句对应的相似度矩阵差异,计算训练集中所有语音语句分别对应的相似度矩阵差异;根据所有语音语句分别对应的相似度矩阵差异,形成训练第二模型的损失函数,训练第二模型。依据特征向量实现语音识别模型的容量压缩。
Description
技术领域
本申请涉及人工智能领域,特别是涉及到语音识别模型的压缩方法、装置和计算机设备。
背景技术
知识蒸馏是模型压缩中一种比较有效的方法,但是并不适用于所有类型的模型压缩。比如序列预测类的语音识别模型,由于序列预测是不定长序列,即输入和输出都是不定长的序列,没有明确的一对一的实例和标签数据对。比如一句语音语句中包括几个到十几个字符,但是却可能对应几百帧的音频数据,每帧音频数据经过语音识别模型计算后都会给出一个预测结果,音频数据包括停顿空白对应的音频以及少量的字符对应的音频,而且停顿空白对应的音频没有任何规律,仅表现在概率分布上就是概率集中在字符对应的音频的某个位置,概率分布不均衡。因此,按照常规的知识蒸馏会导致训练收敛后,压缩后的学生模型达不到压缩前老师模型的识别效果。
发明内容
本申请的主要目的为提供语音识别模型的压缩方法,旨在解决现有知识蒸馏不适用于压缩序列预测类的语音识别模型的技术问题。
本申请提出一种语音识别模型的压缩方法,包括:
对训练集中指定语音语句提取数据帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧,将所述数据帧按照所述批次处理数量输入第二模型中,得到所述数据帧对应的第二特征帧,其中,所述第二模型为待训练模型,为所述第一模型的压缩模型,所述第一模型的模型体积大于所述第二模型的模型体积;
计算所述第一特征帧对应的第一相似度矩阵,以及所述第二特征帧对应的第二相似度矩阵;
根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异;
根据所述指定语音语句对应的相似度矩阵差异,计算训练集中所有语音语句分别对应的相似度矩阵差异;
根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数;
根据所述损失函数在所述训练集上训练所述第二模型。
优选地,所述计算所述第一特征帧对应的第一相似度矩阵的步骤,包括:
将各所述第一特征帧矩阵进行转置计算,得到各所述第一特征帧矩阵分别对应的特征帧方阵;
计算第一特征帧方阵分别与各第二特征帧方阵之间的相似度,得到所述第一特征帧对应的第一相似度矩阵,其中,所述第一特征帧方阵属于所有所述第一特征帧对应的特征帧方阵的任意一方阵,所述第二指定特征帧方阵为所有所述第一特征帧对应的特征帧方阵中除所述第一特征帧方阵之外的特征帧方阵。
优选地,所述将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧的步骤,包括:
获取所述第一模型对应的批次计算指标;
根据所述批次计算指标确定所述批次处理数量;
按照所述批次处理数量,依次划窗所述数据帧提取各输入数据;
将各所述输入数据按照在所述指定语音语句中的时序次序,依次输入所述第一模型,得到依次排布的各所述第一特征帧。
优选地,所述根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异的步骤,包括:
将所述第一相似度矩阵和所述第二相似度矩阵中的相似度,转换为概率值;
根据转化后的概率值计算KL散度损失;
将所述KL散度损失作为所述指定语音语句对应的相似度矩阵差异。
优选地,所述根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数的步骤,包括:
将所述相似度矩阵差异作为第一损失;
获取所述第二模型预设的时序分类损失,作为第二损失;
对所述第一损失和所述损失求和,得到训练所述第二模型的损失函数。
本申请还提供了一种语音识别模型的压缩装置,包括:
提取模块,用于对训练集中指定语音语句提取数据帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
输入模块,用于将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧,将所述数据帧按照所述批次处理数量输入第二模型中,得到所述数据帧对应的第二特征帧,其中,所述第二模型为待训练模型,为所述第一模型的压缩模型,所述第一模型的模型体积大于所述第二模型的模型体积;
第一计算模块,用于计算所述第一特征帧对应的第一相似度矩阵,以及所述第二特征帧对应的第二相似度矩阵;
第二计算模块,用于根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异;
第三计算模块,用于根据所述指定语音语句对应的相似度矩阵差异,计算训练集中所有语音语句分别对应的相似度矩阵差异;
形成模块,用于根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数;
训练模块,用于根据所述损失函数在所述训练集上训练所述第二模型。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请通过将中间数据态的高维特征空间的特征表达即特征向量,作为知识蒸馏分析样本构建相似度矩阵,以确保将大容量语音识别模型作为老师模型,小容量语音识别模型作为学生模型时,通过知识蒸馏将老师模型的学习知识迁移至学生模型,使学生模型快速达到与老师模型具有相似数据处理能力,实现语音识别模型的容量压缩,节省计算资源和内存资源。
附图说明
图1 本申请一实施例的语音识别模型的压缩方法流程示意图;
图2 本申请一实施例的语音识别模型的压缩装置结构示意图;
图3 本申请一实施例的计算机设备内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的语音识别模型的压缩方法,包括:
S1:对训练集中指定语音语句提取数据帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
S2:将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧,将所述数据帧按照所述批次处理数量输入第二模型中,得到所述数据帧对应的第二特征帧,其中,所述第二模型为待训练模型,为所述第一模型的压缩模型,所述第一模型的模型体积大于所述第二模型的模型体积;
S3:计算所述第一特征帧对应的第一相似度矩阵,以及所述第二特征帧对应的第二相似度矩阵;
S4:根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异;
S5:根据所述指定语音语句对应的相似度矩阵差异,计算训练集中所有语音语句分别对应的相似度矩阵差异;
S6:根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数;
S7:根据所述损失函数在所述训练集上训练所述第二模型。
本申请实施例中经过预加重、降噪等声学处理后,通过加窗提取语音语句对应的数据帧。然后将提取的数据帧按照模型单次的计算吞吐量确定批次处理数据,然后按照批次处理数据的量将数据帧按照在语音语句中的时序次序依次输入语音识别模型。本申请实施例的大容量语音识别模型为基于CTC(Connectionist Temporal Classification,时序分类)的Teacher模型,在其全连接层的前一层网络输出中,获取当前输入的语音数据在高维特征空间的特征表达,并根据特征表达进行数据分析。由于语音数据中字符和停顿的分布无规律可循,导致语音识别模型中没有确定的实例与标签一一对应的训练数据,为确保将训练好的大容量语音识别模型的数据处理规律,较好的迁移至小容量语音识别模型中,本申请将中间数据态的高维特征空间的特征表达即特征向量,作为知识蒸馏分析样本构建相似度矩阵,以确保将大容量语音识别模型作为老师模型,小容量语音识别模型作为学生模型时,通过知识蒸馏将老师模型的学习知识迁移至学生模型,使学生模型快速达到与老师模型具有相似数据处理能力,实现语音识别模型的容量压缩,节省计算资源和内存资源。
本申请实施例中在知识蒸馏过程中,依据语音识别模型处理语音数据的规律,直接将高维特征空间的特征向量作为计算数据,来代替常规的标签蒸馏样本。本申请实施例中,只要控制老师模型和学生模型在处理输入数据帧的方式上保持一致,即批次处理数量一致,那么同一语音语句输入老师模型和学生模型将得到相同帧数的特征帧,才保证相似度矩阵外形一致的前提下计算相似度矩阵差异,并约束知识蒸馏。
进一步地,所述计算所述第一特征帧对应的第一相似度矩阵的步骤S3,包括:
S31:将各所述第一特征帧矩阵进行转置计算,得到各所述第一特征帧矩阵分别对应的特征帧方阵;
S32:计算第一特征帧方阵分别与各第二特征帧方阵之间的相似度,得到所述第一特征帧对应的第一相似度矩阵,其中,所述第一特征帧方阵属于所有所述第一特征帧对应的特征帧方阵的任意一方阵,所述第二指定特征帧方阵为所有所述第一特征帧对应的特征帧方阵中除所述第一特征帧方阵之外的特征帧方阵。
本申请实施例中,通过高维特征空间的特征向量作为知识蒸馏的数据分析样本,解决了语音数据没有实例和标签一一对应的数据缺陷,不能通过标签的概率分布特征进行知识蒸馏的缺陷。但通过高维特征空间的特征向量进行知识蒸馏时,要解决语音数据在特征空间的表达维度不一致的问题,本申请通过构建实例样本间的关系矩阵,去掉特征维度,构建知识蒸馏过程中的损失函数。
举例地,数据帧的向量维度为d,数据帧对应的特征帧的向量维度为c,即:输入M帧向量维度为d的数据帧矩阵,数据帧矩阵形状为(M, d) ,对应输出P帧向量维度为c的特征帧矩阵,特征帧矩阵形状为(P, c)。为计算当前语音语句对应的特征帧之间的相似关系,通过欧式距离或者余弦距离计算两个特征帧分别对应的高维特征向量的相似度,通过在老师模型中得到的当前语音语句对应的特征帧集合中,将每一个特征帧均分别与特征帧集合中该特征帧之外的其他特征帧进行逐一计算,得到老师模型处理当前语音语句对应的相似度矩阵。然后以同样的计算方式得到学生模型处理当前语音语句对应的相似度矩阵。为确保老师模型处理当前语音语句对应的相似度矩阵,与学生模型处理当前语音语句对应的相似度矩阵,在比较时不受向量维度的影响,在计算相似度矩阵之前将每个特征帧矩阵进行了转置计算,消除掉向量维度的影响。上述转置计算表示为(P, c)*(c, P)=(P, P),得到的特征帧矩阵与特征帧的维度没有关联关系,只与特征帧的数量有关,保证了老师模型和学生模型处理相同输入语音语句时输出相同帧数的特征帧,得到相同形状的特征帧相似度矩阵。
进一步地,所述将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧的步骤S2,包括:
S21:获取所述第一模型对应的批次计算指标;
S22:根据所述批次计算指标确定所述批次处理数量;
S23:按照所述批次处理数量,依次划窗所述数据帧提取各输入数据;
S24:将各所述输入数据按照在所述指定语音语句中的时序次序,依次输入所述第一模型,得到依次排布的各所述第一特征帧。
举例地,本申请中的语音数据包括大量的语音语句,语音语句经声学处理后提取出M帧的数据帧,上述批次处理数量为N帧数据帧,即每N帧数据帧输入语音识别模型的网络,就在其全连接层的前一层网络中输出一帧特征帧,最终输出P帧特征帧,其中1<=N<=M,P<= M,且M,N,P都是大于0的整数,M,N,P的取值由语音识别模型的网络结构决定。比如在RNN网络构成的语音识别模型中N=1,且P=M;在TDNN(time delay neural network,时延神经网络)语音识别模型中,N=21,且P=M;而在二维卷积网络中,N由卷积核的大小决定,且P <= M。
进一步地,所述根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异的步骤S4,包括:
S41:将所述第一相似度矩阵和所述第二相似度矩阵中的相似度,转换为概率值;
S42:根据转化后的概率值计算KL散度损失;
S43:将所述KL散度损失作为所述指定语音语句对应的相似度矩阵差异。
本申请实施例为缩小计算数值并减小计算量,将相似度用softmax函数或者其它函数转化为[0,1]区间的概率值,然后用KLDiv(Kullback-Leibler Divergence, KL散度)去计算KL散度损失,表示为KLDiv(Teacher, Student),以评估两个相似度矩阵的分布差异。
进一步地,所述根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数的步骤S5,包括:
S51:将所述相似度矩阵差异作为第一损失;
S52:获取所述第二模型预设的时序分类损失,作为第二损失;
S53:对所述第一损失和所述损失求和,得到训练所述第二模型的损失函数。
本申请实施例中,第一损失表示为loss_1 = KLDiv(Teacher, Student),同时为了避免知识蒸馏过拟合,CTC训练中的约束函数作为训练学生模型的损失函数的一部分,表示为第二损失loss_2 = CTC(Student),最终得到训练学生模型的损失函数为totalloss =loss_2 + lambda * loss_1,其中,lambda是平衡参数,让loss_1与loss_2的值在同一个量级上。因为本申请中loss_2的值为几十的数量级,而loss_1为几千的数量级,为确保两部分损失均能同步约束学生模型的训练,通过lambda将两部分损失调整到同一数量级。本申请的lambda为大于0的实数。
参照图2,本申请一实施例的语音识别模型的压缩装置,包括:
提取模块1,用于对训练集中指定语音语句提取数据帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
输入模块2,用于将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧,将所述数据帧按照所述批次处理数量输入第二模型中,得到所述数据帧对应的第二特征帧,其中,所述第二模型为待训练模型,为所述第一模型的压缩模型,所述第一模型的模型体积大于所述第二模型的模型体积;
第一计算模块3,用于计算所述第一特征帧对应的第一相似度矩阵,以及所述第二特征帧对应的第二相似度矩阵;
第二计算模块4,用于根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异;
第三计算模块5,用于根据所述指定语音语句对应的相似度矩阵差异,计算训练集中所有语音语句分别对应的相似度矩阵差异;
形成模块6,用于根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数;
训练模块7,用于根据所述损失函数在所述训练集上训练所述第二模型。
本申请实施例中经过预加重、降噪等声学处理后,通过加窗提取语音语句对应的数据帧。然后将提取的数据帧按照模型单次的计算吞吐量确定批次处理数据,然后按照批次处理数据的量将数据帧按照在语音语句中的时序次序依次输入语音识别模型。本申请实施例的大容量语音识别模型为基于CTC(Connectionist Temporal Classification,时序分类)的Teacher模型,在其全连接层的前一层网络输出中,获取当前输入的语音数据在高维特征空间的特征表达,并根据特征表达进行数据分析。由于语音数据中字符和停顿的分布无规律可循,导致语音识别模型中没有确定的实例与标签一一对应的训练数据,为确保将训练好的大容量语音识别模型的数据处理规律,较好的迁移至小容量语音识别模型中,本申请将中间数据态的高维特征空间的特征表达即特征向量作为知识蒸馏分析样本构建相似度矩阵,以确保将大容量语音识别模型作为老师模型,小容量语音识别模型作为学生模型时,通过知识蒸馏将老师模型的学习知识迁移至学生模型,使学生模型快速达到与老师模型具有相似数据处理能力,实现语音识别模型的容量压缩,节省计算资源和内存资源。
本申请实施例中在知识蒸馏过程中,依据语音识别模型处理语音数据的规律,直接将高维特征空间的特征向量作为计算数据,来代替常规的标签蒸馏样本。本申请实施例中,只要控制老师模型和学生模型在处理输入数据帧的方式上保持一致,即批次处理数量一致,那么同一语音语句输入老师模型和学生模型将得到相同帧数的特征帧,才保证相似度矩阵外形一致的前提下计算相似度矩阵差异,并约束知识蒸馏。
进一步地,所述第一计算模块3,包括:
第一计算单元,用于将各所述第一特征帧矩阵进行转置计算,得到各所述第一特征帧矩阵分别对应的特征帧方阵;
第二计算单元,用于计算第一特征帧方阵分别与各第二特征帧方阵之间的相似度,得到所述第一特征帧对应的第一相似度矩阵,其中,所述第一特征帧方阵属于所有所述第一特征帧对应的特征帧方阵的任意一方阵,所述第二指定特征帧方阵为所有所述第一特征帧对应的特征帧方阵中除所述第一特征帧方阵之外的特征帧方阵。
本申请实施例中,通过高维特征空间的特征向量作为知识蒸馏的数据分析样本,解决了语音数据没有实例和标签一一对应的数据缺陷,不能通过标签的概率分布特征进行知识蒸馏的缺陷。但通过高维特征空间的特征向量进行知识蒸馏时,要解决语音数据在特征空间的表达维度不一致的问题,本申请通过构建实例样本间的关系矩阵,去掉特征维度,构建知识蒸馏过程中的损失函数。
举例地,数据帧的向量维度为d,数据帧对应的特征帧的向量维度为c,即:输入M帧向量维度为d的数据帧矩阵,数据帧矩阵形状为(M, d) ,对应输出P帧向量维度为c的特征帧矩阵,特征帧矩阵形状为(P, c)。为计算当前语音语句对应的特征帧之间的相似关系,通过欧式距离或者余弦距离计算两个特征帧分别对应的高维特征向量的相似度,通过在老师模型中得到的当前语音语句对应的特征帧集合中,将每一个特征帧均分别与特征帧集合中该特征帧之外的其他特征帧进行逐一计算,得到老师模型处理当前语音语句对应的相似度矩阵。然后以同样的计算方式得到学生模型处理当前语音语句对应的相似度矩阵。为确保老师模型处理当前语音语句对应的相似度矩阵,与学生模型处理当前语音语句对应的相似度矩阵,在比较时不受向量维度的影响,在计算相似度矩阵之前将每个特征帧矩阵进行了转置计算,消除掉向量维度的影响。上述转置计算表示为(P, c)*(c, P)=(P, P),得到的特征帧矩阵与特征帧的维度没有关联关系,只与特征帧的数量有关,保证了老师模型和学生模型处理相同输入语音语句时输出相同帧数的特征帧,得到相同形状的特征帧相似度矩阵。
进一步地,所述输入模块2,包括:
第一获取单元,用于获取所述第一模型对应的批次计算指标;
第三计算单元,用于根据所述批次计算指标确定所述批次处理数量;
提取单元,用于按照所述批次处理数量,依次划窗所述数据帧提取各输入数据;
输入单元,用于将各所述输入数据按照在所述指定语音语句中的时序次序,依次输入所述第一模型,得到依次排布的各所述第一特征帧。
举例地,本申请中的语音数据包括大量的语音语句,语音语句经声学处理后提取出M帧的数据帧,上述批次处理数量为N帧数据帧,即每N帧数据帧输入语音识别模型的网络,就在其全连接层的前一层网络中输出一帧特征帧,最终输出P帧特征帧,其中1<=N<=M,P<= M,且M,N,P都是大于0的整数,M,N,P的取值由语音识别模型的网络结构决定。比如在RNN网络构成的语音识别模型中N=1,且P=M;在TDNN(time delay neural network,时延神经网络)语音识别模型中,N=21,且P=M;而在二维卷积网络中,N由卷积核的大小决定,且P <= M。
进一步地,所述第二计算模块4,包括:
转换单元,用于将所述第一相似度矩阵和所述第二相似度矩阵中的相似度,转换为概率值;
第四计算单元,用于根据转化后的概率值计算KL散度损失;
第一作为单元,用于将所述KL散度损失作为所述指定语音语句对应的相似度矩阵差异。
本申请实施例为缩小计算数值并减小计算量,将相似度用softmax函数或者其它函数转化为[0,1]区间的概率值,然后用KLDiv(Kullback-Leibler Divergence, KL散度)去计算KL散度损失,表示为KLDiv(Teacher, Student),以评估两个相似度矩阵的分布差异。
进一步地,所述第三计算模块5,包括:
第二作为单元,用于将所述相似度矩阵差异作为第一损失;
第二获取单元,用于获取所述第二模型预设的时序分类损失,作为第二损失;
得到单元,用于对所述第一损失和所述损失求和,得到训练所述第二模型的损失函数。
本申请实施例中,第一损失表示为loss_1 = KLDiv(Teacher, Student),同时为了避免知识蒸馏过拟合,将CTC训练中的约束函数作为训练学生模型的损失函数的一部分,表示为第二损失loss_2 = CTC(Student),最终得到训练学生模型的损失函数为totalloss= loss_2 + lambda * loss_1,其中,lambda是平衡参数,让loss_1与loss_2的值在同一个量级上。因为本申请中loss_2的值为几十的数量级,而loss_1为几千的数量级,为确保两部分损失均能同步约束学生模型的训练,通过lambda将两部分损失调整到同一数量级。本申请的lambda为大于0的实数。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储语音识别模型的压缩过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现语音识别模型的压缩方法。
上述处理器执行上述语音识别模型的压缩方法,包括:对训练集中指定语音语句提取数据帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧,将所述数据帧按照所述批次处理数量输入第二模型中,得到所述数据帧对应的第二特征帧,其中,所述第二模型为待训练模型,为所述第一模型的压缩模型,所述第一模型的模型体积大于所述第二模型的模型体积;计算所述第一特征帧对应的第一相似度矩阵,以及所述第二特征帧对应的第二相似度矩阵;根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异;根据所述指定语音语句对应的相似度矩阵差异,计算训练集中所有语音语句分别对应的相似度矩阵差异;根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数;根据所述损失函数在所述训练集上训练所述第二模型。
上述计算机设备,通过将中间数据态的高维特征空间的特征表达即特征向量,作为知识蒸馏分析样本构建相似度矩阵,以确保将大容量语音识别模型作为老师模型,小容量语音识别模型作为学生模型时,通过知识蒸馏将老师模型的学习知识迁移至学生模型,使学生模型快速达到与老师模型具有相似数据处理能力,实现语音识别模型的容量压缩,节省计算资源和内存资源。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现语音识别模型的压缩方法,包括:对训练集中指定语音语句提取数据帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧,将所述数据帧按照所述批次处理数量输入第二模型中,得到所述数据帧对应的第二特征帧,其中,所述第二模型为待训练模型,为所述第一模型的压缩模型,所述第一模型的模型体积大于所述第二模型的模型体积;计算所述第一特征帧对应的第一相似度矩阵,以及所述第二特征帧对应的第二相似度矩阵;根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异;根据所述指定语音语句对应的相似度矩阵差异,计算训练集中所有语音语句分别对应的相似度矩阵差异;根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数;根据所述损失函数在所述训练集上训练所述第二模型。
上述计算机可读存储介质,通过将中间数据态的高维特征空间的特征表达即特征向量,作为知识蒸馏分析样本构建相似度矩阵,以确保将大容量语音识别模型作为老师模型,小容量语音识别模型作为学生模型时,通过知识蒸馏将老师模型的学习知识迁移至学生模型,使学生模型快速达到与老师模型具有相似数据处理能力,实现语音识别模型的容量压缩,节省计算资源和内存资源。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种语音识别模型的训练方法,其特征在于,包括:
对训练集中指定语音语句提取数据帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧,将所述数据帧按照所述批次处理数量输入第二模型中,得到所述数据帧对应的第二特征帧,其中,所述第一模型为训练好的大容量语音识别模型,所述第二模型为待训练的小容量语音识别模型;
计算所述第一特征帧对应的第一相似度矩阵,以及所述第二特征帧对应的第二相似度矩阵;
根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异;
根据所述指定语音语句对应的相似度矩阵差异,计算训练集中所有语音语句分别对应的相似度矩阵差异;
根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数;
根据所述损失函数在所述训练集上训练所述第二模型。
2.根据权利要求1所述的语音识别模型的训练方法,其特征在于,所述计算所述第一特征帧对应的第一相似度矩阵的步骤,包括:
将各所述第一特征帧矩阵进行转置计算,得到各所述第一特征帧矩阵分别对应的特征帧方阵;
计算第一特征帧方阵分别与各第二特征帧方阵之间的相似度,得到所述第一特征帧对应的第一相似度矩阵,其中,所述第一特征帧方阵属于所有所述第一特征帧对应的特征帧方阵的任意一方阵,所述第二特征帧方阵为所有所述第一特征帧对应的特征帧方阵中除所述第一特征帧方阵之外的特征帧方阵。
3.根据权利要求2所述的语音识别模型的训练方法,其特征在于,所述将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧的步骤,包括:
获取所述第一模型对应的批次计算指标;
根据所述批次计算指标确定所述批次处理数量;
按照所述批次处理数量,依次划窗所述数据帧提取各输入数据;
将各所述输入数据按照在所述指定语音语句中的时序次序,依次输入所述第一模型,得到依次排布的各所述第一特征帧。
4.根据权利要求3所述的语音识别模型的训练方法,其特征在于,所述根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异的步骤,包括:
将所述第一相似度矩阵和所述第二相似度矩阵中的相似度,转换为概率值;
根据转化后的概率值计算KL散度损失;
将所述KL散度损失作为所述指定语音语句对应的相似度矩阵差异。
5.根据权利要求1所述的语音识别模型的训练方法,其特征在于,所述根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数的步骤,包括:
将所述相似度矩阵差异作为第一损失;
获取所述第二模型预设的时序分类损失,作为第二损失;
对所述第一损失和所述第二损失求和,得到训练所述第二模型的损失函数。
6.语音识别模型的训练装置,其特征在于,包括:
提取模块,用于对训练集中指定语音语句提取数据帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
输入模块,用于将所述数据帧按照批次处理数量输入第一模型,得到所述数据帧对应的第一特征帧,将所述数据帧按照所述批次处理数量输入第二模型中,得到所述数据帧对应的第二特征帧,其中,所述第一模型为训练好的大容量语音识别模型,所述第二模型为待训练的小容量语音识别模型;
第一计算模块,用于计算所述第一特征帧对应的第一相似度矩阵,以及所述第二特征帧对应的第二相似度矩阵;
第二计算模块,用于根据所述第一相似度矩阵和所述第二相似度矩阵,计算所述指定语音语句对应的相似度矩阵差异;
第三计算模块,用于根据所述指定语音语句对应的相似度矩阵差异,计算训练集中所有语音语句分别对应的相似度矩阵差异;
形成模块,用于根据所有语音语句分别对应的相似度矩阵差异,形成训练所述第二模型的损失函数;
训练模块,用于根据所述损失函数在所述训练集上训练所述第二模型。
7.根据权利要求6所述的语音识别模型的训练装置,其特征在于,所述第一计算模块,包括:
第一计算单元,用于将各所述第一特征帧矩阵进行转置计算,得到各所述第一特征帧矩阵分别对应的特征帧方阵;
第二计算单元,用于计算第一特征帧方阵分别与各第二特征帧方阵之间的相似度,得到所述第一特征帧对应的第一相似度矩阵,其中,所述第一特征帧方阵属于所有所述第一特征帧对应的特征帧方阵的任意一方阵,所述第二特征帧方阵为所有所述第一特征帧对应的特征帧方阵中除所述第一特征帧方阵之外的特征帧方阵。
8.根据权利要求6所述的语音识别模型的训练装置,其特征在于,所述输入模块,包括:
第一获取单元,用于获取所述第一模型对应的批次计算指标;
第三计算单元,用于根据所述批次计算指标确定所述批次处理数量;
提取单元,用于按照所述批次处理数量,依次划窗所述数据帧提取各输入数据;
输入单元,用于将各所述输入数据按照在所述指定语音语句中的时序次序,依次输入所述第一模型,得到依次排布的各所述第一特征帧。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110059993.XA CN112365886B (zh) | 2021-01-18 | 2021-01-18 | 语音识别模型的训练方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110059993.XA CN112365886B (zh) | 2021-01-18 | 2021-01-18 | 语音识别模型的训练方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112365886A CN112365886A (zh) | 2021-02-12 |
CN112365886B true CN112365886B (zh) | 2021-05-07 |
Family
ID=74534982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110059993.XA Active CN112365886B (zh) | 2021-01-18 | 2021-01-18 | 语音识别模型的训练方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112365886B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113487614B (zh) * | 2021-09-08 | 2021-11-30 | 四川大学 | 胎儿超声标准切面图像识别网络模型的训练方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107358293A (zh) * | 2017-06-15 | 2017-11-17 | 北京图森未来科技有限公司 | 一种神经网络训练方法及装置 |
CN110246487A (zh) * | 2019-06-13 | 2019-09-17 | 苏州思必驰信息科技有限公司 | 用于单通道的语音识别模型的优化方法及系统 |
CN110659665A (zh) * | 2019-08-02 | 2020-01-07 | 深圳力维智联技术有限公司 | 一种异维特征的模型构建方法及图像识别方法、装置 |
CN111144456A (zh) * | 2019-12-13 | 2020-05-12 | 东南大学 | 一种基于本征特征迁移的深度模型压缩方法 |
US20200357384A1 (en) * | 2019-05-09 | 2020-11-12 | Samsung Electronics Co., Ltd. | Model training method and apparatus |
CN112200722A (zh) * | 2020-10-16 | 2021-01-08 | 鹏城实验室 | 图像超分辨重构模型的生成方法、重构方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11625595B2 (en) * | 2018-08-29 | 2023-04-11 | International Business Machines Corporation | Knowledge transfer between recurrent neural networks |
-
2021
- 2021-01-18 CN CN202110059993.XA patent/CN112365886B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107358293A (zh) * | 2017-06-15 | 2017-11-17 | 北京图森未来科技有限公司 | 一种神经网络训练方法及装置 |
US20200357384A1 (en) * | 2019-05-09 | 2020-11-12 | Samsung Electronics Co., Ltd. | Model training method and apparatus |
CN110246487A (zh) * | 2019-06-13 | 2019-09-17 | 苏州思必驰信息科技有限公司 | 用于单通道的语音识别模型的优化方法及系统 |
CN110659665A (zh) * | 2019-08-02 | 2020-01-07 | 深圳力维智联技术有限公司 | 一种异维特征的模型构建方法及图像识别方法、装置 |
CN111144456A (zh) * | 2019-12-13 | 2020-05-12 | 东南大学 | 一种基于本征特征迁移的深度模型压缩方法 |
CN112200722A (zh) * | 2020-10-16 | 2021-01-08 | 鹏城实验室 | 图像超分辨重构模型的生成方法、重构方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112365886A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990543A (zh) | 智能对话的生成方法、装置、计算机设备及计算机存储介质 | |
CN112712813B (zh) | 语音处理方法、装置、设备及存储介质 | |
CN112365885A (zh) | 唤醒模型的训练方法、装置和计算机设备 | |
CN112365385B (zh) | 基于自注意力的知识蒸馏方法、装置和计算机设备 | |
CN109977394B (zh) | 文本模型训练方法、文本分析方法、装置、设备及介质 | |
US11417316B2 (en) | Speech synthesis method and apparatus and computer readable storage medium using the same | |
CN111429923B (zh) | 说话人信息提取模型的训练方法、装置和计算机设备 | |
CN110796231B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113870845A (zh) | 语音识别模型训练方法、装置、设备及介质 | |
CN113254613A (zh) | 对话问答方法、装置、设备及存储介质 | |
CN111223476A (zh) | 语音特征向量的提取方法、装置、计算机设备和存储介质 | |
CN112365886B (zh) | 语音识别模型的训练方法、装置和计算机设备 | |
CN116434741A (zh) | 语音识别模型训练方法、装置、计算机设备及存储介质 | |
CN114782775A (zh) | 分类模型的构建方法、装置、计算机设备及存储介质 | |
CN114139551A (zh) | 意图识别模型的训练方法及装置、意图识别的方法及装置 | |
CN111292851A (zh) | 数据分类方法、装置、计算机设备和存储介质 | |
CN114398871A (zh) | 金融实体抽取方法、装置、设备与计算机可读存储介质 | |
CN114360552A (zh) | 用于说话人识别的网络模型训练方法、装置及存储介质 | |
CN117194632A (zh) | 从文档中抽取结构化知识的方法、装置、设备及介质 | |
CN112270344A (zh) | 一种基于cbam的图像描述生成模型方法 | |
CN113496282A (zh) | 一种模型训练方法及装置 | |
CN116129881A (zh) | 语音任务处理方法、装置、电子设备及存储介质 | |
CN115730590A (zh) | 意图识别方法以及相关设备 | |
CN115116470A (zh) | 音频处理方法、装置、计算机设备和存储介质 | |
CN114638229A (zh) | 笔录数据的实体识别方法、装置、介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |