CN114399995A - 语音模型的训练方法、装置、设备及计算机可读存储介质 - Google Patents
语音模型的训练方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114399995A CN114399995A CN202210067196.0A CN202210067196A CN114399995A CN 114399995 A CN114399995 A CN 114399995A CN 202210067196 A CN202210067196 A CN 202210067196A CN 114399995 A CN114399995 A CN 114399995A
- Authority
- CN
- China
- Prior art keywords
- voice
- training
- sample
- model
- speech
- 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
- 238000012549 training Methods 0.000 title claims abstract description 258
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 113
- 230000015654 memory Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 19
- 230000000052 comparative effect Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 15
- 238000012512 characterization method Methods 0.000 description 12
- 238000009826 distribution Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000009432 framing Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007621 cluster analysis Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000005266 circulating tumour cell Anatomy 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Landscapes
- Engineering & Computer Science (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)
- Artificial Intelligence (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本申请提供了一种语音模型的训练方法、装置、设备及计算机可读存储介质,应用于语音处理领域,方法包括:获取用于语音识别的初始语音模型,其中,初始语音模型基于携带样本标签的第一语音样本训练得到;通过初始语音模型,对第二语音样本进行语音识别,得到识别结果,并将识别结果作为第二语音样本的伪标签;基于携带伪标签的第二语音样本、携带样本标签的第一语音样本,对初始语音模型进行联合训练,得到目标语音模型。通过本申请,能够提高语音模型的识别准确度。
Description
技术领域
本申请涉及语音识别技术,尤其涉及一种语音模型的训练方法、装置、设备、计算机程序产品及计算机可读存储介质。
背景技术
自动语音识别(ASR,Automatic Speech Recognition)技术是一种将一段语音信号转化为相应的文字信息的技术,语音识别这项技术可以提供比如自动客服、自动语音翻译、命令控制、语音验证码等多项应用。
在语音识别处理过程中,针对同一语音数据,通常会解析出多条语音识别结果,需要选择多条语音识别结果中与语音数据最匹配的语音识别结果,而合理、准确的选择决定了语音识别处理的准确程度。
相关技术提供的语音识别系统的训练方案,为了提升识别精度不得不依赖于大量的标注数据,这与大量的预标注数据难以获得的现实之间形成矛盾,影响了语音识别的精度。
发明内容
本申请实施例提供一种语音模型的训练方法、装置、设备、计算机程序产品及计算机可读存储介质,能够提高语音模型的识别准确度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种语音模型的训练方法,包括:
获取用于语音识别的初始语音模型,所述初始语音模型基于携带样本标签的第一语音样本训练得到;
通过所述初始语音模型,对第二语音样本进行语音识别,得到识别结果,并将所述识别结果作为所述第二语音样本的伪标签;
基于携带所述伪标签的第二语音样本、携带所述样本标签的第一语音样本,对所述初始语音模型进行联合训练,得到目标语音模型。
本申请实施例提供一种语音模型的训练装置,包括:
获取模块,用于获取用于语音识别的初始语音模型,所述初始语音模型基于携带样本标签的第一语音样本训练得到;
识别模块,用于通过所述初始语音模型,对第二语音样本进行语音识别,得到识别结果,并将所述识别结果作为所述第二语音样本的伪标签;
训练模块,用于基于携带所述伪标签的第二语音样本、携带所述样本标签的第一语音样本,对所述初始语音模型进行联合训练,得到目标语音模型。
上述方案中,所述训练模块,还用于通过所述初始语音模型,对联合训练样本集合中的训练样本进行预测,得到预测结果;其中,所述联合训练样本集合包括:携带所述样本标签的第一语音样本及携带所述伪标签的第二语音样本;
获取所述预测结果与所述训练样本的标签之间的差异,并基于所述差异确定目标损失函数的值;
基于所述训练样本及所述预测结果进行对比学习,以确定所述训练样本对应的对比损失函数的值;
结合所述目标损失函数的值以及所述对比损失函数的值,更新所述初始语音模型的模型参数,得到目标语音模型。
上述方案中,所述训练模块,还用于基于所述训练样本,构建相应的正样本以及负样本;
基于所述正样本及所述预测结果,确定所述对比损失函数的值作为所述正样本与所述训练样本之间的第一损失;
基于所述负样本及所述预测结果,确定所述对比损失函数的值作为所述负样本与所述训练样本之间的第二损失;
基于所述第一损失与所述第二损失,确定所述训练样本对应的对比损失函数的值。
上述方案中,所述训练模块,还用于对所述训练样本进行特征提取,得到所述训练样本对应的初始语音特征;
对所述初始语音特征进行离散化处理,得到目标语音特征作为所述训练样本对应的正样本;
生成对应所述初始语音特征的噪声特征,作为所述训练样本对应的负样本。
上述方案中,所述训练模块,还用于获取特征交换比例;
基于所述特征交换比例,将所述预测结果中部分特征与所述训练样本中部分特征进行交换,得到交换后的预测结果及交换后的训练样本;
其中,所述交换后的预测结果,用于结合所述训练样本的标签确定所述目标损失函数的值;
所述交换后的训练样本,用于结合所述预测结果进行对比学习,以确定所述训练样本对应的对比损失函数的值。
上述方案中,所述训练模块,还用于分别获取所述目标损失函数的权重及所述对比损失函数的权重;
基于所述目标损失函数的权重及所述对比损失函数的权重,对所述目标损失函数的值以及所述对比损失函数的值进行加权求和,得到加权求和结果;
基于所述加权求和结果,更新所述初始语音模型的模型参数,得到目标语音模型。
上述方案中,所述训练模块,还用于获取携带语音标签的第三语音样本;
基于所述第三语音样本,对所述目标语音模型进行训练,以更新所述目标语音模型的模型参数。
上述方案中,训练完成的目标语音模型,还用于获取待识别语音数据;
将所述待识别语音数据输入至所述目标语音模型,输出识别得到的语音结果。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的语音模型的训练方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的语音模型的训练方法。
本申请实施例具有以下有益效果:
应用本申请上述实施例,基于携带标签的第一语音样本训练得到初始语音模型,然后通过初始语音模型,识别无标签的第二语音样本,将得到的识别结果作为第二语音样本的伪标签,并基于第一语音样本以及第二语音样本对初始语音模型进行联合训练。如此,能够通过少量的携带标签的语音以及无标签的语音样本实现语音模型的训练,降低针对语音样本的标注成本,提高语音模型的识别准确度。
附图说明
图1A-1B是本申请实施例提供的语音模型的训练系统100的架构示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的语音模型的训练方法流程示意图;
图4是本申请实施例提供的语音样本示意图;
图5是本申请实施例提供的语音模型训练流程图;
图6是本申请实施例提供的语音模型的联合训练方法的流程示意图;
图7是本申请实施例提供的连续时序分类示例图;
图8是本申请实施例提供的对比损失函数值确定流程示意图;
图9是本申请实施例提供的正负样本构建流程示意图;
图10是本申请实施例提供的语音模型的联合训练方法流程图;
图11是本申请实施例提供的针对语音模型的微调方法流程图;
图12是本申请实施例提供的语音模型的联合训练方法的流程图;
图13是相关技术提供的语音模型无监督训练流程示意图;
图14是相关技术提供的针对语音模型的对比学习流程图;
图15是本申请实施例提供的语音模型预训练流程示意图;
图16是本申请实施例提供的语音模型联合训练示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)语音模型的声学模型(AM,Automatic Model),对声学、语音学、环境的变量、说话人性别、口音的差异化的知识表示,包括基于隐马尔可夫模型(HMM,Hidden MarkovModel)的声学模型,例如混合高斯-隐马尔科夫模型(GMM-HMM)和深度神经网络-隐马尔科夫模型(DNN-HMM)表示,隐马尔可夫模型是一个离散时域的加权有限状态自动机;当然,还可以包括端到端(End to End)的声学模型,例如连接时序分类-长短时记忆(CTC-LSTM)模型和注意力(Attention)模型。
声学模型的每个状态中表示语音单元(例如词、音节和音素等)的语音特征在该状态的概率分布,并通过状态与状态之间的转移连接成一个有序的状态序列,即得到一段语音信号所代表的语音单元的序列。
2)语音模型的语言模型(LM,Language Mode),是语言结构的只是表示,这里语言结构可以包括词语、句子之间的规律,例如语法、词语常用搭配等的知识表示,语言模型可以包括N元模型(N-gram Model)、递归神经网络(RNN,Recurrent Neural Network)等。
对于一段文字序列,语言模型的任务是计算该序列的概率分布,通俗解释为判断一个语言序列是否是正常语句。
3)发音词典,记录词和音素之间的对应关系,是连接声学模型和语言模型的枢纽。
4)词错率(WER,Word Error Rate)或字错率(CER,Character Error Rate),描述语音识别任务中识别的词序列和真实词序列的匹配度,是语音识别系统的评估指标;具体地:为了使识别出来的词序列和标准的词序列之间保持一致,需要进行替换、删除或者插入某些词,这些插入、替换或删除的词的总个数,除以标准的词序列中词的总个数的百分比,通常英文语音识别以WER描述,中文语音识别以CER描述。
5)无监督学习(unsupervised learning):无监督学习是机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入的资料进行分类或分群。无监督学习的主要运用包含:聚类分析(cluster analysis)、关系规则(association rule)、维度缩减(dimensionality reduce)。
6)对比学习(Contrastive Learning):对比学习是一种常用的无监督训练算法,这种方法通过构建正样本和负样本,并将正样本和负样本在特征空间对比,学习模型的潜在特征表示。这种方法旨在通过对比学习最大化正负样本之间的互信息来学习潜在的语音表征。
本申请实施例提供一种语音模型的训练方法、装置、设备和计算机可读存储介质,能够基于少量的已标注数据和大量的标注数据实现语音模型的训练,同时能够在减少标注训练数据的获取成本的同时,提高语音识别准确性。
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的语音模型的训练系统。参见图1A,图1A是本申请实施例提供的语音模型的训练系统100的架构示意图,为实现支撑一个示例性应用,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
终端(如终端400-1和终端400-2),用于基于语音识别客户端(如客户端410-1和客户端410-2)接收到执行语音识别的触发操作,向服务器200发送携带语音数据的语音识别请求;
服务器200,用于接收到终端发送的语音识别请求,响应于该获取请求,通过训练完成的语音模型,返回针对待识别语音数据的语音识别结果至终端;
服务器200,用于获取用于语音识别的初始语音模型,其中,初始语音模型基于携带样本标签的第一语音样本训练得到;通过初始语音模型,对第二语音样本进行语音识别,得到识别结果,并将识别结果作为第二语音样本的伪标签;基于携带伪标签的第二语音样本、携带样本标签的第一语音样本,对初始语音模型进行联合训练,得到目标语音模型。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端(如终端400-1和终端400-2)可以包括但不限于是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表、智能语音交互设备、智能家电、车载终端等,但并不局限于此。终端(如终端400-1和终端400-2)以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一些实施例中,终端(包括终端400-1和终端400-2)安装和运行有语音识别客户端。终端(包括终端400-1和终端400-2)基于语音识别客户端,向服务器200发送携带语音数据的语音识别请求;服务器200接收到语音识别请求后,响应于该识别请求,返回相应的语音识别结果至终端;终端显示或播放语音识别结果。
在一些实施例中,服务器200可以是多个服务器构成的服务器集群或者分布式系统,以分布式系统为区块链系统为例,其中多个服务器可组成为一区块链网络,而服务器200为区块链网络上的节点。
下面,以多个服务器接入区块链网络以实现语音模型的训练为例说明区块链网络的示例性应用。
在一些实施例中,参见图1B,图1B本申请实施例提供的语音模型的训练系统100的架构示意图。语音模型涉及的多个服务端参与语音模型的训练,如终端600和终端700,在获得区块链管理平台900的授权后,终端600的客户端610、以及终端700的客户端710都可以接入区块链网络800。
终端600发送语音识别请求至区块链管理平台900(终端700发送语音获模型获取其你去至区块链管理平台900),由区块链管理平台900根据语音模型获取请求生成对应的更新操作,在更新操作中指定了实现更新操作/查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了网页签署的数字签名,并将更新操作发送到区块链网络800。
区块链网络800中的节点210-1、节点210-2、节点210-3在接收到更新操作时,对更新操作的数字签名进行验证,数字签名验证成功后,根据更新操作中携带的客户端610的身份,确认客户端610是否是具有获取权限,数字签名和权限验证中的任何一个验证判断都将导致获取失败。验证成功后签署节点210自己的数字签名(例如,使用节点210-1的私钥对交易的摘要进行加密得到),并继续在区块链网络800中广播。
区块链网络800中具有排序功能的节点210-1、节点210-2、节点210-3等,接收到验证成功的获取后,将获取请求填充到新的区块中,并广播到区块链网络800中提供共识服务的节点。
区块链网络800中的提供共识服务的节点对新区块进行共识过程以达成一致,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的获取请求:对于提交的语音模型请求,更新状态数据库中语音模型对应的键值对;对于语音模型的获取请求,从状态数据库中查询语音模型对应的键值对,并将对应的语音模型发送至终端。终端600和终端700在接收到区块链网络800返回的语音模型之后,终端600和终端700对语音模型进行训练,得到训练后的语音模型,并在图形界面610-1和图形界面710-1中显示训练成功的提示消息。终端600和终端700将训练后的语音模型发送至区块链网络800,区块链网络800基于待识别语音数据调用训练后的语音模型进行语音识别的处理,得到待识别语音的语音结果。
本申请实施例还可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
接下来对本申请实施例提供的用于实施上述语音模型的训练方法的电子设备进行说明,参见图2,图2是本申请实施例提供的电子设备的结构示意图,在实际应用中,电子设备500可以实施为图1中的服务器,以电子设备为图1所示的服务器200为例,对实施本申请实施例的语音模型的训练方法的电子设备进行说明。图2所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的语音模型的训练装置可以采用软件方式实现,图2示出了存储在存储器550中的语音模型的训练装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、识别模块5552以及训练模块5553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的语音模型的训练装置可以采用硬件方式实现,作为示例,本申请实施例提供的语音模型的训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的语音模型的训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Pro grammable Gate Array)或其他电子元件。
接下来说明本申请实施例提供的语音模型的训练方法。在一些实施例中,本申请实施例提供的语音模型的训练方法可以由终端或服务器单独实施,或者由终端及服务器协同实施。以服务器实施为例,参见图3,图3是本申请实施例提供的语音模型的训练方法流程示意图,将结合图3示出的步骤进行说明。
在步骤101中,服务器获取用于语音识别的初始语音模型,其中,初始语音模型基于携带样本标签的第一语音样本训练得到。
在实际应用中,携带标签的第语音样本可以是服务器从其他设备获取的已标注的语音数据,语音数据通常是一串连续的语音信息信号。例如,语音数据可以是服务器从终端设备接收到的。采集的语音数据通常是数字形式的语音信号,语音数据可以来源于语音助手插件或应用程序中,通过采集用户在使用智能助手时说话的语音;语音数据也可以来源于智能手机、平板等设备的即时聊天通讯中,通过采集用户在麦克风输入的语音;语音数据也可以来自工作会议录音、人工客服电话等等场合的声音采集,本申请实施例对于语音数据的获取来源和获取方式不加限定。
服务器获取语音数据后,对数据语音数据进行预处理,预处理过程包括预滤波、预加重、加窗分帧、端点检测得到初始语音信号。
例如,首先需要对语音信号进行预滤波与采样,通常使用带通滤波器进行滤波,再将原有离散信号进行量化处理,排除非人体发声以外频率的信号与50赫兹(Hz)电流频率的干扰;预加重技术需要平滑信号的高频与低频部分的衔接段,使语音信号的频谱平滑;分帧加窗操作是为了将连续的信号用不同长度的采集窗口分成一个个独立的频域稳定的部分;最后进行端点检测工作,对输入语音信号的起止点进行正确判断;对数据语音数据进行预处理目的是消除因为人类发声器官本身和由于采集语音信号的设备所带来的混叠、高次谐波失真、高频等等因素对语音信号质量的影响。
其中,将语音信号进行分帧加窗处理后对语音信号进行语音特征提取,语音特征提取后,得到语音特征向量。在实际实施时,服务器可以将语音信号分割为多个长度为预设时长的帧,如,将语音信号划分为多个长度为25毫秒的帧;在将语音信号进行分帧处理后,将每一帧语音波形转化为一个多维向量;将每一帧转化为一个多维向量可以为:在每一帧的语音段上提取特征参数,形成语音特征序列,将语音特征序列经过处理得到语音特征向量;其中,特征参数可以线性预测倒谱系数或模拟人耳的听觉模型并通过傅里叶变换提取梅尔频率倒谱系数,还可以是提取语音数据的其他类型的语音特征,本申请实施例不加限定。
在一些实施例中,经过预处理的语音数据可转化为每一帧的语音特征向量,通过语音模型将语音特征向量转换为对应的音素,并根据音素与字词的发音字典得到各个音素对应的词,即将每一帧的语音特征向量对应转换为多个可能的音素,并给出多个音素的概率,并结合音素与发音词典的映射关系,得到每一帧语音特征向量对应多个可能的词,以及每个词的概率;然后对得到的各个词进行语法识别,即对各个词按照连贯出现的可能性进行排列组合,通过词语之间的关联性在解码网络中搜索词序列的路径,得到多个词序列以及词序列的概率。
示例性地,参见图4,图4是本申请实施例提供的语音样本示意图,图中,输入一段语音信号“nihao”,每个框代表一帧数据,第1、2、3、4帧对应n的发音,第5、6、7帧对应i的音素,第8、9帧对应h的音素,第10、11帧对应a的音素,第12帧对应o的音素,(这里暂且将每个字母作为一个发音音素)。
在步骤102中,通过初始语音模型,对第二语音样本进行语音识别,得到识别结果,并将得到的识别结果作为第二语音样本的伪标签。
在实际应用中,服务器在进行语音模型训练的过程中,首先利用少量的标注数据(即第一语音样本)训练一个初始语音模型,然后基于半监督学习,使用该初始模型对大量的未标注数据(即不携带标签的第二语音样本)进行识别,得到相应的识别结果,并将该识别结果作为第二语音样本的伪标签。如此,在第一语音样本数据量少的情况下,可以基于第二语音样本的伪标签对初始语音模型以半监督学习的方式进行训练,同时还可以基于第二语音样本对初始语音模型以对比学习的方式进行训练。此时语音模型在预训练过程中可以利用伪标签信息对应的损失函数以及无监督对比学习的对应的损失函数对语音模型的模型参数进行联合优化。
对半监督学习进行说明,在真实的语音模型训练场景中,通常会拥有标注的语音样本(第一语音样本)和大量的未标注的语音样本(第二语音样本)。如果能够同时利用标签数据信息和无标签数据中的隐藏信息进行模型联合优化,可以利用大量的未标注数据进一步提升语音模型的性能。这种同时利用无标签和有标签的模型训练方法可以称为半监督的学习。通过半监督学习和无监督对比学习进行联合优化,能够在语音模型训练过程中,充分利用所有的数据信息学习到更加鲁棒和匹配下游任务的语音表征,进而使得语音模型的识别准确度更高。
在实际实施时,参见图5,图5是本申请实施例提供的语音模型训练流程图,图中服务器获取初始语音模型,初始语音模型是基于少量的携带标签的第一语音样本训练得到的;然后将大量的无标签的第二语音样本输入至初始语音模型进行语音识别,得到对应第二语音样本的识别结果,并将识别结果作为第二语音样本的伪标签,如此可以同时对第二语音样本进行基于伪标签的半监督学习以及对比学习。
在步骤103中,基于携带伪标签的第二语音样本、携带样本标签的第一语音样本,对初始语音模型进行联合训练,得到目标语音模型。
在实际应用中,通过有标签的第一语音样本训练初始语音模型,然后基于初始语音模型,为第二语音样本附加伪标签。针对第一语音样本的标签以及第二语音样本的伪标签执行监督学习,通过对第一语音样本以及第二语音样本执行对比学习。并将基于标签和伪标签的监督学习对应的损失函数、以及对比学习对应的损失函数,对初始语音模型进行联合训练,得到收敛的目标语音模型,用于语音识别。
在一些实施例中,参见图6,图6是本申请实施例提供的语音模型的联合训练方法的流程示意图,图3示出的步骤103可以通过步骤1031至步骤1034实现,将结合各步骤进行说明。
在步骤1031中,服务器通过初始语音模型,对联合训练样本集合中的训练样本进行预测,得到预测结果;其中,联合训练样本集合包括:携带样本标签的第一语音样本及携带伪标签的第二语音样本。
在实际实施时,服务器通过初始语音模型,为第二语音样本标记伪标签后,将携带标签的第一语音样本以及携带伪标签的第二语音样本作为联合训练样本集合,对初始语音模型进行联合训练。可以理解的是,此时,第二语音样本可以看作是携带标签的第一语音样本(此时的标签是伪标签,可能存在错误标签)。服务器在语音模型的训练过程中,基于第一语音样本的标签,以及第二语言样本的伪标签,可以对语音模型进行有监督的学习,即设定的目标损失函数是用于表征表征语音模型的识别结果与标签之间关联关系。服务器根据目标损失函数确定的目标损失值迭代更新语音模型的模型参数。需要说明的是,联合训练样本是第一语音样本时,标签是第一语音样本携带的标签;联合训练样本是第二语音样本时,标签是第二语音样本的伪标签。同时,还可以基于第一语音样本以及第二语音样本进行无监督的对比学习,基于设定的对比损失函数所确定的对比损失值迭代更新语音模型的模型参数。
在步骤1032中,获取预测结果与训练样本的标签之间的差异,并基于差异确定目标损失函数的值。
在实际实施时,由于训练样本可以是携带标签的第一语音样本,即第一语音样本是已标注的语言样本,也可以是携带伪标签的第二语言样本,第二语言样本携带的伪标签,是通过初始语音模型预测得到的,即第二语言样本的标签是经过初始语音模型进行标记的。通过已训练的初始语音模型确定训练样本的预测结果,并计算预测结果与标签的差异(当训练样本是第二语言样本时,标签是指的伪标签),确定目标损失函数的值。可以理解的是,目标损失函数是基于少量的已标注的语音数据和大量的未标注的语音数据确定。
在实际实施时,针对目标损失函数的确定可以是连续时序分类(CTC,Connectionist Temporal Classificatio),CTC作为一种损失函数,可以用来衡量输入的序列数据经过神经网络之后,和真实的输出相差有多少。
继续对CTC进行说明,CTC作为一种序列到序列的语音模型训练方法,不需要预先对数据做对齐,只需要一个输入序列和一个输出序列即可以训练。这样就不需要对数据对齐和一一标注,并且CTC直接输出序列预测的概率,不需要外部的后处理。
在CTC的训练过程中,一段长度为T的语音输入序列X=[x1,x2,x3,……,xT],以及与X对应的输出标签序列Y=[y1,y2,y3,……,yU],CTC给出输入序列X所有可能的输出分布p(π|C1,C2,C3,……,CT),其中C1,C2,C3,……,CT为语音模型的计算输出π代表其中一组可能的输出分布。根据这个分布,可以输出最可能的结果或者给出某个输出的概率。CTC的损失函数可以定义为:对于一个给定的输入X,可以训练一个模型,让该模型可以最大化正确输出序列的概率P(Y|X);
上述公式中,π表示的是语音模型输出的所有组成Y的序列路径;p(π|C1,C2,…,CT)表示一条序列路径的概率(输出标签序列Y)的概率;
示例性地,输入一个200帧的音频数据,真实的输出是“nihao”这5个有序的音素。而经过语音模型处理之后,输出的还是序列长度是200的数据。假设有两个人都说了一句nihao这句话,他们的真实输出结果都是nihao这5个有序的音素,但是因为每个人的发音特点不一样,比如,有的人说的快有的人说的慢,原始的语音数据在经过语音模型的计算之后,第一个人得到的结果可能是:nnnniiiiii…hhhhhaaaaaooo(长度是200),第二个人说的话得到的结果可能是:niiiiii…hhhhhaaaaaooo(长度是200)。这两种结果都是属于正确的预测结果,可以想象,长度为200的数据,最后可以对应上“nihao”这个发音顺序的结果是非常多的。CTC就是用在这种序列有多种可能性的情况下,计算和最后真实序列值的损失值的方法。参见图7,图7是本申请实施例提供的连续时序分类示例图,图中,语音样本“nihao”经过特征提取后,产生了30帧片段,图中示出了两种语音模型输出结果是“nihao”的序列路径(图中q和r所示)。经过CTC损失,可以确定针对“nihao”的目标序列。
在步骤1033中,基于训练样本及预测结果进行对比学习,以确定训练样本对应的对比损失函数的值。
在一些实施例中,参见图8,图8是本申请实施例提供的对比损失函数值确定流程示意图,图6示出的步骤1033可以通过步骤201至步骤204实现,将结合各步骤进行说明
步骤201,服务器基于所述训练样本,构建相应的正样本以及负样本。
在一些实施例中,参见图9,图9是本申请实施例提供的正负样本构建流程示意图,图8示出的步骤201可以通过步骤2011至步骤2013实现,将结合各步骤进行说明。
步骤2021,服务器对训练样本进行特征提取,得到训练样本对应的初始语音特征;步骤2022,对初始语音特征进行离散化处理,得到目标语音特征作为训练样本对应的正样本;步骤2023,生成对应初始语音特征的噪声特征,作为训练样本对应的负样本。
在实际实施时,可以将对应初始语音特征的噪声特征,作为基于对比学习训练的语音模型的负样本。
步骤202,基于正样本及预测结果,确定对比损失函数的值作为正样本与训练样本之间的第一损失;步骤203,基于负样本及预测结果,确定对比损失函数的值作为负样本与训练样本之间的第二损失;步骤204,基于第一损失与第二损失,确定训练样本对应的对比损失函数的值。
在实际实施时,基于无监督对比学习训练语音模型的损失函数如下所示:
在步骤1034中,结合目标损失函数的值以及对比损失函数的值,更新初始语音模型的模型参数,得到目标语音模型。
在实际实施时,服务器在对语音模型进行联合训练时,基于目标损失函数以及目标损失函数对应的权重、对比损失函数以及对比损失函数对应的权重,确定联合损失函数。其中,联合损失函数,可以定义为:
L=∑αLctc+(1-α)Lc 公式(3)
上述公式中,Lctc是CTC为目标损失函数,Lc为对比学习对应的对比损失函数。1-α为对比损失函数的权重,α为目标损失函数的权重。
在一些实施例中,参见图10,图10是本申请实施例提供的语音模型的联合训练方法流程示意图,图6示出的步骤1034可以通过步骤301至步骤303实现,将结合各步骤进行说明。
步骤301,服务器分别获取目标损失函数的权重及对比损失函数的权重。
在实际实施时,服务器获取上述公式(3)中,针对目标损失函数的权重,以及针对对比损失函数的权重。
步骤302,基于目标损失函数的权重及对比损失函数的权重,对目标损失函数的值以及对比损失函数的值进行加权求和,得到加权求和结果。
在实际实施时,服务器在对语音模型进行联合训练时,服务器将获取到的目标损失函数的权重以及对比损失函数的权重代入上述公式(3),得到加权求和结果。
步骤303,基于加权求和结果,更新初始语音模型的模型参数,得到目标语音模型。
在实际实施时,服务器根据步骤302获取的加权求和结合,更新初始语音模型的模型参数,直至模型收敛,得到训练完成的目标语音模型。
在一些实施例中,还可以通过以下方式实现特征交换,从而实现预测预测结果的交换以及训练样本的交换:服务器获取特征交换比例;基于特征交换比例,将预测结果中部分特征与训练样本中部分特征进行交换,得到交换后的预测结果及交换后的训练样本。需要说明的是,交换后的预测结果,用于结合训练样本的标签确定目标损失函数的值;交换后的训练样本,用于结合预测结果进行对比学习,以确定训练样本对应的对比损失函数的值。
在实际实施时,服务器在对语音模型进行联合训练的过程中,为了能够使得目标损失函数以及对比损失函数之间互相进行优化,从而最终学习到相对一致的语音表征,在确定目标损失函数值时,可以将目标损失函数对应的输入按照特征交换比例进行随机替换,即将预测结果中的部分特征与训练样本中的部分特征进行交换,从而使得基于目标损失函数学习到的标签信息也能够同时指导对比学习训练,从而使得两个损失函数在学习过程中到的向着一致的训练目标进行优化。
示例性地,以目标损失函数为CTC损失为例,CTC损失如公式(2)所示,那么交换后的CTC损失可以变更为以下形式:
上述公式中,C'T为语音模型的输出或者是替换后的量化器的输出,特征交换比例可以根据实际情况设置为0.5。需要说明的是,按照特征交换比例进行交换时,为了便于计算,可以将预测结果与训练样本的相同位置的语音特征进行交换。
在一些实施例中,参见图11,图11是本申请实施例提供的针对语音模型的微调方法流程图,基于图3,在步骤103之后,服务器还可以执行步骤401至步骤402。
步骤401,服务器获取携带语音标签的第三语音样本。
在实际实施时,服务器得到训练完成的目标语音模型后,为了提高目标语音模型对各语音识别场景的适应性,可以通过获取目标场景的已标注语音样本,对目标语音模型进行微调,得到适应各目标场景的目标语音模型。
示例性地,在导航场景下的语音识别,服务器可以基于少量的已标注的导航语音样本对训练得到的目标语音模型进行微调,得到适用于导航场景的语音识别模型。
步骤402,服务器基于第三语音样本,对目标语音模型进行训练,以更新目标语音模型的模型参数。
在实际实施时,服务器基于携带伪标签的第二语音样本,以及携带标签的第一语音样本对初始语音模型进行联合训练,得到目标语音模型后,还可以基于目标语音识别场景,且携带目标场景标签的第三语音样本,对目标语音模型进行微调,最终得到适应目标场景的目标语音模型,如此,能够提高目标场景的语音模型的训练效率,以及目标语音模型在目标场景的语音识别的准确性,增加语音模型的普适性。
在一些实施例中,参见图12,图12是本申请实施例提供的语音模型的联合训练方法的流程示意图,基于图3,在步骤103之后,服务器还可以执行步骤501,服务器获取待识别语音数据;以及步骤502,服务器将待识别语音数据输入至目标语音模型,输出识别得到的语音结果。
在实际实施时,服务器接收到语音识别设备发送的语音识别请求,解析语音识别请求,得到待识别语音数据;然后将待识别语音数据输入训练完成的目标语音模型,得到识别结果,并将识别结果发送至语音识别设备。
示例性地,服务器接收到用户在语音识别客户端输入的“nihao”语音,通过训练完成的用于汉语语音识别的语音模型,输出中文文字“你好”至用户终端。
本申请实施例中,基于携带标签的第一语音样本训练得到初始语音模型,然后通过初始语音模型,识别无标签的第二语音样本,将得到的识别结果作为第二语音样本的伪标签,然后,基于第一语音样本以及第二语音样本对初始语音模型进行联合训练。如此,能够通过少量的携带标签的语音以及无标签的语音样本实现语音模型的训练,降低针对语音样本的标注成本,提高语音模型的识别准确度;并在目标领域的语音识别任务中,利用少量的人工标注的数据对语音模型进行微调,能够在减少人工工作量和数据标注成本的基础上,训练适应目标领域且准确度较高的语音模型,从而提升下游语音识别训练任务的性能。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
语音识别的模型训练通常需要大量标记好的音频数据才能获得良好的性能,在标注数据缺少的情况下,神经网络的预训练已经成为一种有效的技术。关键思想是先在有大量标记或未标记数据中进行无监督的预训练,再在数据量受限的目标数据上微调训练来提高下游任务的性能。对于需要大量工作来获取标记数据的任务(例如语音识别),这种预训练的方法尤其有效。
相关技术中,参见图13,图13是相关技术提供的语音模型无监督训练流程示意图。对比学习是一种常用的无监督训练算法,对比学习通过构建正样本和负样本,并将正样本和负样本在特征空间对比,学习模型的潜在特征表示。这种方法旨在通过对比学习最大化正负样本之间的互信息来学习潜在的语音表征。
示例性地,参见图14,图14是相关技术提供的针对语音模型的对比学习流程图。首先将连续的语音信号X进行分帧操作,得到包含N(N≥1且N为整数)个元素的语音序列{x1,x2,x3,x4,x5,x6,……xN},对语音序列进行特征提取(特征降采样),得到相应的语音特征,之后对语音特征进行遮掩(m ask)操作,将这部分遮掩的信号通过一个量化器,将连续语音信号变成离散的表示,并将这些表示作为正向样本,同时构建大量的负样本来进行对比学习过程。
相关技术中,对比学习通过无监督的学习方法学习潜在的语音表征,并用于下游的监督训练任务,然而这种完全无监督的训练流程通常需要精心的设计和完善,并且其学习到的信息可能与真实的标签信息存在不匹配的现象,从而影响下游语音识别任务的性能。在真实的语音模型训练场景中,通常会拥有标注的训练数据和大量的无标签数据。如果能够同时利用标签数据信息和无标签数据中的隐藏信息(无标签数据对应的数据分布信息)进行模型联合优化,那么将会更进一步提升模型的性能。这种同时利用无标签和有标签的模型训练方法可以称为半监督的学习。
继续对半监督学习进行说明,半监督学习是一种介于无监督和监督学习之间的模型训练过程,这种模型训练方式可以通过大量的无标签数据去提升利用标注数据训练的模型性能。在实际应用中,基于伪标签是一种半监督的学习方法,该方法无需手工标注大量的无标签数据,而是在通过监督训练得到的模型上(即通过标注数据训练得到的模型),输入无标签的语音信号得到近似的伪标签(pseudo label)组成一组新的伪标签数据。最后的训练过程可以将这些伪标签数据和标签数据结合起来,一同来训练新的语音模型。
基于此,本申请实施例提出了一种结合了半监督学习和对比学习的语音模型训练方法,本申请实施例在语音模型训练过程中,可以通过结合半监督学习和无监督对比学习对语音模型进行优化,帮助语音模型充分利用所有的数据(有标注数据和无标注数据)信息学习到更加鲁棒和匹配下游任务的语音表征。
在一些实施例中,参见图15,图15是本申请实施例提供的语音模型预训练流程示意图,服务器或终端在进行语音模型训练的过程中,首先利用少量的标签数据(标注数据)训练一个初始语音模型(也可称为种子模型),然后基于半监督学习,使用该初始语音模型对大量的未标注数据(无标签数据)进行预测,得到相应的预测结果,并将该预测结果作为未标注数据的伪标签。如此,在图中示出的步骤1阶段,可以利用近似标签信息(伪标签)和对比学习对大量的无标签数据进行预训练。此时语音模型在预训练过程中可以利用伪标签信息对应的损失函数以及无监督的对比学习的损失函数对模型参数进行联合优化,可以将这种联合优化的方式定义为多任务对比学习,最终模型将学习到超越单一训练过程的更加鲁棒的潜在语音表征。在经过联合预训练后,在图中示出的步骤2阶段,可以利用标签数据对模型进行微调训练,得到最终的语音模型。
接下来,以利用伪标签对应的损失函数为连续时序分类(CTC,Connectio nistTemporal Classification)损失为例,对基于CTC和对比学习的多任务预训练方法进行说明。参见图16,图16是本申请实施例提供的语音模型联合训练示意图,基于半监督学习,获取得到无标注数据对应的伪标签信息之后,可以对数据进行进一步的多任务联合训练。其中,对于伪标签信息,可以利用CTC损失进行训练。
在结合CTC对语音模型进行训练过程中,一段长度为T的语音输入序列X=[x1,x2,x3,……,xT],以及与X对应的输出标签序列Y=[y1,y2,y3,……,yU],CTC给出输入序列X所有可能的输出分布p(π|C1,C2,C3,……,CT),其中C1,C2,C3,……,CT为语音模型的计算输出π代表其中一组可能的输出分布。根据这个分布,可以输出最可能的结果或者给出某个输出的概率。CTC的损失函数可以定义为:对于一个给定的输入X,可以训练一个模型,让该模型可以最大化正确输出序列的概率P(Y|X)。
基于上述CTC监督学习,语音模型可以直接利用标签序列信息将输入的语音样本明确地指向一个语音单位。同时,也利用无监督对比学习得到潜在的语音表征信息。最终将这两种表征信息进行结合。语音模型的多任务训练的损失函数如上述公式(3)所示,Lctc为CTC损失函数,Lc为对比学习损失函数。
在对语音模型进行联合训练的过程中,可以同时对真实数据(携带标签的数据,也可称标注数据)和伪标签数据(未携带标签的数据,也可称未标注数据)进行联合训练。其中,标注数据和无标注数据通过CTC损失学习到监督的语音表征信息,而无监督的对比学习过程则通过量化器学习到无监督的语音表征信息。
然而,在具体实施过程中,两个损失函数(loss)学习到的表征信息是相互独立的,直接进行多任务训练对于最终学习到的语音表征信息效果提升有限。
因此,为了保证两种学习过程能够互相进行优化,最终学习到相对一致的更好的语音表征,可以对每次CTC损失(ctc loss)的计算输入进行随机替换,那么交换后的ctcloss如上述公式(4)所示,其中,C'T为图16示出的语音模型的输出或者是替换后的量化器的输出,替换的概率可以根据实际情况设置为0.5,学习目标是使得ctc的学习到的标签信息也能够同时指导对比学习训练,从而使得两个损失函数在学习过程中到的向着一致的训练目标进行优化,最终学习到更加鲁棒和一致的预训练语音表征。
为了验证本申请实施例提出语音模型的训练方法的有效性,在同时有标注数据和无标注数据的混合汉语数据集上进行实验,实验的任务为语音识别。对于无监督训练,实验首先会使用所有数据进行对比学习预训练,再使用标注数据进行微调,对于半监督伪标签学习和半监督对比学习,实验首先会先使用标注训练初始种子模型,再使用种子模型生成的伪标签进行微调训练。参见表1,表1是本申请实施例提供的语音模型训练实验结果表。
预训练方法 | 微调训练结果(字错误率) |
初始模型基线 | 16.54 |
对比学习(wav2vec2) | 15.98 |
伪标签训练 | 15.97 |
半监督对比学习 | 15.53 |
表1
表1示出的实验结果表明联合的半监督对比学习方法,对语音模型的微调训练结果明显优于其他训练方式,相比直接使用对比学习或者伪标签半监督学习,本申请实施例提出的语音模型的训练方法可以学习到性能更好的语音预训练模型,进一步提升下游语音识别任务的性能。
本申请实施例提供的语音模型训练方法可以用于语音模型的预训练过程,通过半监督学习思想,在语音模型的预训练过程中加入伪标签信息,并结合对比学习和基于伪标签的CTC学习对模型进行联合预训练,最终模型将学习到更加鲁棒的潜在语音表征信息,并对下游的语音任务有明显的性能改善。
下面继续说明本申请实施例提供的语音模型的训练装置555的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的语音模型的训练装置555中的软件模块可以包括:
获取模块5551,用于获取用于语音识别的初始语音模型,所述初始语音模型基于携带样本标签的第一语音样本训练得到;
识别模块5552,用于通过所述初始语音模型,对第二语音样本进行语音识别,得到识别结果,并将所述识别结果作为所述第二语音样本的伪标签;
训练模块5553,用于基于携带所述伪标签的第二语音样本、携带所述样本标签的第一语音样本,对所述初始语音模型进行联合训练,得到目标语音模型。
在一些实施例中,所述训练模块,还用于通过所述初始语音模型,对联合训练样本集合中的训练样本进行预测,得到预测结果;其中,所述联合训练样本集合包括:携带所述样本标签的第一语音样本及携带所述伪标签的第二语音样本;获取所述预测结果与所述训练样本的标签之间的差异,并基于所述差异确定目标损失函数的值;基于所述训练样本及所述预测结果进行对比学习,以确定所述训练样本对应的对比损失函数的值;结合所述目标损失函数的值以及所述对比损失函数的值,更新所述初始语音模型的模型参数,得到目标语音模型。
在一些实施例中,所述训练模块,还用于基于所述训练样本,构建相应的正样本以及负样本;基于所述正样本及所述预测结果,确定所述对比损失函数的值作为所述正样本与所述训练样本之间的第一损失;基于所述负样本及所述预测结果,确定所述对比损失函数的值作为所述负样本与所述训练样本之间的第二损失;基于所述第一损失与所述第二损失,确定所述训练样本对应的对比损失函数的值。
在一些实施例中,所述训练模块,还用于对所述训练样本进行特征提取,得到所述训练样本对应的初始语音特征;对所述初始语音特征进行离散化处理,得到目标语音特征作为所述训练样本对应的正样本;生成对应所述初始语音特征的噪声特征,作为所述训练样本对应的负样本。
在一些实施例中,所述训练模块,还用于获取特征交换比例;基于所述特征交换比例,将所述预测结果中部分特征与所述训练样本中部分特征进行交换,得到交换后的预测结果及交换后的训练样本;其中,所述交换后的预测结果,用于结合所述训练样本的标签确定所述目标损失函数的值;所述交换后的训练样本,用于结合所述预测结果进行对比学习,以确定所述训练样本对应的对比损失函数的值。
在一些实施例中,所述训练模块,还用于分别获取所述目标损失函数的权重及所述对比损失函数的权重;基于所述目标损失函数的权重及所述对比损失函数的权重,对所述目标损失函数的值以及所述对比损失函数的值进行加权求和,得到加权求和结果;基于所述加权求和结果,更新所述初始语音模型的模型参数,得到目标语音模型。
在一些实施例中,所述训练模块,还用于获取携带语音标签的第三语音样本;基于所述第三语音样本,对所述目标语音模型进行训练,以更新所述目标语音模型的模型参数。
在一些实施例中,训练完成的目标语音模型,还用于获取待识别语音数据;
将所述待识别语音数据输入至所述目标语音模型,输出识别得到的语音结果。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的语音模型的训练方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例在基于对比学习预训练的基础上,同时利用半监督学习中的伪标签技术,通过少量的标注数据,利用CTC和对比学习联合对语音模型进行预训练,能够帮助语音模型学习到更好更鲁棒的语音的潜在信息表征,从而提升下游语音识别模型任务的性能。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (12)
1.一种语音模型的训练方法,其特征在于,所述方法包括:
获取用于语音识别的初始语音模型,所述初始语音模型基于携带样本标签的第一语音样本训练得到;
通过所述初始语音模型,对第二语音样本进行语音识别,得到识别结果,并将所述识别结果作为所述第二语音样本的伪标签;
基于携带所述伪标签的第二语音样本、携带所述样本标签的第一语音样本,对所述初始语音模型进行联合训练,得到目标语音模型。
2.根据权利要求1所述的方法,其特征在于,所述基于携带所述伪标签的第二语音样本、携带所述样本标签的第一语音样本,对所述初始语音模型进行联合训练,得到目标语音模型,包括:
通过所述初始语音模型,对联合训练样本集合中的训练样本进行预测,得到预测结果;其中,所述联合训练样本集合包括:携带所述样本标签的第一语音样本及携带所述伪标签的第二语音样本;
获取所述预测结果与所述训练样本的标签之间的差异,并基于所述差异确定目标损失函数的值;
基于所述训练样本及所述预测结果进行对比学习,以确定所述训练样本对应的对比损失函数的值;
结合所述目标损失函数的值以及所述对比损失函数的值,更新所述初始语音模型的模型参数,得到目标语音模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述训练样本及所述预测结果进行对比学习,以确定所述训练样本对应的对比损失函数的值,包括:
基于所述训练样本,构建相应的正样本以及负样本;
基于所述正样本及所述预测结果,确定所述对比损失函数的值作为所述正样本与所述训练样本之间的第一损失;
基于所述负样本及所述预测结果,确定所述对比损失函数的值作为所述负样本与所述训练样本之间的第二损失;
基于所述第一损失与所述第二损失,确定所述训练样本对应的对比损失函数的值。
4.根据权利要求3所述的方法,其特征在于,所述基于所述训练样本,构建相应的正样本以及负样本,包括:
对所述训练样本进行特征提取,得到所述训练样本对应的初始语音特征;
对所述初始语音特征进行离散化处理,得到目标语音特征作为所述训练样本对应的正样本;
生成对应所述初始语音特征的噪声特征,作为所述训练样本对应的负样本。
5.根据权利要求2所述的方法,其特征在于,所述对联合训练样本集合中的训练样本进行预测,得到预测结果之后,所述方法还包括:
获取特征交换比例;
基于所述特征交换比例,将所述预测结果中部分特征与所述训练样本中部分特征进行交换,得到交换后的预测结果及交换后的训练样本;
其中,所述交换后的预测结果,用于结合所述训练样本的标签确定所述目标损失函数的值;
所述交换后的训练样本,用于结合所述预测结果进行对比学习,以确定所述训练样本对应的对比损失函数的值。
6.根据权利要求2所述的方法,其特征在于,所述结合所述目标损失函数的值以及所述对比损失函数的值,更新所述初始语音模型的模型参数,得到目标语音模型,包括:
分别获取所述目标损失函数的权重及所述对比损失函数的权重;
基于所述目标损失函数的权重及所述对比损失函数的权重,对所述目标损失函数的值以及所述对比损失函数的值进行加权求和,得到加权求和结果;
基于所述加权求和结果,更新所述初始语音模型的模型参数,得到目标语音模型。
7.根据权利要求1所述的方法,其特征在于,所述对所述初始语音模型进行联合训练,得到目标语音模型之后,所述方法还包括:
获取携带语音标签的第三语音样本;
基于所述第三语音样本,对所述目标语音模型进行训练,以更新所述目标语音模型的模型参数。
8.根据权利要求1或7所述的方法,其特征在于,所述方法还包括:
获取待识别语音数据;
将所述待识别语音数据输入至所述目标语音模型,输出识别得到的语音结果。
9.一种语音模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取用于语音识别的初始语音模型,所述初始语音模型基于携带样本标签的第一语音样本训练得到;
识别模块,用于通过所述初始语音模型,对第二语音样本进行语音识别,得到识别结果,并将所述识别结果作为所述第二语音样本的伪标签;
训练模块,用于基于携带所述伪标签的第二语音样本、携带所述样本标签的第一语音样本,对所述初始语音模型进行联合训练,得到目标语音模型。
10.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至8任一项所述的语音模型的训练方法。
11.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至8任一项所述的语音模型的训练方法。
12.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至8任一项所述的语音模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210067196.0A CN114399995A (zh) | 2022-01-20 | 2022-01-20 | 语音模型的训练方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210067196.0A CN114399995A (zh) | 2022-01-20 | 2022-01-20 | 语音模型的训练方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114399995A true CN114399995A (zh) | 2022-04-26 |
Family
ID=81232861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210067196.0A Pending CN114399995A (zh) | 2022-01-20 | 2022-01-20 | 语音模型的训练方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114399995A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115512696A (zh) * | 2022-09-20 | 2022-12-23 | 中国第一汽车股份有限公司 | 模拟训练方法及车辆 |
CN116524958A (zh) * | 2023-05-30 | 2023-08-01 | 南开大学 | 基于质量对比学习的合成音质量评测模型的训练方法 |
WO2024022541A1 (zh) * | 2022-07-25 | 2024-02-01 | 顺丰科技有限公司 | 语音识别方法、装置、设备及计算机可读存储介质 |
CN117995173A (zh) * | 2024-01-31 | 2024-05-07 | 三六零数字安全科技集团有限公司 | 一种语言模型生成方法、装置、存储介质及电子设备 |
-
2022
- 2022-01-20 CN CN202210067196.0A patent/CN114399995A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024022541A1 (zh) * | 2022-07-25 | 2024-02-01 | 顺丰科技有限公司 | 语音识别方法、装置、设备及计算机可读存储介质 |
CN115512696A (zh) * | 2022-09-20 | 2022-12-23 | 中国第一汽车股份有限公司 | 模拟训练方法及车辆 |
CN116524958A (zh) * | 2023-05-30 | 2023-08-01 | 南开大学 | 基于质量对比学习的合成音质量评测模型的训练方法 |
CN117995173A (zh) * | 2024-01-31 | 2024-05-07 | 三六零数字安全科技集团有限公司 | 一种语言模型生成方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021174757A1 (zh) | 语音情绪识别方法、装置、电子设备及计算机可读存储介质 | |
CN111933129B (zh) | 音频处理方法、语言模型的训练方法、装置及计算机设备 | |
CN110491382B (zh) | 基于人工智能的语音识别方法、装置及语音交互设备 | |
US10210861B1 (en) | Conversational agent pipeline trained on synthetic data | |
US11475897B2 (en) | Method and apparatus for response using voice matching user category | |
CN109036384B (zh) | 语音识别方法和装置 | |
CN111312245B (zh) | 一种语音应答方法、装置和存储介质 | |
CN112885336B (zh) | 语音识别系统的训练、识别方法、装置、电子设备 | |
CN114399995A (zh) | 语音模型的训练方法、装置、设备及计算机可读存储介质 | |
CN108428446A (zh) | 语音识别方法和装置 | |
CN110246488B (zh) | 半优化CycleGAN模型的语音转换方法及装置 | |
CN112259089B (zh) | 语音识别方法及装置 | |
KR20170022445A (ko) | 통합 모델 기반의 음성 인식 장치 및 방법 | |
US20220076674A1 (en) | Cross-device voiceprint recognition | |
CN111968618A (zh) | 语音合成方法、装置 | |
CN109313892A (zh) | 稳健的语言识别方法和系统 | |
CN111653274B (zh) | 唤醒词识别的方法、装置及存储介质 | |
CN114330371A (zh) | 基于提示学习的会话意图识别方法、装置和电子设备 | |
CN118043885A (zh) | 用于半监督语音识别的对比孪生网络 | |
CN110647613A (zh) | 一种课件构建方法、装置、服务器和存储介质 | |
CN113314096A (zh) | 语音合成方法、装置、设备和存储介质 | |
CN115116443A (zh) | 语音识别模型的训练方法、装置、电子设备及存储介质 | |
CN110675865B (zh) | 用于训练混合语言识别模型的方法和装置 | |
CN112420022B (zh) | 一种噪声提取方法、装置、设备和存储介质 | |
CN113593523B (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 |