[go: up one dir, main page]

CN113282718B - 一种基于自适应中心锚的语种识别方法及系统 - Google Patents

一种基于自适应中心锚的语种识别方法及系统 Download PDF

Info

Publication number
CN113282718B
CN113282718B CN202110841690.3A CN202110841690A CN113282718B CN 113282718 B CN113282718 B CN 113282718B CN 202110841690 A CN202110841690 A CN 202110841690A CN 113282718 B CN113282718 B CN 113282718B
Authority
CN
China
Prior art keywords
language
anchor
training
backbone network
deep neural
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
Application number
CN202110841690.3A
Other languages
English (en)
Other versions
CN113282718A (zh
Inventor
马杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kuaiyu Electronics Co ltd
Original Assignee
Beijing Kuaiyu Electronics Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kuaiyu Electronics Co ltd filed Critical Beijing Kuaiyu Electronics Co ltd
Priority to CN202110841690.3A priority Critical patent/CN113282718B/zh
Publication of CN113282718A publication Critical patent/CN113282718A/zh
Application granted granted Critical
Publication of CN113282718B publication Critical patent/CN113282718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Acoustics & Sound (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于自适应中心锚的语种识别方法及系统,包括构建语种数据集;对语种数据集中的语音数据进行增强处理;提取增强处理后的语音数据的特征,生成特征数据集;构建深度神经骨干网络,并基于分类损失函数采用有监督学习方式训练深度神经骨干网络;基于度量损失函数,采用自适应中心锚方法进一步训练所述深度神经骨干网络;基于训练后的深度神经骨干网络进行语种识别;该方法通过数据增强扩大了数据集,同时也增加了数据集的鲁棒性;使用多尺度融合的残差神经网络从而增强骨干网络的特征表达能力,先后使用了分类损失和度量损失进一步提升识别的准确率。

Description

一种基于自适应中心锚的语种识别方法及系统
技术领域
本发明涉及语音处理技术领域,具体涉及一种基于自适应中心锚的语种识别方法及系统。
背景技术
随着语音信号处理及人工智能的发展,尤其是近年来深度学习的快速发展使得语种识别技术的可靠性进一步提升,很多的智能语音助手可以使用自动的语种识别技术来推断用户所使用的语言;语种识别技术作为很多语音处理任务的预处理部分,在多语种语音识别、跨语种通信和机器翻译等领域有着广泛的应用。
目前语种识别模型训练时采用的深度学习方法可分为前端、编码层和后端,其中前端代表输入特征,编码层代表骨干网络,后端代表损失函数,后端又可分为度量损失和分类损失,上述单独采用骨干网络结合度量损失或骨干网络结合分类损失的深度学习方法的准确率和可靠性并不高,仍需进一步提高。
发明内容
针对上述问题,本发明的一个目的是提供一种基于自适应中心锚的语种识别方法,该方法在前端使用有效的数据增强扩大数据集的同时也增加了数据集的鲁棒性,在编码层使用多尺度融合的残差神经网络增强骨干网络的特征表达能力,在后端先后使用了分类损失和度量损失进一步提升识别的准确率。
本发明的第二个目的是提供一种基于自适应中心锚的语种识别系统。
本发明所采用的第一个技术方案是:一种基于自适应中心锚的语种识别方法,包括以下步骤:
S100:构建语种数据集;
S200:对所述语种数据集中的语音数据进行增强处理;
S300:提取所述增强处理后的语音数据的特征,生成特征数据集;
S400:构建深度神经骨干网络,并基于分类损失函数采用有监督学习方式训练所述深度神经骨干网络;
S500:基于度量损失函数,采用自适应中心锚方法进一步训练所述深度神经骨干网络;
S600:基于所述训练后的深度神经骨干网络进行语种识别。
优选地,所述步骤S100中还包括对所述语种数据集中的语音数据进行预处理,包括以下子步骤:
S110:抽取所述语种数据集中同一语种的所有语音数据进行拼接;
S120:计算所述拼接后得到的语音数据中的连续静音段,若连续静音段大于设定阈值,则除掉该连续静音段。
优选地,所述步骤S200中的增强处理包括增强语音信噪比、语速、时域随机裁剪和语音变调中的一种或多种。
优选地,所述步骤S400中的深度神经骨干网络是基于多尺度的残差神经网络。
优选地,所述分类损失函数采用Categorical_Crossentropy、amsoftmax和aamsoftmax中的一种。
优选地,所述度量损失函数采用Triplet-Loss和Contrastive Loss中的一种。
优选地,步骤S500包括以下子步骤:
S510:计算每个语种训练集中的特征在所述深度神经骨干网络输出的结果,并基于各个语种训练集的输出结果计算均值向量以得到每个语种的特征中心;
S520:计算各个语种训练集的输出结果与其对应的语种特征中心的欧式距离,基于欧式距离构建Anchor集和非Anchor集;
S530:基于Anchor集和非Anchor集对所述深度神经骨干网络进行训练,不断更新特征中心和特征中心附近的样本,以实现自适应中心锚的选取;
S540:重复执行步骤S510-S530,直至网络收敛。
优选地,所述步骤S520具体为:
计算每个语种训练集中的特征在所述深度神经骨干网络输出的结果与该语种特征中心的欧式距离,选取与各自特征中心相邻的前10%的对应的训练集作为候选的Anchor集;其余的训练集作为非Anchor集。
本发明所采用的第二个技术方案是:一种基于自适应中心锚的语种识别系统,包括语种数据集构建模块、增强处理模块、特征提取模块、第一训练模块、第二训练模块和语种识别模块;
所述语种数据集构建模块用于构建语种数据集;
所述增强处理模块用于对所述语种数据集中的语音数据进行增强处理;
所述特征提取模块用于提取所述增强处理后的语音数据的特征,生成特征数据集;
所述第一训练模块用于构建深度神经骨干网络,并基于分类损失函数采用有监督学习方式训练所述深度神经骨干网络;
所述第二训练模块用于基于度量损失函数,采用自适应中心锚方法进一步训练所述深度神经骨干网络;
所述语种识别模块用于基于所述训练后的深度神经骨干网络进行语种识别。
优选地,所述第二训练模块执行以下操作:
计算每个语种训练集中的特征在所述深度神经骨干网络输出的结果,并基于各个语种训练集的输出结果计算均值向量以得到每个语种的特征中心;
计算各个语种训练集的输出结果与其对应的语种特征中心的欧式距离,基于欧式距离构建Anchor集和非Anchor集;
基于Anchor集和非Anchor集对所述深度神经骨干网络进行训练,不断更新特征中心和特征中心附近的样本,以实现自适应中心锚的选取;
重复执行上述操作,直至网络收敛。
上述技术方案的有益效果:
(1)本发明公开的一种基于自适应中心锚的语种识别方法在前端使用有效的数据增强扩大数据集的同时也增加了数据集的鲁棒性,在编码层使用多尺度融合的残差神经网络增强骨干网络的特征表达能力,在后端先后使用了分类损失和度量损失进一步提升识别的准确率。
(2)本发明通过语种数据的增强、神经网络结构的设计和训练过程的重新设计有效的提高了语种识别的准确度。
(3)本发明中网络的最终优化步骤是深度神经骨干网络结合度量损失函数网络的训练结果,由度量损失函数的定义可知,损失的计算高度依赖于三元组(Anchor,Pos,Neg)中选取问题,传统的训练方式Anchor为随机选取,因此给训练带来不稳定因素,合理的Anchor应该是具有高度代表性的Anchor,本发明在训练过程中逐步迭代Anchor位置使得Anchor的选取更加合理;同时本发明先采用了深度神经骨干网络结合分类损失函数进行训练,加快了训练速度,给深度神经骨干网络结合度量损失函数提供了更好的初始值,提高准确率。
(4)本发明中基于Resnet34网络进行改进形成深度神经骨干网络(KYLANGS),使KYLANGS成为多尺度融合的残差神经网络,相较于Resnet34网络,KYLANGS能增强骨干网络的特征表达能力。
附图说明
图1为本发明一个实施例提供的一种高准确率的语种识别模型训练方法的流程图;
图2为本发明一个实施例提供的tripletFeas的组合示意图;
图3为本发明一个实施例提供的KYLANGS结构示意图;
图4为本发明一个实施例提供的Blocks的结构示意图;
图5为本发明一个实施例提供的KYLANGS+Triplet-Loss单次训练流程示意图;
图6为本发明一个实施例提供的一种高准确率的语种识别模型训练系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本发明的原理,但不能用来限制本发明的范围,即本发明不限于所描述的优选实施例,本发明的范围由权利要求书限定。
在本发明的描述中,需要说明的是,除非另有说明,“多个”的含义是两个或两个以上;术语“第一”“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性;对于本领域的普通技术人员而言,可视具体情况理解上述术语在本发明中的具体含义。
实施例1
如图1所示,本实施例公开了一种基于自适应中心锚的语种识别方法,包括以下步骤:
S100:构建语种数据集,对语种数据集中的语音数据进行预处理;
语种数据集(人声数据库)采用已有的语种数据库,该语种数据集的采样率均为16000HZ,包括35个语种,每个语种随机抽取10小时的语音数据;
以其中一种语种数据集为例,对该语种数据集中的语音数据进行预处理,包括:
S110:抽取语种数据集中同一语种所有的语音数据进行拼接;将该语种数据集抽取的所有语音拼接起来记作S src
S120:计算拼接后语音数据中的连续静音段,若连续静音段大于设定阈值,则除掉该段静音部分;
计算S src 中的连续静音段,当存在连续静音大于设定阈值的静音时候,去除掉该段静音;设定阈值例如为1s、0.5s;静音的判断标准为通过DB值判断,每隔0.1秒计算一次DB值,当DB小于50时,认为该段为静音,去除静音后的S src 记作S vad0
S200:对语种数据集中的语音数据进行增强处理;
对语种数据集中预处理后的语音数据进行增强处理,包括对语音信噪比的增强处理、语速增强处理、时域随机裁剪增强和语音变调(PitchShift)增强;
(1)语音信噪比的增强处理具体为:将环境噪音按照一定信噪比叠加到预处理后的语音数据中;其中,环境噪音是通过录制不同环境下的噪音,并经过重采样、拼接得到的,例如录制户外、地铁、车站、办公室等场景的噪音,并重采样到16000HZ,将其拼接在一起形成环境噪音,并记作Snoise
(2)语速增强处理具体为:将经过语音信噪比增强处理后语音数据的语速加快0.7到1.3倍,即经过语速增强处理后的语速是经过语音信噪比增强处理后语音数据语速的0.7到1.3倍;
(3)时域随机裁剪增强的处理具体为:将语种数据集中经过预处理后的语音数据每间隔3秒随机设置0~0.5秒的数据为静音数据;
(4)语音变调增强处理具体为:将语种数据集中经过预处理后的语音数据随机向上或向下移动0~4个半音。
例如将S vad0 按照每3秒拆分成N个语音子段,分别记作(S vad10S vad20 ,S vad30···S vadn0),以S vadi0为例依次做如下增强操作,其中i表示语音子段编号:
语音信噪比的增强:从Snoise中随机截取一段3秒时长的语音并记作Snoise seg ,将Snoise seg 叠加到S vadi0中并记作S vadi1,即S vadi1=S vadi0+Rand×0.5×Snoise seg ,其中Rand为0到1之间的随机数;
语速增强:将S vadi1进行重采样并记作S vadi2,即S vadi2=ReSample(S vadi1,SampleRatio),其中SampleRatio=[0.7,1.3],重采样可模拟语速的变化;
时域随机裁剪增强:将S vadi0在时域进行随机裁剪并记作S vadi3,裁剪的时长为0.5×Rand秒,其中Rand为0到1之间的随机数,被裁剪的区域的PCM值设为0;
语音变调增强:将S vadi0进行变调增强并记为S vadi4,即S vadi4=pitchShift(S vadi0,nsteps),其中nsteps为[-4,4]之间的随机整数,表示移动的半音数;
S vadi1依次拼接起来记作S vad1,同理生成S vad2S vad3S vad4;由S vad1S vad2S vad3S vad4形成经过增强处理后的语音数据,记作S vad S vad =(S vad0S vad1S vad2S vad3S vad4)。
语种中的任一种语言需要考虑到不同的说话内容、不同的说话人、说话人的说话场景以及说话人的年龄、性别、语气等诸多因素,现有的语种数据集几乎不可能囊括上述所有的情景,本发明在有限的语种数据上通过对语音数据进行增强处理能有效地囊括更多的语音情景,从而提高语种识别的准确率。
S300:提取增强处理后语音数据的特征,生成特征数据集;
(1)提取增强处理后语音数据的特征生成特征数据集;
对增强后的语种数据集进行梅尔(mel)特征提取并生成特征数据集;例如以语种数据集中任一语种的语音为例,该语种经过增强后的数据为S vad ,其他语种采用与以下相同的方法进行处理;
依次选取S vad 中的语音段并计算mel特征记作fea i ,时间间隔为3秒,其中i表示该语种的语音段编号;
提取mel特征时,帧长设为25毫秒,帧间步长为10毫秒,滤波器的个数为64,FFT的点数设置为512,因此fea i 的维度为64×300×1;
将所有的fea i 聚合在一起形成该语种的特征数据集合,记为Feas,则Feas的维度为:M×64×300×1,M为该语种可拆分的语音段个数。
(2)基于特征数据集构建训练集和测试集,其中单个语种的训练集和测试集的数量比例为4:1;
将特征数据集Feas划分为训练数据集(训练集)和测试数据集(测试集),训练集记作trainFeas,测试集记作testFeas;训练集和测试集的划分比例为4:1,trainFeas的维度为m×64×300×1,testFeas的维度为n×64×300×1,其中m=4×n
生成训练标签(trainLabels)和测试标签(testLabels),trainLabels的维度为m×1,testLabels的维度为n×1,取值为当前语种的编号,从0开始计数;
将testFeas划分为testAnchorFeas和testPosFeas,testAnchorFeas和testPosFeas的划分比例为1:1;testAnchorFeas和testPosFeas的维度均为
Figure DEST_PATH_IMAGE001
当语种数据集中所有语音数据的特征计算完成后,分别将所有的trainFeas聚合在一起形成allTrainFeas,将所有的testFeas聚合在一起形成allTestFeas,将所有的trainLables聚合在一起形成allTrainLabels,将所有的testLabels聚合在一起形成allTestLabels;将所有的testAnchorFeas聚合在一起形成allTestAnchorFeas,将所有的testPosFeas聚合在一起形成allTestPosFeas
假设allTestAnchorFeas的维度为K×64×300×1,依次遍历allTestAnchorFeas中的每个特征,从allTestFeas中随机选取与当前特征不是相同语种编号的特征,将这些特征聚合起来记作allTestNegFeasallTestNegFeas的维度也为K×64×300×1;其中,testAnchorFeas为从测试集中选出的锚数据,testPosFeas为从测试集中选出的与锚相同标签的样本数据,allTestNegFeas为从测试集中选出的与锚不相同标签的样本数据。
生成tripletFeas,如图2所示,tripletFeas的生成方式为:从allTestAnchorFeasallTestPosFeasallTestNegFeas按序取出40个特征样本并组合在一起;最终tripletFeas的维度为3K×64×300×1。
S400:构建深度神经骨干网络,并基于分类损失函数采用有监督学习方式训练深度神经骨干网络;
深度神经网络的架构包括前端、编码层和后端;前端代表输入特征,即allTrainFeasallTestFeasallTrainLabelsallTestLabelstripletFeas及[Anchor,Pos,Neg];编码层为骨干网络,骨干网络为深度神经骨干网络(KYLANGS),深度神经骨干网络(KYLANGS)是通过在Resnet34网络基础上进行改进得到,即KYLANGS网络为改进的Resnet34网络,深度神经骨干网络(KYLANGS)为基于多尺度的残差神经网络;后端为损失函数层,损失函数层包括分类损失函数和度量损失函数,其中,分类损失函数包括Categorical_Crossentropy、amsoftmax和aamsoftmax,度量损失函数包括Triplet-Loss和Contrastive Loss。
在深度神经骨干网络的基础上分别构建损失函数层,即分别构建深度神经骨干网络结合分类损失函数和深度神经骨干网络结合度量损失函数的神经网络,例如KYLANGS+Categorical_Crossentropy和KYLANGS+Triplet-Loss的神经网络,其中深度神经骨干网络结合分类损失函数用于训练初步的网络参数,形成一个基本可用的网络;深度神经骨干网络结合度量损失函数用于网络参数的进一步调优,不断迭代优化识别效果,提升网络准确率。
KYLANGS的结构图如图3所示,KYLANGS包括卷积层Conv1、Blocks1、Blocks2、Blocks3、Blocks4、StatPooling层(池化层)、Flatten层和Linear层;
其中Conv1的结构为Conv2D+BatchNormalization+Relu的结构,Conv2D中的kernel size为3×3,strides参数设置为1,输出神经元个数为32,padding参数设为same;已知网络的输入为64×300×1(不考虑batchsize维度),则经过Conv1后的输入维度为64×300×32。
Blocks1的结构如图4所示,所述Blocks1的结构中包括Conv_Bn_Relu_k_s_n和Concatenate函数;定义Conv_Bn_Relu_k_s_n,其中Conv_Bn_Relu表示Conv2D+BatchNormalization+Relu的结构,_k表示Conv2D的kernel size为k×k,_s表示strides参数设置为(s,s),_n表示Conv2D输出神经元个数为n;kernel size表示Blocks中的第一个卷积层的kernel size,Stride表示Blocks中的第一个卷积层的Stride;
Blocks1中经过Conv_Bn_Relu_3_1_32的输出的维度为64×300×32;
图4中虚线框的部分记为res2netblock,res2netblock中结构将被重复执行repets次,repets为被重复执行的次数;对于Blocks1,repets=3;当res2netblock第一次被执行时,res2netblock中第一个Conv_Bn_Relu_1_1_32的输入为Conv_Bn_Relu_3_1_32的输出,之后的输入来自res2netblock中的blockOutPut;
res2netblock中经过第一个Conv_Bn_Relu_1_1_32的输出的维度为64×300×32;将res2netblock中经过第一个Conv_Bn_Relu_1_1_32的输出切割成4个相同大小的张量(tensor),split1,split2,split3,split4的维度均为64×300×8;
split2,split3,split4对应的Conv_Bn_Relu_3_1_8神经元个数为Conv_Bn_Relu_1_1_32的1/4;
对split2做Conv_Bn_Relu_3_1_8操作,输出的维度为64×300×8;
将split2经Conv_Bn_Relu_3_1_8的输出结果叠加到split3然后做Conv_Bn_Relu_3_1_8,输出的结果维度为64×300×8;
对split4做类似的操作,输出的结果维度为64×300×8;
将split2,split3,split4经过一系列操作后的输出结果与split1拼接到一起,形成拼接后的tensor,拼接后的输出维度为64×300×32,从而实现了尺度因子为4的多尺度融合残差神经网络;
将拼接后的tensor再次输入第二个Conv_Bn_Relu_1_1_32,并与res2netblock第一次被执行时第一个Conv_Bn_Relu_1_1_32的输出结果进行相加,输出的结果维度为64×300×32,记为blockOutPut;
当res2netblock已被重复执行repets次时,blockOutPut直接输出,否则,blockOutPut将作为res2netblock中第一个Conv_Bn_Relu_1_1_32的输入;
Blocks2,Blocks3,Blocks4的结构与Blocks1相同,仅在参数上略有不同,Blocks2,Blocks3,Blocks4输出神经元的个数分别为64,128,256,repets的取值依次为4,6,3;Blocks中的第一个Conv2d中的stride由(1,1)变成(2,2);
Blocks2,Blocks3,Blocks4输出维度分别为:32×150×64,16×75×128,8×37×256;
StatPooling层(池化层)计算特征在时间维度的均值和方差,并将均值和方差组合起来作为输出凭,均值的输出结果维度为8×256,方差的计算结果维度为8×256,结合起来的维度为8×512;
Flatten层将StatPooling层输出的结果展开,变成4096的向量;
Linear层包括一个全连接层和一个L2_normalize函数,全连接层的输出神经元个数为256,Linear的输出为256位的归一化向量。
本发明中基于Resnet34网络进行改进形成深度神经骨干网络(KYLANGS),使KYLANGS成为多尺度融合的残差神经网络,相较于Resnet34网络,KYLANGS能增强骨干网络的特征表达能力。
本发明在前端有效的使用数据增强,扩大数据集的同时也增加了数据集的鲁棒性,在编码层使用多尺度融合的残差神经网络增强骨干网络的特征表达能力,在后端先后使用了分类损失和度量损失进一步提升识别的准确率。
S500:基于度量损失函数,采用自适应中心锚方法进一步训练深度神经骨干网络;
基于深度神经骨干网络结合分类损失函数的网络进行训练,直至测试集的准确率稳定时停止训练;例如使用KYLANGS+Categorical_Crossentropy的方式进行有监督的训练学习,采用allTrainFeasallTestFeastrainLabelstestLabels作为网络的输入,深度神经再接一个全连接层,全连接层的神经元个数为语种的数目(35),激活函数为softmax,损失函数为Categorical_Crossentropy;当测试集的准确率变化率小于0.01时停止训练;初始学习率为0.01,每10个epoch(轮次)减小10%,batchsize(1次迭代所使用的样本量)设置为64;
S510:计算每个语种训练集中的特征在深度神经骨干网络输出的结果,并基于各个语种训练集的输出结果计算均值向量以得到每个语种的特征中心;
例如当KYLANGS+ Categorical_Crossentropy的网络训练结束时,计算每个语种训练集中的特征在骨干网络(例如KYLANGS)输出的结果,并计算所有输出结果的均值向量得到每个语种的特征分布中心(特征中心);
S520:计算各个语种训练集的输出结果与其对应的语种特征中心的欧式距离,基于欧式距离构建Anchor集和非Anchor集;
计算每个语种训练集中的特征在深度神经骨干网络输出的结果与该语种特征中心的欧式距离,选取与各自特征中心相邻的前10%的对应的训练集作为候选的Anchor集;其余的训练集作为非Anchor集;
S530:基于Anchor集和非Anchor集对所述深度神经骨干网络进行训练,不断更新特征中心和特征中心附近的样本,以实现自适应中心锚的选取;
例如基于Anchor集和非Anchor集对KYLANGS+Triplet-Loss进行训练;采用KYLANGS+Triplet-Loss进一步优化整个网络,不断更新特征中心和选取特征中心的附近的样本,从而实现了自适应中心锚的选取;初始学习率设置为0.0001;每10个epoch减小10%;batchsize设置为120,包括40个Anchor、40个Pos和40个Neg;KYLANGS+Triplet-Loss单次训练流程示意图如图5所示;
S540:重复执行步骤S510-S530,直至网络收敛。
例如已知KYLANGS的输出为batchszie×256,将KYLANGS的输出记为Embeds;将allTrainFeas输入到KYLANGS中,得到每个语种Embeds
以其中一种语种为例,得到该语种所有训练集的Embeds记作curEmbeds;计算curEmbeds的均值向量,即特征分布中心,记作curCenterEmbed
计算curEmbedscurCenterEmbed的欧式距离,取与curCenterEmbed最相邻的前10%对应的训练集作为Anchor集,其余的训练集作为非Anchor集;
当所有的语种完成后,形成35个Anchor集,35个非Anchor集;
对于一个batchsize,随机从35个Anchor集中取出40个特征作为Anchor,依次取出与Anchor对应语种的非Anchor集中的特征作为Pos,再依次取出与Anchor不是同一语种的特征作为Neg,最终形成的训练minibatch为[Anchor,Pos,Neg],其维度为120×64×300×1;
将minibatch作为输入,经KYLANGS计算其Triplet-Loss,Triplet-Loss的定义为:tripletloss=max(san-sap+alpha,0),KYLANGS的输出记为EmbedstestAnchorFeas在KYLANGS的输出记为AnchorEmbedstestPosFeas在KYLANGS的输出记为PosEmbedsallTestNegFeas在KYLANGS的输出记为NegEmbeds;已知batchsize为120,则AnchorEmbeds=Embeds[0:40],PosEmbeds=Embeds[40:80],NegEmbeds=Embeds[80:120],sanAnchorEmbedsNegEmbeds的余弦距离,sapAnchorEmbedsPosEmbeds的余弦距离,alpha设为0.5;
当所有的Anchor集计算完成后,重新计算每个语种Embeds的均值向量,重新构建新的Anchor集,从而完成了自适应中心锚的选取;
当一个epoch完成后,将tripletFeas作为输入计算其Embeds,并计算sapsan,定义diff=sap-san,当相邻epoch的diff差值小于0.001时候,训练结束。
本发明以深度神经骨干网络结合分类损失函数进行训练,基于每个语种训练集在深度神经骨干网络的输出结果与该语种的特征中心的欧式距离得到三元组(Anchor,Pos,Neg),三元组(Anchor, Pos, Neg)作为深度神经骨干网络结合度量损失函数网络的输入值,不断更新三元组(Anchor,Pos,Neg)中的Anchor的值,其中Anchor的选取方法为:相同语种经骨干网络计算得到的特征分布的中心区域,选取语种特征中心区域附近的特征样本作为下一轮迭代的Anchor,即基于自适应中心锚进行训练。
上述方法中网络的最终优化步骤是深度神经骨干网络结合度量损失函数网络的训练结果,由度量损失函数的定义可知,损失的计算高度依赖于三元组(Anchor,Pos,Neg)中选取问题,传统的训练方式Anchor为随机选取,因此给训练带来不稳定因素,合理的Anchor应该是具有高度代表性的Anchor,本发明在训练过程中逐步迭代Anchor位置使得Anchor的选取更加合理;同时本发明先采用了深度神经骨干网络结合分类损失函数进行训练,加快了训练速度,给深度神经骨干网络结合度量损失函数提供了更好的初始值,提高准确率。
下面结合具体实例分析本发明的实际效果:
分别采用Resnet34+Triplet-Loss、Resnet34+Categorical_Crossentropy &Resnet34+Triplet-Loss、KYLANGS+Triplet-Loss、KYLANGS+Categorical_Crossentropy &KYLANGS+Triplet-Loss的方式进行训练;实验结果以等错误率(Equal Error Rate)为衡量指标,骨干网络使用经典的Resnet34作为对比;具体实验结果见表1。
表1 基于不同神经网络结构及训练方法进行训练的结果
神经网络结构 训练方式 EER
Resnet34+Triplet-Loss 随机选取Anchor 5.31%
Resnet34+Categorical_Crossentropy&Resnet34+Triplet-Loss 基于自适应中心Anchor 4.32%
KYLANGS+Triplet-Loss 随机选取Anchor 4.15%
KYLANGS+Categorical_Crossentropy &KYLANGS+Triplet-Loss 基于自适应中心Anchor 3.76%
由表1中的数据可知,通过Resnet34+Triplet-Loss及随机选取Anchor的方式进行训练得到的语种识别模型的等错误率为5.31%,通过KYLANGS+Triplet-Loss及随机选取Anchor的方式进行训练得到的语种识别模型的等错误率为4.15%;通过Resnet34+Categorical_Crossentropy&Resnet34+Triplet-Loss及基于自适应中心Anchor的方式进行训练得到的语种识别模型的等错误率为4.32%,通过KYLANGS +Categorical_Crossentropy& KYLANGS +Triplet-Loss及基于自适应中心Anchor的方式进行训练得到的语种识别模型的等错误率为3.76%;可见,本申请中通过对Resnet34网络改进形成深度神经骨干网络,深度神经骨干网络能显著降低语种识别模型的等错误率,即能显著提高语种识别模型的准确率。
由表1中的数据可知,通过Resnet34+Triplet-Loss及随机选取Anchor的方式(传统的训练方式)进行训练得到的语种识别模型的等错误率为5.31%,通过Resnet34+Categorical_Crossentropy&Resnet34+Triplet-Loss及基于自适应中心Anchor的方式进行训练得到的语种识别模型的等错误率为4.32%;通过KYLANGS+Triplet-Loss及随机选取Anchor的方式进行训练得到的语种识别模型的等错误率为4.15%,通过KYLANGS+Categorical_Crossentropy&KYLANGS+Triplet-Loss及基于自适应中心Anchor的方式进行训练得到的语种识别模型的等错误率为3.76%;可见,本申请中通过构建深度神经骨干网络结合分类损失函数和深度神经骨干网络结合度量损失函数的神经网络以及基于自适应中心锚进行训练能够显著降低语种识别模型的等错误率,即能显著提高语种识别模型的准确率;通过本发明改进的骨干网络和训练方法得到了高准确率的语种识别模型。
实施例2
如图6所示,本实施例公开了一种基于自适应中心锚的语种识别系统,包括语种数据集构建模块、增强处理模块、特征提取模块、第一训练模块、第二训练模块和语种识别模块;
语种数据集构建模块用于构建语种数据集;
增强处理模块用于对所述语种数据集中的语音数据进行增强处理;
特征提取模块用于提取所述增强处理后的语音数据的特征,生成特征数据集;
第一训练模块用于构建深度神经骨干网络,并基于分类损失函数采用有监督学习方式训练所述深度神经骨干网络;
第二训练模块用于基于度量损失函数,采用自适应中心锚方法进一步训练所述深度神经骨干网络;
语种识别模块用于基于所述训练后的深度神经骨干网络进行语种识别。
第二训练模块执行以下操作:
计算每个语种训练集中的特征在深度神经骨干网络输出的结果,并基于各个语种训练集的输出结果计算均值向量以得到每个语种的特征中心;
计算各个语种训练集的输出结果与其对应的语种特征中心的欧式距离,基于欧式距离构建Anchor集和非Anchor集;
基于Anchor集和非Anchor集对深度神经骨干网络进行训练,不断更新特征中心和特征中心附近的样本,以实现自适应中心锚的选取;
重复执行上述操作,直至网络收敛。
虽然已经参考优选实施例对本发明进行了描述,但在不脱离本发明范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,各个实施例中所提到的各项技术特征均可以任意方式组合起来。本发明并不局限于文中公开的特定实施例,而是包括落入权利要求范围内的所有技术方案。本发明未详细阐述部分属于本领域技术人员的公知技术。

Claims (7)

1.一种基于自适应中心锚的语种识别方法,其特征在于,包括以下步骤:
S100:构建语种数据集;
S200:对所述语种数据集中的语音数据进行增强处理;
S300:提取所述增强处理后的语音数据的特征,生成特征数据集;
S400:构建深度神经骨干网络,并基于分类损失函数采用有监督学习方式训练所述深度神经骨干网络;所述深度神经骨干网络是基于多尺度的残差神经网络,是通过在Resnet34网络基础上进行改进得到;
S500:基于度量损失函数,采用自适应中心锚方法进一步训练所述深度神经骨干网络;
S600:基于所述训练后的深度神经骨干网络进行语种识别;
其中,所述深度神经骨干网络包括:卷积层Conv1、Blocks1、Blocks2、Blocks3、Blocks4、池化层、Flatten层和Linear层,其中Conv1的结构为Conv2D+BatchNormalization+Relu的结构,Blocks1、Blocks2、Blocks3、Blocks4中的每个均包括Conv_Bn_Relu_k_s_n和Concatenate函数,其中Conv_Bn_Relu表示Conv2D+BatchNormalization+Relu的结构,_k表示Conv2D的kernel size,_s表示strides参数设置,_n表示Conv2D输出神经元个数;
将Conv_Bn_Relu_3_1_32的输出值作为第一个Conv_Bn_Relu_1_1_32的第一次输入值,将所述第一个Conv_Bn_Relu_1_1_32的输出值切割成4个相同大小的张量split1、split2、split3和split4;
将split2输入Conv_Bn_Relu_3_1_8得到split2的输出结果;将split2的输出结果与split3进行叠加,然后输入Conv_Bn_Relu_3_1_8得到split3的输出结果;将split3的输出结果与split4进行叠加,然后输入Conv_Bn_Relu_3_1_8得到split4的输出结果;
拼接split2的输出结果、split3的输出结果、split4的输出结果和split1得到拼接后的张量,以实现尺度因子为4的多尺度融合残差神经网络;
所述步骤S500包括以下子步骤:
S510:计算每个语种训练集中的特征在所述深度神经骨干网络输出的结果,并基于各个语种训练集的输出结果计算均值向量以得到每个语种的特征中心;
S520:计算各个语种训练集的输出结果与其对应的语种特征中心的欧式距离,基于欧式距离构建Anchor集和非Anchor集;
S530:基于Anchor集和非Anchor集对所述深度神经骨干网络进行训练,不断更新特征中心和特征中心附近的样本,以实现自适应中心锚的选取;
S540:重复执行步骤S510-S530,直至网络收敛;
不断更新特征中心和特征中心附近的样本,以实现自适应中心锚的选取具体为:
当所有的Anchor集计算完成后,重新计算每个语种训练集的输出结果的均值向量,重新构建新的Anchor集,从而完成了自适应中心锚的选取。
2.根据权利要求1所述的语种识别方法,其特征在于,所述步骤S100中还包括对所述语种数据集中的语音数据进行预处理,包括以下子步骤:
S110:抽取所述语种数据集中同一语种的所有语音数据进行拼接;
S120:计算所述拼接后得到的语音数据中的连续静音段,若连续静音段大于设定阈值,则除掉该连续静音段。
3.根据权利要求1所述的语种识别方法,其特征在于,所述步骤S200中的增强处理包括增强语音信噪比、语速、时域随机裁剪和语音变调中的一种或多种。
4.根据权利要求1所述的语种识别方法,其特征在于,所述分类损失函数采用Categorical_Crossentropy、amsoftmax和aamsoftmax中的一种。
5.根据权利要求1所述的语种识别方法,其特征在于,所述度量损失函数采用Triplet-Loss和Contrastive Loss中的一种。
6.根据权利要求1所述的语种识别方法,其特征在于,所述步骤S520具体为:
计算每个语种训练集中的特征在所述深度神经骨干网络输出的结果与该语种特征中心的欧式距离,选取与各自特征中心相邻的前10%的对应的训练集作为候选的Anchor集;其余的训练集作为非Anchor集。
7.一种基于自适应中心锚的语种识别系统,其特征在于,包括语种数据集构建模块、增强处理模块、特征提取模块、第一训练模块、第二训练模块和语种识别模块;
所述语种数据集构建模块用于构建语种数据集;
所述增强处理模块用于对所述语种数据集中的语音数据进行增强处理;
所述特征提取模块用于提取所述增强处理后的语音数据的特征,生成特征数据集;
所述第一训练模块用于构建深度神经骨干网络,并基于分类损失函数采用有监督学习方式训练所述深度神经骨干网络;所述深度神经骨干网络是基于多尺度的残差神经网络,是通过在Resnet34网络基础上进行改进得到;
所述第二训练模块用于基于度量损失函数,采用自适应中心锚方法进一步训练所述深度神经骨干网络;
所述语种识别模块用于基于所述训练后的深度神经骨干网络进行语种识别;
其中,所述深度神经骨干网络包括卷积层Conv1、Blocks1、Blocks2、Blocks3、Blocks4、池化层、Flatten层和Linear层,其中Conv1的结构为Conv2D+BatchNormalization+Relu的结构,Blocks1、Blocks2、Blocks3、Blocks4中的每个均包括Conv_Bn_Relu_k_s_n和Concatenate函数,其中Conv_Bn_Relu表示Conv2D+BatchNormalization+Relu的结构,_k表示Conv2D的kernel size,_s表示strides参数设置,_n表示Conv2D输出神经元个数;
将Conv_Bn_Relu_3_1_32的输出值作为第一个Conv_Bn_Relu_1_1_32的第一次输入值,将所述第一个Conv_Bn_Relu_1_1_32的输出值切割成4个相同大小的张量split1、split2、split3和split4;
将split2输入Conv_Bn_Relu_3_1_8得到split2的输出结果;将split2的输出结果与split3进行叠加,然后输入Conv_Bn_Relu_3_1_8得到split3的输出结果;将split3的输出结果与split4进行叠加,然后输入Conv_Bn_Relu_3_1_8得到split4的输出结果;
拼接split2的输出结果、split3的输出结果、split4的输出结果和split1得到拼接后的张量,以实现尺度因子为4的多尺度融合残差神经网络;
所述第二训练模块执行以下操作:
计算每个语种训练集中的特征在所述深度神经骨干网络输出的结果,并基于各个语种训练集的输出结果计算均值向量以得到每个语种的特征中心;
计算各个语种训练集的输出结果与其对应的语种特征中心的欧式距离,基于欧式距离构建Anchor集和非Anchor集;
基于Anchor集和非Anchor集对所述深度神经骨干网络进行训练,不断更新特征中心和特征中心附近的样本,以实现自适应中心锚的选取;
重复执行上述操作,直至网络收敛;
其中,不断更新特征中心和特征中心附近的样本,以实现自适应中心锚的选取具体为:
当所有的Anchor集计算完成后,重新计算每个语种训练集的输出结果的均值向量,重新构建新的Anchor集,从而完成了自适应中心锚的选取。
CN202110841690.3A 2021-07-26 2021-07-26 一种基于自适应中心锚的语种识别方法及系统 Active CN113282718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110841690.3A CN113282718B (zh) 2021-07-26 2021-07-26 一种基于自适应中心锚的语种识别方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110841690.3A CN113282718B (zh) 2021-07-26 2021-07-26 一种基于自适应中心锚的语种识别方法及系统

Publications (2)

Publication Number Publication Date
CN113282718A CN113282718A (zh) 2021-08-20
CN113282718B true CN113282718B (zh) 2021-12-10

Family

ID=77281319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110841690.3A Active CN113282718B (zh) 2021-07-26 2021-07-26 一种基于自适应中心锚的语种识别方法及系统

Country Status (1)

Country Link
CN (1) CN113282718B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117292675B (zh) * 2023-10-24 2024-09-17 哈尔滨理工大学 基于深层时序特征表示的语种识别方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110853618A (zh) * 2019-11-19 2020-02-28 腾讯科技(深圳)有限公司 一种语种识别的方法、模型训练的方法、装置及设备
CN111640419A (zh) * 2020-05-26 2020-09-08 合肥讯飞数码科技有限公司 语种识别方法、系统、电子设备及存储介质
CN112598063A (zh) * 2020-12-25 2021-04-02 深圳市商汤科技有限公司 神经网络生成方法及装置、电子设备和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106096538B (zh) * 2016-06-08 2019-08-23 中国科学院自动化研究所 基于定序神经网络模型的人脸识别方法及装置
US10515295B2 (en) * 2017-10-27 2019-12-24 Adobe Inc. Font recognition using triplet loss neural network training
CN110428808B (zh) * 2018-10-25 2022-08-19 腾讯科技(深圳)有限公司 一种语音识别方法及装置
CN110782872A (zh) * 2019-11-11 2020-02-11 复旦大学 基于深度卷积循环神经网络的语种识别方法及装置
CN110838286B (zh) * 2019-11-19 2024-05-03 腾讯科技(深圳)有限公司 一种模型训练的方法、语种识别的方法、装置及设备
CN111127470B (zh) * 2019-12-24 2023-06-16 江西理工大学 一种基于上下文和浅层空间编解码网络的图像语义分割方法
CN111260032A (zh) * 2020-01-14 2020-06-09 北京迈格威科技有限公司 神经网络训练方法、图像处理方法及装置
CN111950515B (zh) * 2020-08-26 2022-10-18 重庆邮电大学 一种基于语义特征金字塔网络的小人脸检测方法
CN112989108B (zh) * 2021-02-24 2022-11-04 腾讯科技(深圳)有限公司 基于人工智能的语种检测方法、装置及电子设备
CN113096692B (zh) * 2021-03-19 2024-05-28 招商银行股份有限公司 语音检测方法及装置、设备、存储介质
CN112733822B (zh) * 2021-03-31 2021-07-27 上海旻浦科技有限公司 一种端到端文本检测和识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110853618A (zh) * 2019-11-19 2020-02-28 腾讯科技(深圳)有限公司 一种语种识别的方法、模型训练的方法、装置及设备
CN111640419A (zh) * 2020-05-26 2020-09-08 合肥讯飞数码科技有限公司 语种识别方法、系统、电子设备及存储介质
CN112598063A (zh) * 2020-12-25 2021-04-02 深圳市商汤科技有限公司 神经网络生成方法及装置、电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于UBM和深度学习的说话人识别方法研究;池春婷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200215;全文 *

Also Published As

Publication number Publication date
CN113282718A (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
AU2020102038A4 (en) A speaker identification method based on deep learning
CN111899757B (zh) 针对目标说话人提取的单通道语音分离方法及系统
CN112259119B (zh) 基于堆叠沙漏网络的音乐源分离方法
CN113539293A (zh) 基于卷积神经网络和联合优化的单通道语音分离方法
CN111666996B (zh) 一种基于attention机制的高精度设备源识别方法
CN117935761A (zh) 一种基于多模态特征融合的音乐情感识别方法
CN113571095A (zh) 基于嵌套深度神经网络的语音情感识别方法和系统
Imran et al. An analysis of audio classification techniques using deep learning architectures
CN113282718B (zh) 一种基于自适应中心锚的语种识别方法及系统
CN109741733B (zh) 基于一致性路由网络的语音音素识别方法
Jin et al. Speech separation and emotion recognition for multi-speaker scenarios
CN108831486B (zh) 基于dnn与gmm模型的说话人识别方法
Yang et al. Speech emotion analysis of netizens based on bidirectional LSTM and PGCDBN
CN115206270A (zh) 基于循环特征提取的音乐生成模型的训练方法、训练装置
Zhang et al. End-to-end overlapped speech detection and speaker counting with raw waveform
Hasan Bird species classification and acoustic features selection based on distributed neural network with two stage windowing of short-term features
CN116665704B (zh) 一种基于局部注意力的多任务学习钢琴复音音乐自动记谱方法
JP7107377B2 (ja) 音声処理装置、音声処理方法、およびプログラム
CN117393000B (zh) 一种基于神经网络和特征融合的合成语音检测方法
CN118573774A (zh) 背景音乐的确定方法、装置、设备、存储介质和程序产品
Voynarovskiy Sound Source Separation with Efficient Transformers
CN119360872A (zh) 一种基于生成对抗网络的人声增强降噪方法
CN117457005A (zh) 一种基于动量对比学习的声纹识别方法和设备
Otsuka et al. An on-line algorithm of guitar performance transcription using non-negative matrix factorization
Xie et al. Speaker and Style Disentanglement of Speech Based on Contrastive Predictive Coding Supported Factorized Variational Autoencoder

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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A language recognition method and system based on adaptive central anchor

Effective date of registration: 20220630

Granted publication date: 20211210

Pledgee: Xiamen International Bank Co.,Ltd. Beijing Branch

Pledgor: BEIJING KUAIYU ELECTRONICS Co.,Ltd.

Registration number: Y2022990000389

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230731

Granted publication date: 20211210

Pledgee: Xiamen International Bank Co.,Ltd. Beijing Branch

Pledgor: BEIJING KUAIYU ELECTRONICS Co.,Ltd.

Registration number: Y2022990000389

PC01 Cancellation of the registration of the contract for pledge of patent right