CN117457005A - 一种基于动量对比学习的声纹识别方法和设备 - Google Patents

一种基于动量对比学习的声纹识别方法和设备 Download PDF

Info

Publication number
CN117457005A
CN117457005A CN202311463284.3A CN202311463284A CN117457005A CN 117457005 A CN117457005 A CN 117457005A CN 202311463284 A CN202311463284 A CN 202311463284A CN 117457005 A CN117457005 A CN 117457005A
Authority
CN
China
Prior art keywords
voiceprint
training
sample
vectors
data
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
Application number
CN202311463284.3A
Other languages
English (en)
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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202311463284.3A priority Critical patent/CN117457005A/zh
Publication of CN117457005A publication Critical patent/CN117457005A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/18Artificial neural networks; Connectionist approaches

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及声纹识别领域,具体涉及一种基于动量对比学习的声纹识别方法和设备,该方法包括:获取训练声纹样本和测试声纹样本;构建同步声音‑文本对应数据集;使用训练声纹样本和测试声纹样本训练MOCO模型主干网络;将两组训练集音频输入MOCO主干网络;将文本数据映射到高维空间得到词向量,将词向量与音频向量相乘得到两个音频的合成向量,经过MLP网络来判断两个音频的合成向量相似性;对MLP网络的参数进行微调,微调后的MLP网络和训练好的MOCO主干网络作为声纹识别模型;将两段音频输入到声纹识别模型,输出声纹识别结果。本发明使用了无标签数据的对比学习在降低了对训练数据依赖,增强模型的泛化能力,可以在复杂的环境下实现更准确的声纹识别。

Description

一种基于动量对比学习的声纹识别方法和设备
技术领域
本发明涉及声纹识别领域,具体涉及一种基于动量对比学习的声纹识别方法和设备。
背景技术
随着数字化时代的到来,身份识别与认证越来越成为日常生活中不可或缺的一项技术,常用的技术主要有密钥认证、人脸认证、虹膜认证、指纹认证;声纹认证一直是一项不太成熟的技术,目前市面上并没有成熟的开源或闭源的声纹识别认证技术。
声纹识别技术的背景可以追溯到上世纪60年代,当时研究人员开始尝试使用声音特征来识别说话人。这项技术的关键在于人类的声音特征是独一无二的,即使对同一段话,不同的人的发音也会有所不同。
理论层面,声纹识别与认证主要有两种方法。一是基于特征提取的方法:这种方法首先需要从声音信号中提取出一些特征,比如声音的频谱、声道长度、共振峰等。然后使用这些特征组合构造一个类似于人体音色的具有各异性的的变量进行比对,从而识别区分不同个体的声纹;二是基于神经网络的方法:近年来,随着深度学习技术的发展,神经网络已经应用到了NLP、CV等各个方面,也出现了很多基于神经网络的说话人识别模型,这些模型通常会将声音信号输入神经网络,通过学习提取出高层次的特征来进行识别。
实际应用层面,声纹识别技术得到了广泛应用。在金融机构、政府部门等场所,可以通过声纹识别来确认用户的身份,以保障敏感信息的安全访问。同时,在电话银行和客服行业,声纹识别可以用于验证客户的身份,提升用户体验。此外,声纹识别也在犯罪侦查和取证方面发挥着重要作用。它可以帮助警方鉴别犯罪嫌疑人,也可以作为法庭取证的一种手段,解决一些涉及声音录音的法律案件。在智能语音助手领域,声纹识别可以区分不同的用户,从而提供个性化的服务。不同的用户可以享受到特定于他们的定制化建议、提醒等功能。
技术方法层面,目前主流的声纹识别技术主要应用的是如下技术:MFCC(MelFrequency Cepstral Coefficients)是常用于声纹识别的特征提取方法,它模拟了人耳对声音的感知机制,将声音信号转化为一系列频率系数,从而提取出有用的特征;GMM-UBM(Gaussian Mixture Model-Universal Background Model)是一种常用的统计建模方法,它将声音特征建模为高斯混合模型,并使用通用的背景模型进行比对,从而实现说话人的识别;i-vector是一种表示说话人特征的方法,它通过将声学特征投影到一个低维空间中,将说话人的声学特征编码为一个向量,用于构建说话人识别系统;随着深度学习技术的发展,卷积神经网络(CNN)和循环神经网络(RNN)等深度学习模型在声纹识别中取得了显著的成果,用于提取声音特征;Siamese网络用于学习说话人相似度,它可以在说话人验证等任务中取得良好的效果,通过比较两段声音信号的相似程度来判断是否属于同一说话人。
但是在提取说话人的声纹特征时,往往会受到噪声因素的干扰,使得声学细节模糊,从而影响模型的性能和识别率。此外,采用高斯分量的GMM模型也具有局限性。随着GMM规模逐渐变大,模型表征的能力增强。但同时参数量也会随之增加,也就是说,高斯分量需要大量的数据进行训练来模拟分布,需要有更多的数据参与驱动GMM的训练,否则其性能就会变差。即使将目标用户的训练数据大幅提升,也很难符合GMM的充分训练要求。当数据量较少时,高斯混合模型很容易陷入过拟合的境地,无法应用与多个场景下。
发明内容
为解决现有技术所存在的技术问题,本发明提供一种基于动量对比学习的声纹识别方法和设备,可以获得大量不同环境的声纹样本数据,训练的时候让识别模型捕获更多有效特征,增强了泛化性,有效防止噪声因素的干扰,可以在复杂的环境下较好地完成声纹识别任务,提高识别效率。
本发明的第一个目的在于提供一种基于动量对比学习的声纹识别方法。
本发明的第二个目的在于提供一种计算机设备。
本发明的第一个目的可以通过采取如下技术方案达到:
一种基于动量对比学习的声纹识别方法,所述方法包括:
S1、获取训练声纹样本和测试声纹样本;
S2、收集与训练声纹样本、测试声纹样本相关的文本数据,构建同步声音-文本对应数据集,根据同步声音-文本对应数据集采用数据增强方法生成多样的训练声纹样本;
S3、使用训练声纹样本训练MOCO模型主干网络得到训练好的MOCO模型主干网络,使用测试声纹样本检验MOCO模型主干网络的训练效果;
S4、随机抽取两个游任务音频输入训练好的MOCO模型主干网络,分别输出两个音频的特征向量;将文本数据映射到高维空间得到词向量,将词向量与音频向量相乘得到两个音频的合成向量;
S5、将两个音频的合成向量分别输入MLP网络进行高级特征提取,经过MLP网络来判断两个音频的合成向量相似性;
S6、获取有标签声纹样本数据,通过有标签声纹样本数据对MLP网络的参数进行微调,得到微调后的MLP网络,微调后的MLP网络和训练好的MOCO主干网络作为声纹识别模型;
S7、将两个音频输入到声纹识别模型中判断两个音频是否来自同一个人,输出声纹识别结果。
优选的技术方案中,所述对语音数据集进行预处理,包括
对声音数据进行降噪处理,采用傅里叶变换去除部分类型的噪音,通过DenoisingAutoencoders自编码器来对声音进行降噪;
对声音数据的采样率、位深度和格式进行统一格式;
对语音数据进行语音分段。
优选的技术方案中,所述收集与训练声纹样本、测试声纹样本相关的文本数据,构建同步声音-文本对应数据集,包括:
收集与训练声纹样本、测试声纹样本相关的文本数据,对文本数据进行清洗和标准化处理得到训练声纹样本、测试声纹样本的文本表示,将同一说话者的训练声纹样本的声音表示和文本表示进行匹配,得到同步声音-文本对应数据集。
优选的技术方案中,所述使用训练声纹样本训练MOCO模型主干网络,得到训练好的MOCO模型主干网络,包括:
使用训练声纹样本训练MOCO模型主干网络,选择合适的mini-batch size和代理任务,以任意一个训练声纹样本作为音频数据原样本生成训练声纹样本的正负样本对,基于训练声纹样本的正负样本对构建动态数据字典;
从动态数据字典的训练声纹样本中进行随机抽取多个音频,对一个音频采用MFCC方法提取音频信号的特征向量,通过ResNet-18网络的encoder编码器进行前向传播,生成query向量;对其他音频通过使用MFCC方法提取它们音频信号的特征向量,通过resnet-18网络的momentum-encoder动量编码器前向传播,输出key向量集,将key向量集进入队列;
使用InfoNCE损失函数进行特征学习,更新encoder参数和momentum encoder参数,得到训练好的MOCO模型主干网络。
优选的技术方案中,,所述使用InfoNCE损失函数进行特征学习,更新encoder参数和momentum encoder参数,包括:
从动态数据字典中获取正样本生成的key向量,并且随机抽取若干数量负样本生成的key向量,正样本生成的key向量、负样本生成的key向量和一个对应的query向量做query-key查询并输入到损失函数之中计算损失,然后进行反向传播,直接更新参数encoder,进行动量式更新参数momentum encoder。
优选的技术方案中,所述将两个音频的合成向量分别输入MLP网络,进行高级特征提取,判断两个音频的合成向量相似性,包括:
将这两个音频的合成向量分别输入MLP网络,通过MLP网络的Linear线性层对音频的合成向量进行高级特征提取,使用余弦相似性函数来计算这两个合成向量之间的余弦相似性,将余弦相似性与预先设定的阈值进行比较;如果余弦相似性大于等于阈值,判断这两段音频出自同一人;否则,判断这两段音频不出自同一个人。
本发明的第二个目的可以通过采取如下技术方案达到:
一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的一种基于动量对比学习的声纹识别方法。
本发明与现有技术相比,具有如下优点和有益效果:
本发明提供一种基于动量对比学习的声纹识别方法和设备,应用MOCO主干网络来提取声音的特征,使用了队列的数据结构思想来减轻训练网络时对电脑储存的依赖,并且使用动量更新的方法来保证数据样本的一致性,从而保证了训练的有效性;并且结合了文本嵌入的方式,实现了音频和文本的多模态学习;训练MLP网络来更好地完成说话人识别的下游任务;使用了无标签数据的对比学习在降低了对训练数据依赖同时还增强模型的泛化能力,可以在复杂的环境下实现更准确的声纹识别。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明实施例中的一种基于动量对比学习的声纹识别方法的流程图;
图2是本发明实施例中的训练MOCO主干网络的框架示意图。
具体实施方式
下面将结合附图和实施例,对本发明技术方案做进一步详细描述,显然所描述的实施例是本发明一部分实施例,而不是全部的实施例,本发明的实施方式并不限于此。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本发明公开了一种基于动量对比学习的声纹识别方法,应用MOCO网络作为主干网络来提取声音的特征,使用了队列的数据结构思想来减轻训练网络时对电脑储存的依赖,并且使用动量更新的方法来保证数据样本的一致性,从而保证了训练的有效性;并且结合了文本嵌入的方式,实现了音频和文本的多模态学习;冻住主干网络的前提下,训练MLP网络来更好地完成说话人识别的下游任务;使用了无标签数据的对比学习在降低了对训练数据依赖同时还增强模型的泛化能力,可以在复杂的环境下实现更准确的声纹识别。
如图1所示,本发明所述一种基于动量对比学习的声纹识别方法,该方法包括以下步骤:
步骤S1、获取训练声纹样本和测试声纹样本
S11、从深度学习社区中获取多个语音数据集
具体地,训练声纹样本的获取需要获取深度学习社区中一些成熟可靠的语音数据集,如THCHS30和AISHELL-1开源版,例如THCHS30(由清华大学语音与语言技术中心(CSLT)出版的开放式中文语音数据库,包含了1万余条语音文件,大约40小时的中文语音数据,内容以文章诗句为主,全部为女声,AISHELL-1开源版,由北京希尔公司发布的一个中文语音数据集,其中包含约178小时的开源版数据。该数据集包含400个来自中国不同地区、具有不同的口音的人的声音。录音是在安静的室内环境中使用高保真麦克风进行录音,并采样降至16kHz。通过专业的语音注释和严格的质量检查,手动转录准确率达到95%以上,,这些声音数据代表了多样性的发音方式、语速和音质。
S12、对语音数据集进行预处理,将预处理好的语音数据集按照预定比例划分得到训练声纹样本和测试声纹样本。
具体地,对语音数据集进行预处理包括:
对语音数据进行降噪处理,先采用傅里叶变换去除部分类型的噪音,特别是周期性噪音,然后再通过Denoising Autoencoders自编码器来对声音进行降噪,以去除环境噪声。
标准化语音数据的采样率、位深度和格式,确保数据的一致性。采样率设置为16kHz,适合作为语音采样,位深度取8位,格式统一将开源数据集的MP3格式都转化为WAV格式,并且将音频文件的大小切割成120秒。
对语音数据进行语音分段,以便更好地分析和处理。
步骤S2、收集与训练声纹样本、测试声纹样本相关的文本数据,构建同步声音-文本对应数据集,根据同步声音-文本对应数据集采用数据增强方法生成多样的训练声纹样本。
S21、收集与训练声纹样本、测试声纹样本相关的文本数据,对文本数据进行清洗和标准化处理得到训练声纹样本、测试声纹样本的文本表示,将同一说话者的训练声纹样本的声音表示和文本表示进行匹配,得到同步声音-文本对应数据集。同步声音-文本对应数据集包括同一说话者的声音表示和相应的文本表示。
具体地,收集与声纹样本相关的文本数据,这些文本数据包括与声音数据对应的信息,例如说话者的性别、说话的腔调、声音的尖细等。为了提高文本表示的质量,进行文本数据的清洗和标准化处理,确保其一致性和可比性。然后从文本数据中抽出符合各个语音数据描述的词汇文本进行配对,这种同步表示的构建允许捕获声音和文本之间的强关联性,有助于提高声纹识别的准确性和鲁棒性。同步声音-文本对应数据集中的数据为无标签数据,使用了无标签数据的对比学习在降低了对训练数据依赖同时还增强模型的泛化能力,可以在复杂的环境下实现更准确的声纹识别。
S22、基于同步声音-文本对应数据集采用数据增强方法生成多样的训练声纹样本,确保数据集的多样性,确保涵盖多个不同说话者、语言和语境。维持数据集的平衡性,以避免出现说话者不均衡的情况,以确保每个说话者的正例对数量相对均衡。为提高声纹识别系统的鲁棒性,采用多种数据增强方法,将其应用于同步声音-文本对应数据集,以创造更多样性丰富的训练样本。优选地,多种数据增强方法包括语速变化,噪声添加、文本扰动,其中:
语速变化,通过调整声音样本的播放速度,创建多个不同语速的声音样本。这有助于我们的模型适应不同说话速度的说话者,提高了识别的适应性。
噪声添加,在纯净的人声数据集的基础之上,进行环境噪声的添加,比如海事执法系统中可以添加海边的风浪声。
文本扰动,在文本信息中对文本进行一定程度的扰动,例如删除或替换文本中的某些字符,以增加模型对于文本不完整性的鲁棒性。
S3、使用训练声纹样本训练MOCO模型主干网络,得到训练好的MOCO模型主干网络,使用测试声纹样本检验MOCO模型主干网络的训练效果。
S31、使用训练声纹样本训练MOCO模型主干网络,选择合适的mini-batch size和代理任务,以任意一个训练声纹样本作为音频数据原样本生成训练声纹样本的正负样本对,基于训练声纹样本的正负样本对构建动态数据字典。动态数据字典包括正样本对和负样本对,数据字典用于特征学习。
具体地,训练该MOCO模型主干网络仅需要音频数据集,并且根据拥有GPU内存大小决定mini-batch size,采用的代理任务是广泛使用的实例判别(instancediscrimination)。一个mini-batch size的训练集音频作为用于生成query向量的原样本,而对mini-batch size大小的输入的任意一个音频数据原样本,对音频数据本身应用数据增强所得到的扩充数据为原样本对应的正样本,如:对音频数据本身应用数据增强所得到的扩充得到音频1、音频2、音频3等音频,音频1、音频2、音频3等音频出自同一个人。而该mini-batch size中除它本身的所有其他音频数据和应用数据增强得到的数据混合后一起作为该原样本的负样本,如:除它本身的所有其他音频数据和应用数据增强得到的数据混合后一起得到音频1、音频2、音频3等音频,音频1、音频2、音频3等音频不是出自同一个人。音频1和音频2、音频3等毫无关系。正样本和负样本一同作为构建数据字典的正负样本对。
如图2所示,训练MOCO主干网络的框架示意图,MOCO(Momentum Contrast)模型是一种自监督学习方法,用于训练神经网络以学习有用的特征表示,,MOCO模型的训练不需要人工标注的标签,相反,它从未标记的数据中学习,使得它在大规模数据集上表现出色,这对于避免标注数据的时间和成本是非常有价值的。MOCO模型通过对比学习(ContrastiveLearning)来训练模型,它通过最大化正样本对之间的相似性度量,同时最小化负样本对之间的相似性度量来鼓励模型学习有用的特征表示,这有助于模型将相似的样本映射到相似的特征空间中。
S32、从动态数据字典的训练声纹样本中进行随机抽取多个音频,对一个音频采用MFCC方法提取音频信号的特征向量,通过ResNet-18网络的encoder编码器进行前向传播,生成query向量;对其他音频通过使用MFCC方法提取它们音频信号的特征向量,通过resnet-18网络的momentum-encoder动量编码器前向传播,输出key向量集,将key向量集进入队列。
如图2所示,从动态数据字典的训练声纹样本中进行随机抽取,抽取出音频1、音频2、音频3、音频4等等,其中音频1先经过MFCC方法提取出特征向量,然后通过ResNet-18网络的encoder编码器进行前向传播,生成query向量;其中音频2、音频3、音频4等等通过使用MFCC方法提取它们音频信号的特征向量,通过resnet-18网络的momentum-encoder动量编码器前向传播,输出key向量集,将key向量集进入队列。
音频先经过MFCC函数提取音频信号的特征向量,音频信号的特征向量先经过一个CNN卷积层来调整以得到与ResNet-18输入相匹配的维度,然后进行前向传播,这个前向传播将依次通过一系列卷积层、池化层和全连接层,最终生成一个输出向量。
MFCC(Mel-Frequency Cepstral Coefficients)是一种用于音频信号特征提取的方法,常用于语音识别和音频处理任务。通过MFCC方法步应用离散余弦变换(DCT),以将音频信号信号从频域转换为倒谱系数,只保留倒谱系数的前几个(通常是13个)作为MFCC特征,倒谱系数用于表示音频信号的特征。
ResNet-18(Residual Network-18)是一种深度卷积神经网络,用于图像分类和计算机视觉任务。它是ResNet系列模型中的一员,具有相对较浅的深度,但仍然能够取得出色的性能。ResNet-18由多个基本块组成,每个基本块都包含若干卷积层和一个恒等映射(identity shortcut)。整个ResNet-18网络的结构包括:输入层,用于接受输入图像,通常为224x224像素的彩色图像;卷积层和池化层,ResNet-18开始以一个7x7的卷积层,然后经过最大池化层来减小分辨率。这些层有助于提取图像的低级特征;基本块,ResNet-18由四个基本块组成,每个基本块内又包含多个卷积层。每个基本块的结构包括:卷积层1,3x3的卷积层,用于提取特征;卷积层2,3x3的卷积层,用于进一步特征提取;恒等映射(IdentityShortcut),为了确保信息流能够顺畅地传递,每个基本块都有一个跳过连接,将输入添加到卷积层的输出上;全局平均池化:在网络的顶部,对最后一个基本块的输出进行全局平均池化,将特征图的尺寸减小到1x1;全连接层,最后通过一个全连接层将特征向量映射到类别概率分布。通常,ResNet-18的全连接层会输出与任务中的类别数相等的概率分布。
S33、使用InfoNCE损失函数进行特征学习,更新encoder参数和momentum encoder参数,得到训练好的MOCO模型主干网络。
使用InfoNCE损失函数进行特征学习,更新encoder和momentum encoder参数。InfoNCE损失函数如下:
infoNCE(q,k)=-log(exp(q·k/τ)/Σexp(q·ki/τ))
其中,q是查询向量,k是正样本集合,通常包括了与查询向量相关的样本,τ是温度参数,通常用于调整相似性的尺度,exp(x)表示x的指数函数,Σ表示求和操作,对正样本集合k中的所有正样本ki执行该操作,q·k表示q和k之间的点积或内积。
从动态数据字典中获取正样本生成的key向量,并且随机抽取一定数量(一般为4096)负样本生成的key向量,两者一起和某一个对应的query向量做query-key查询并输入到损失函数之中计算损失,然后进行反向传播,直接更新参数encoder,进行动量式更新参数momentum encoder:
θ'=m*θ'+(1-m)*θ
其中,θ'表示目标编码器的参数,θ表示当前编码器的参数,m是动量参数,通常是一个小于1的值,用于指定更新的速度。
为保证动态数据字典中一致性,m值设置的要和1非常接近,0.999的训练效果较好。之后便是重复该过程,直到在测试集上的准确率不再提高为止,得到训练好的MOCO模型主干网络,之后分别输入两组训练集音频进行最优化特征表示,即可进行接下来的步骤。
S34、使用测试声纹样本检验训练好的MOCO模型主干网络的训练效果,会把测试声纹样本输入到模型中,根据模型输出的结果与样本标签进行对比,以算出模型的准确率。
S4、随机抽取两个游任务音频输入训练好的MOCO模型主干网络,分别输出两个音频的特征向量;将文本数据映射到高维空间得到词向量,将词向量与音频向量相乘得到两个音频的合成向量。
通过语音嵌入以及引入文本嵌入,加强非同一说话者的音频向量之间的差距或减小同一说话者的音频向量之间的差距,实现多模态学习。利用Word2Vec等方法将文本数据映射到高维空间,得到词向量,保留语义联系。对两段音频数据先进行MFCC提取特征,经过主干网络处理得到特征向量。将词向量与音频向量相乘,创建新的向量表示,扩大或减小高维空间中的差距。
如图2所示,本实例中对文本数据集使用Word2Ve文本编码器嵌入得到相应的词向量T1、T2、T3、……、Tn等,文本数据集为步骤2中训练声纹样本相关的文本数据集,a typeof voice(type:high、low、man、woman.etc),这些文本被映射到高维空间,依然保留了文本之间的语义联系。将两个音频wav文件先进行MFCC提取特征,然后再经过主干网络处理得到两段音频的特征向量,音频1的特征向量为v1、v2、v3……、vn等,音频2的特征向量为v1`、v2`、v3`……、vn`等。将得到的词向量和这两段音频的特征向量相乘进行相乘(即T向量和v向量对应下标的部分进行相乘),得到两个新的向量:合成向量1和合成向量2,通过多模态的加入更好地扩大非同一个人的两段音频向量在高维空间的差距,或减小同一个人的两段音频向量在高维空间的差距。
S5、将两个音频的合成向量分别输入MLP网络进行高级特征提取,判断两个音频的合成向量相似性。
将两段音频数据经过预处理和主干网络特征提取,以将其转化为向量形式,这些向量可以捕捉音频的重要信息,如声音频率、时域特征等。进一步地,将这两个音频的合成向量分别输入MLP(Multilayer Perception)网络,MLP网络是深度学习中最基础的一个神经网络模型,MLP由多个线性层和激活函数(通常是ReLU)组成,通过MLP网络的Linear线性层进行高级特征提取,这些线性层将输入向量映射到高维空间,并通过激活函数引入非线性,有助于提取更高级别的特征和表示,以更好地捕捉语音的复杂性。
使用余弦相似性函数度量两个合成向量之间的相似性,与预设阈值比较,根据余弦相似性判断两段音频是否属于同一人。
Cosine Similarity=dot(A,B)/(||A||*||B||)
其中,C为余弦相似性,A为一个音的E合成向量,B为另一个音频的合成向量。
这将产生一个介于-1和1之间的值,表示两个向量之间的相似度,值越接近1,表示相似度越高,值越接近-1,表示相似度越低,即为衡量两段音频是否来自同一个人的可能性。进一步地,使用余弦相似性函数来度量这两个向量之间的相似性,与预先设定的阈值进行比较。如果余弦相似性大于等于阈值,则我们可以判断这两段音频出自同一人;否则,它们被认为不是同一个人。
S6、获取有标签声纹样本数据,通过有标签声纹样本数据对MLP网络的参数进行微调,得到微调后的MLP网络,微调后的MLP网络和训练好的MOCO主干网络作为声纹识别模型。
具体地,将同步声音-文本对应数据集的声纹样本与说话者的声纹标签关联,得到有标签声纹样本数据。通过声音数据的来源或文本表示来确定训练声纹样本的声纹标签,将每个声纹样本的声音表示、文本表示都与说话者的声纹标签关联,这些标签可用于在训练过程中引导模型学习声音与声纹身份之间的联系。声纹标签通常包括说话者的身份信息,确保了识别的精确性。有标签声纹样本数据可以为人工标注,标注好具体音频对应的人物,以及具体音频对应的文本数据,如男人、女人、高昂、低沉等标签。例如,输入的两段音频已经标注好了是否出自同一个人,如果是同一个人标签值是1,如果不是同一个人标签就是0.
有标签声纹样本数据可以用于微调得到的MoCo特征表示模型以及下游细分的声纹识别模型参数,使整个模型能够学习将声音表示与特定说话者身份相匹配的能力。通过有标签声纹样本数据进行微调多层感知机MLP以训练好MLP网络参数,得到训练效果最好的MLP网络参数和之前已得到的MOCO主干网络作为最终模型。使用少量带标签的音频数据调整MLP网络参数,提高声纹识别性能。
MOCO主干网络的功能是用来提取声音的特征,MLP网络的功能是进行分类判别,声音经过MOCO主干网络提取了声音特征之后,把得到的特征即图2中音频特征向量和对应的文本向量作乘法,得到了最终的合成向量,合成向量再经过MLP网络进行分类判别,从而完成了声纹识别任务。
把说话人识别作为一个下游任务来完成,通过将一段音频进行切割并输入模型中,并且把主干网络冻住,只训练MLP网络,得到一个专属该下游任务的MLP网络,并且得到训练效果最好的MLP网络参数和之前已得到的MOCO主干网络作为声纹识别模型。
S7、将两段音频输入到声纹识别模型中判断两段音频是否来自同一个人,输出声纹识别结果。
声纹识别模型包括MOCO主干网络,声音向量和文本向量相乘和MLP网络。模型处理好之后,只需将两段音频输入到声纹识别模型中,音频先经过MOCO主干网络提取特征,然后把得到的文本向量做乘法,最终把合成向量输入到MLP网络处理之后,将会得到判断结果,用0、1表示声纹识别结果,1表示为两段音频来自同一个人,0则表示两段音频不是来自同一个人。
具体,将两段音频文件都转成wav文件格式,然后通过MOCO网络进行特征提取,文本编码器则根据预设的文本数据进行编码,和MOCO网络提取出来的音频特征向量结合,结合向量结果MLP网络输出相似程度与设定阈值相比,判断两段音频是否来自同一个人。由于模型的训练数据主要是无标签数据,并且数据量非常大,模型训练充分且未达过拟合的效果,所以进行识别的时候可以在复杂的环境下准确提取音频的特征,从而完成准确的判断。还可以通过对一段音频进行切割,然后通过一个简单的循环,把切割出来的音频两两输入到声纹识别模型中,然后在循环中判断哪些片段是来自同一个人的,从而完成了识别出一段音频中有几个人在说话,并且每个人说了哪些话,作为声纹识别的一个下游任务,优点是准确且可以在复杂的环境中(如背景声音嘈杂:风声、雨声、旁人的嘈杂声等)提取主要说话人的声音特征以及完成声纹识别。
实施例2:
本实施例提供了一种计算机设备,该计算机设备可以是服务器、计算机等,其包括通过系统总线连接的处理器、存储器、输入装置、显示器和网络接口,该处理器用于提供计算和控制能力,该存储器包括非易失性存储介质和内存储器,该非易失性存储介质存储有操作系统、计算机程序和数据库,该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境,处理器执行存储器存储的计算机程序时,实现上述实施例1的一种基于动量对比学习的声纹识别方法,包括:
S1、获取训练声纹样本和测试声纹样本;
S2、收集与训练声纹样本、测试声纹样本相关的文本数据,构建同步声音-文本对应数据集,根据同步声音-文本对应数据集采用数据增强方法生成多样的训练声纹样本;
S3、使用训练声纹样本训练MOCO模型主干网络得到训练好的MOCO模型主干网络,使用测试声纹样本检验MOCO模型主干网络的训练效果;
S4、随机抽取两个游任务音频输入训练好的MOCO模型主干网络,分别输出两个音频的特征向量;将文本数据映射到高维空间得到词向量,将词向量与音频向量相乘得到两个音频的合成向量;
S5、将两个音频的合成向量分别输入MLP网络进行高级特征提取,经过MLP网络来判断两个音频的合成向量相似性;
S6、获取有标签声纹样本数据,通过有标签声纹样本数据对MLP网络的参数进行微调,得到微调后的MLP网络,微调后的MLP网络和训练好的MOCO主干网络作为声纹识别模型;
S7、将两个音频输入到声纹识别模型中判断两个音频是否来自同一个人,输出声纹识别结果。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种基于动量对比学习的声纹识别方法,其特征在于,包括以下步骤
S1、获取训练声纹样本和测试声纹样本;
S2、收集与训练声纹样本、测试声纹样本相关的文本数据,构建同步声音-文本对应数据集,根据同步声音-文本对应数据集采用数据增强方法生成多样的训练声纹样本;
S3、使用训练声纹样本训练MOCO模型主干网络得到训练好的MOCO模型主干网络,使用测试声纹样本检验MOCO模型主干网络的训练效果;
S4、随机抽取两个游任务音频输入训练好的MOCO模型主干网络,分别输出两个音频的特征向量;将文本数据映射到高维空间得到词向量,将词向量与音频向量相乘得到两个音频的合成向量;
S5、将两个音频的合成向量分别输入MLP网络进行高级特征提取,经过MLP网络来判断两个音频的合成向量相似性;
S6、获取有标签声纹样本数据,通过有标签声纹样本数据对MLP网络的参数进行微调,得到微调后的MLP网络,微调后的MLP网络和训练好的MOCO主干网络作为声纹识别模型;
S7、将两个音频输入到声纹识别模型中判断两个音频是否来自同一个人,输出声纹识别结果。
2.根据权利要求1所述的一种基于动量对比学习的声纹识别方法,其特征在于,所述获取训练声纹样本和测试声纹样本,包括:
从深度学习社区中获取多个语音数据集;
对语音数据集进行预处理,将预处理好的数据集按照预定比例划分得到训练声纹样本和测试声纹样本。
3.根据权利要求2所述的一种基于动量对比学习的声纹识别方法,其特征在于,所述对语音数据集进行预处理,包括
对语音数据进行降噪处理,采用傅里叶变换去除部分类型的噪音,通过DenoisingAutoencoders自编码器来对语音数据进行降噪;
对语音数据的采样率、位深度和格式进行统一格式;
对语音数据进行语音分段。
4.根据权利要求1所述的一种基于动量对比学习的声纹识别方法,其特征在于,所述收集与训练声纹样本、测试声纹样本相关的文本数据,构建同步声音-文本对应数据集,包括:
收集与训练声纹样本、测试声纹样本相关的文本数据,对文本数据进行清洗和标准化处理得到训练声纹样本、测试声纹样本的文本表示,将同一说话者的训练声纹样本的声音表示和文本表示进行匹配,得到同步声音-文本对应数据集。
5.根据权利要求1所述的一种基于动量对比学习的声纹识别方法,其特征在于,所述使用训练声纹样本训练MOCO模型主干网络,得到训练好的MOCO模型主干网络,包括:
使用训练声纹样本训练MOCO模型主干网络,选择合适的mini-batch size和代理任务,以任意一个训练声纹样本作为音频数据原样本生成训练声纹样本的正负样本对,基于训练声纹样本的正负样本对构建动态数据字典;
从动态数据字典的训练声纹样本中进行随机抽取多个音频,对一个音频采用MFCC方法提取音频信号的特征向量,通过ResNet-18网络的encoder编码器进行前向传播,生成query向量;对其他音频通过使用MFCC方法提取它们音频信号的特征向量,通过resnet-18网络的momentum-encoder动量编码器前向传播,输出key向量集,将key向量集进入队列;
使用InfoNCE损失函数进行特征学习,更新encoder参数和momentum encoder参数,得到训练好的MOCO模型主干网络。
6.根据权利要求5所述的一种基于动量对比学习的声纹识别方法,其特征在于,所述InfoNCE损失函数如下:
infoNCE(q,k)=-log(exp(q·k/τ)/Σexp(q·ki/τ))
其中,q是查询向量,k是正样本集合,τ是温度参数,用于调整相似性的尺度,exp(x)表示x的指数函数,Σ表示求和操作,对正样本集合k中的所有正样本ki执行该操作,q·k表示q和k之间的点积或内积。
7.根据权利要求6所述的一种基于动量对比学习的声纹识别方法,其特征在于,所述使用InfoNCE损失函数进行特征学习,更新encoder参数和momentum encoder参数,包括:
从动态数据字典中获取正样本生成的key向量,并且随机抽取若干数量负样本生成的key向量,正样本生成的key向量、负样本生成的key向量和一个对应的query向量做query-key查询并输入到损失函数之中计算损失,然后进行反向传播,直接更新参数encoder,进行动量式更新参数momentum encoder。
8.根据权利要求1所述的一种基于动量对比学习的声纹识别方法,其特征在于,所述将两个音频的合成向量分别输入MLP网络,进行高级特征提取,判断两个音频的合成向量相似性,包括:
将这两个音频的合成向量分别输入MLP网络,通过MLP网络的Linear线性层对音频的合成向量进行高级特征提取,使用余弦相似性函数来计算这两个合成向量之间的余弦相似性,将余弦相似性与预先设定的阈值进行比较;如果余弦相似性大于等于阈值,判断这两段音频出自同一人;否则,判断这两段音频不出自同一个人。
9.根据权利要求8所述的一种基于动量对比学习的声纹识别方法,其特征在于,所述余弦相似性函数为:
C=dot(A,B)/(||A||*||B||)
其中,C表示余弦相似性,其中,C为余弦相似性,A为一个音频的E合成向量,B为另一个音频的合成向量。
10.一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1-9任一项所述的一种基于动量对比学习的声纹识别方法。
CN202311463284.3A 2023-11-06 2023-11-06 一种基于动量对比学习的声纹识别方法和设备 Pending CN117457005A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311463284.3A CN117457005A (zh) 2023-11-06 2023-11-06 一种基于动量对比学习的声纹识别方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311463284.3A CN117457005A (zh) 2023-11-06 2023-11-06 一种基于动量对比学习的声纹识别方法和设备

Publications (1)

Publication Number Publication Date
CN117457005A true CN117457005A (zh) 2024-01-26

Family

ID=89596358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311463284.3A Pending CN117457005A (zh) 2023-11-06 2023-11-06 一种基于动量对比学习的声纹识别方法和设备

Country Status (1)

Country Link
CN (1) CN117457005A (zh)

Similar Documents

Publication Publication Date Title
CN107731233B (zh) 一种基于rnn的声纹识别方法
CN108305616A (zh) 一种基于长短时特征提取的音频场景识别方法及装置
Ohi et al. Deep speaker recognition: Process, progress, and challenges
CN111243602A (zh) 基于性别、国籍和情感信息的声纹识别方法
CN111724770B (zh) 一种基于深度卷积生成对抗网络的音频关键词识别方法
CN114023300A (zh) 一种基于扩散概率模型的中文语音合成方法
Todkar et al. Speaker recognition techniques: A review
CN116665669A (zh) 一种基于人工智能的语音交互方法及系统
CN110136726A (zh) 一种语音性别的估计方法、装置、系统及存储介质
CN112735435A (zh) 具备未知类别内部划分能力的声纹开集识别方法
CN111932056A (zh) 客服质量评分方法、装置、计算机设备和存储介质
Biagetti et al. Speaker identification in noisy conditions using short sequences of speech frames
CN111666996A (zh) 一种基于attention机制的高精度设备源识别方法
Birla A robust unsupervised pattern discovery and clustering of speech signals
CN112992155B (zh) 一种基于残差神经网络的远场语音说话人识别方法及装置
Babu Rao et al. Automatic Speech Recognition Design Modeling
Prakash et al. Analysis of emotion recognition system through speech signal using KNN & GMM classifier
Balpande et al. Speaker recognition based on mel-frequency cepstral coefficients and vector quantization
CN114898757A (zh) 声纹确认模型训练方法、装置、电子设备和存储介质
GS et al. Synthetic speech classification using bidirectional LSTM Networks
CN117457005A (zh) 一种基于动量对比学习的声纹识别方法和设备
Bhavani et al. A survey on various speech emotion recognition techniques
CN114512133A (zh) 发声对象识别方法、装置、服务器及存储介质
CN112967712A (zh) 一种基于自回归模型系数的合成语音检测方法
Fennir et al. Acoustic scene classification for speaker diarization

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