音频的特征向量生成方法及音频片段表示模型的训练方法与流程

文档序号:21594410发布日期:2020-07-24 16:43阅读:858来源:国知局
音频的特征向量生成方法及音频片段表示模型的训练方法与流程

本申请涉及人工智能技术领域,特别涉及一种音频的特征向量生成方法及音频片段表示模型的训练方法。



背景技术:

音乐推荐是音频播放应用程序中的常用功能,能够根据用户的喜好向用户推荐音乐。为了实现音乐推荐,需要进行音频表示。

音频表示指的是将一段属于音频信号的音频映射到一个特征向量上,以便于后续对特征向量进行操作处理,以实现音乐推荐。相关技术中,提出了针对语音表示的wav2vec模型。该模型用来对语音信号的每一帧做表示,生成语音的特征向量,服务于语音识别的语音转文字阶段。

由于音乐的音频信号跟语音信号存在很大的不同,如:音频信号的频率更宽,相关技术中提出的wav2vec模型不适用于对音乐的音频信号进行处理从而生成音频的特征向量。



技术实现要素:

本申请实施例提供了一种音频的特征向量生成方法及音频片段表示模型的训练方法,能够生成音频的特征向量,适用于对音乐的音频信号进行处理。所述技术方案如下:

根据本申请的一个方面,提供了一种音频的特征向量生成方法,所述方法包括:

将音频按照时域窗口划分为至少两个音频片段;

调用音频片段表示模型对所述至少两个音频片段的特征序列进行特征提取,得到至少两个片段特征向量;所述音频片段表示模型是采用音频样本对训练得到的神经网络模型,所述音频样本对包括音频正样本对和音频负样本对,所述音频正样本对中的两个音频片段之间存在同一音频中的时域前后关系,所述音频负样本对中的两个音频片段之间不存在同一音频中的时域前后关系;

采用所述至少两个片段特征向量,生成所述音频的所述特征向量。

另一方面,提供了一种音频片段表示模型的训练方法,所述方法包括:

获取音频正样本对,所述音频正样本对包括第一音频片段样本和第二音频片段样本;

获取音频负样本对,所述音频负样本对包括所述第一音频片段样本和第三音频片段样本;

采用所述音频正样本对和音频负样本对,对所述音频片段表示模型进行训练,得到训练后的音频片段表示模型;

其中,所述第一音频片段样本和所述第二音频片段样本之间存在同一音频中的时域前后关系,所述第一音频片段样本和所述第三音频片段样本之间不存在同一音频中的时域前后关系。

另一方面,提供了一种音频的特征向量生成装置,所述装置包括:划分模块、特征提取模块和特征向量生成模块;

所述划分模块,被配置为将音频按照时域窗口划分为至少两个音频片段;

所述特征提取模块,被配置为调用音频片段表示模型对所述至少两个音频片段的特征序列进行特征提取,得到至少两个片段特征向量;所述音频片段表示模型是采用音频样本对训练得到的神经网络模型,所述音频样本对包括音频正样本对和音频负样本对,所述音频正样本对中的两个音频片段之间存在同一音频中的时域前后关系,所述音频负样本对中的两个音频片段之间不存在同一音频中的时域前后关系;

所述特征向量生成模块,被配置为采用所述至少两个片段特征向量,生成所述音频的所述特征向量。

另一方面,提供了一种音频片段表示模型的训练装置,所述装置包括:获取模块和训练模块;

所述获取模块,被配置为获取音频正样本对,所述音频正样本对包括第一音频片段样本和第二音频片段样本;

所述获取模块,被配置为获取音频负样本对,所述音频负样本对包括所述第一音频片段样本和第三音频片段样本;

所述训练模块,被配置为采用所述音频正样本对和音频负样本对,对所述音频片段表示模型进行训练,得到训练后的音频片段表示模型;

其中,所述第一音频片段样本和所述第二音频片段样本之间存在同一音频中的时域前后关系,所述第一音频片段样本和所述第三音频片段样本之间不存在同一音频中的时域前后关系。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的音频的特征向量生成方法,或,音频片段表示模型的训练方法。

另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的音频的特征向量生成方法,或,音频片段表示模型的训练方法。

另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中提供的音频的特征向量生成方法,或,音频片段表示模型的训练方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

在进行音频的特征向量的生成时,调用的音频片段表示模型是通过音频正样本对和音频负样本对训练得到的,使得该模型能够更好地建模音频的前后关系,提升特征向量的表达能力。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个示例性实施例提供的时频图;

图2是本申请一个示例性实施例提供的音频表示系统的示意图;

图3是本申请一个示例性实施例提供的音频片段表示模型的示意图;

图4是本申请一个示例性实施例提供的音频片段表示模型的训练方法的流程图;

图5是本申请一个示例性实施例提供的音频片段表示模型的训练方法的流程图;

图6是本申请一个示例性实施例提供的运用卷积核得到卷积输出的示意图;

图7是本申请一个示例性实施例提供的音频片段表示模型的示意图;

图8是本申请一个示例性实施例提供的音频的特征向量生成方法的流程图;

图9是本申请一个示例性实施例提供的音频的特征向量生成方法的流程图;

图10示出了本申请一个示例性实施例提供的在音频推荐场景下的场景示意图;

图11示出了本申请一个示例性实施例提供的在音频打分场景下的场景示意图;

图12是本申请一个示例性实施例提供的音频的特征向量生成装置的示意图;

图13是本申请一个示例性实施例提供的音频片段表示模型的训练装置的示意图;

图14是本申请一个示例性实施例提供的计算机设备的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

首先,对本申请实施例中涉及的名词进行简单介绍:

云技术(cloudtechnology):是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。

人工智能(artificialintelligence,ai):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

样本:指用于模型训练和测试的对象。本申请实施例中的样本指用于训练音频表示模型的音频片段样本,且该音频片段样本采用音频片段样本对的形式,即音频片段样本中包含两段音频片段样本。

可选的,当音频片段样本对是音频正样本对时,表明音频片段样本对中的两段音频片段样本在同一音频中存在时域前后关系,如:两段音频片段样本分别是一首歌曲的第一小节和第二小节;当音频片段样本对是音频负样本对时,表明音频片段样本对中的两段音频片段样本不存在时域前后关系,如:两段音频片段样本分别属于歌曲a和歌曲b。

卷积神经网络(convolutionalneuralnetworks,cnn):一类包含卷积计算且具有深度结构的前馈神经网络(feedforwardneuralnetworks),是深度学习(deeplearning)的代表算法之一。卷积神经网络具有表征学习(representationlearning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariantclassification),因此也被称为“平移不变人工神经网络(shift-invariantartificialneuralnetworks,siann)。

音频片段的时频图:是指通过图像的形式表示音频片段中的音频信号的时间序列和频率序列之间的关系。本实施例中以音频信号的特性处理进行示例描述,该处理原理还可以应用在其它具有与音频信号具有相似特性的媒体数据的处理中。其中,音频信号有时域和频域这两种维度的表达。也即,音频信号既可以表达为一个时间序列,也可以表达为一个频率序列。

如图1所示,是一个真实的音频片段分解之后的时频图,横轴是时间,时间段大概是1.75s左右,也就是每隔1.75s切一个音频片段;每个音频片段对应的频率是竖轴,频率上下限110hz~3520hz,灰度的深浅代表不同频率对应的值的大小。

在本申请实施例中,音频片段的时频图又称为音频片段的特征序列。

三元组损失(tripletloss):是深度学习中的一种损失函数,用于训练差异性较小的样本。

从训练数据集中随机选一个样本,该样本称为anchor,然后再随机选取一个和anchor(记为x_a)属于同一类的样本和不同类的样本,这两个样本对应的称为positive(记为x_p)和negative(记为x_n),由此构成一个(anchor,positive,negative)三元组。针对三元组中的每个样本,训练一个参数共享或者不共享的网络,得到三个样本的特征表达。三元组损失的目的就是通过学习,让x_a和x_p特征表达之间的距离尽可能小,而x_a和x_n的特征表达之间的距离尽可能大。

在本申请实施例中,(第一音频片段样本,第二音频片段样本,第三音频片段样本)构成一个三元组。相应地,三元组损失的目的就是通过学习,让属于音频正样本对的第一音频片段样本和第二音频片段样本的特征表达之间的距离尽可能小,而属于音频负样本对的第一音频片段样本和第三音频片段样本的特征表达之间的距离尽可能大。

图2示出了本申请一个示例性实施例提供的音频表示系统的框图。该音频表示系统包括:终端120、网络140和服务器160。

终端120可以是手机、平板电脑、台式电脑、笔记本电脑等设备。终端120是存在音频表示需求的终端,如:安装有音乐播放应用程序,该音乐播放应用程序需要基于音频的特征向量进行音乐推荐。终端120用于提供音频表示所需的样本。可选地,样本包括第一音频片段样本、第二音频片段样本和第三音频片段样本。其中,第一音频片段样本和第二音频片段样本之间存在同一音频中的时域前后关系,构成音频正样本对,第一音频片段样本和第三音频片段样本之间不存在同一音频中的时域前后关系。

终端120可以通过网络140与服务器160相连。网络140可以是有线网络或无线网络,且网络140可以是局域网、城域网以及广域网中的至少一种。终端120可以将样本数据传输给服务器160,由服务器160完成音频表示,得到音频的特征向量后,将特征向量回传给终端120,或,服务器160对特征向量进行后续处理。

服务器160是用于进行音频表示的后台服务器。服务器160可以实现为一台服务器,也可以实现为一组服务器构成的服务器集群,其可以是物理服务器,也可以实现为云服务器。服务器160中设置有用于音频表示的音频片段表示模型。该音频片段表示模型能够得到音频的特征向量。

相关技术中提出的wav2vec模型,它的模型结构只针对语音识别的场景,而音乐的音频信号跟语音信号有很多不同的地方,比如:

1、音乐的音频信号的频率更宽泛,语音信号的人声频率很窄。

2、音乐的音频信号包含了旋律音高的变化趋势,前后连贯性强。由于正常人说话音调都是平稳的,语音信号并没有太多音高的变化。

基于上述区别,本申请提供了一种针对音乐的音频表示方法,搭建的音频片段表示模型通过对音频前后关系的学习,来丰富音频的表示。音频片段表示模型的核心思想是建模音频片段的前后关系,音频片段可以表示为gi。其中,gi为第一音频片段样本,gi-1为第二音频片段样本,gx为第三音频片段样本。在同一音频中存在时域前后关系的两个音频片段gi和gi-1作为音频正样本对,可以记为gi+。从其他地方(比如其他歌曲里)随机抽一个gx,将不存在时域前后关系的gi和gx作为音频负样本对,可以记为gi-。

音频片段表示模型应用于训练和应用两个阶段。下面,先对训练阶段进行说明。

图3示出了本申请一个示例性实施例提供的音频片段表示模型的示意图,对该音频片段表示模型进行训练,该模型300包括:共享输入层310、级联的共享卷积神经网络层320和匹配层330。

如图3所示,音频片段包括g1、g2和gx,通过共享输入层310,输入g1或g2或gx。其中,g1为第一音频片段样本,g2为第二音频片段样本,gx为第三音频片段样本。存在前后关系的两个音频片段g1和g2作为音频正样本对,不存在前后关系的两个音频片段g1和gx作为音频负样本对。

g1、g2、gx通过共享卷积神经网络层320得到各自的最终输出。共享卷积神经网络层120可以包括多层卷积神经网络层,如图3所示,包括:cnn1和cnn2。cnn1的卷积核尺寸较小,步长较小;cnn2的卷积核尺寸较大,步长较大。从而cnn2输出的卷积特征向量的维度较小,音频表示的粒度较粗。示例性的,g2本身的维度是256,经过cnn1后维度是128,再经过cnn2后维度是64。需要说明的是,g1、g2、gx所经过的是同一个cnn1和同一个cnn2。

g1、g2、gx通过共享卷积神经网络层320后,通过匹配层330对它们各自的输出彼此进行匹配(matching)处理。具体的:对g1和g2的输出进行匹配处理和对g1和gx的输出进行匹配处理。上述匹配处理可以是把它们拼接起来,也可以是相加或相乘等线性处理,也可以是线性处理后再进行非线性变化f(g1,g2),其中,f是非线性函数。

通过匹配层330后,得到两个交互向量:第一交互向量和第二交互向量。第一交互向量表示了g1和g2之间的交互,第二交互向量表示了g1和gx之间的交互。第一交互向量可以记为g1_2,第二交互向量可以记为g1_x。通过如下所示的三元组损失(tripletloss),让音频片段表示模型300学出g1_2是前后关系,g1_x不是前后关系:

j=max(0,δ+g1_2-g1_x)

其中,δ是一个很小的正数,可以设为1。通过最大化,使得g1_2比g1_x至少大δ,这样就说明g1_2的分值比g1_x更高,即:g1和g2之间的“前后关系”属性比g1和gx之间更强。

图4示出了本申请一个示例性实施例提供的音频片段表示模型的训练方法的示意图,该方法可以应用于如图2所示的服务器160中,该方法包括:

步骤410,获取音频正样本对,音频正样本对包括第一音频片段样本和第二音频片段样本。

其中,第一音频片段样本和第二音频片段样本是用于模型训练的对象。

第一音频片段样本和第二音频片段样本之间存在同一音频中的时域前后关系。其中,音频是全音频,即完整的音频,如一首完整的流行歌曲,或一首完整的钢琴曲,本申请实施例以音频为完整的歌曲进行说明。

第一音频片段样本和第二音频片段样本之间的时域前后关系指的是:第一音频片段样本的结尾部分与第二音频片段样本的开头部分在时域上相连,或者,第一音频片段样本的开头部分与第二音频片段样本的结尾部分在时域上相连。如:第一音频片段样本和第二音频片段样本分别是同一首歌曲里的第一小节和第二小节。

步骤420,获取音频负样本对,音频负样本对包括第一音频片段样本和第三音频片段样本。

其中,第一音频片段样本和第三音频片段样本是用于模型训练的对象。

第一音频片段样本和第三音频片段样本之间不存在同一音频中的时域前后关系。具体的:第一音频片段的首尾部分与第三音频片段的首尾部分不相连。如:第一音频片段样本和第三音频片段样本分别是同一首歌曲里的第一小节和最后一小节;第一音频片段样本和第三音频片段样本分别属于歌曲a和歌曲b。

需要说明的是,本申请对步骤410和步骤420的实施顺序不进行限定。

步骤430,采用音频正样本对和音频负样本对,对音频片段表示模型进行训练,得到训练后的音频片段表示模型。

服务器通过输入的第一音频片段样本、第二音频片段样本和第三音频片段样本,对音频片段表示模型进行训练。由于第一音频片段样本和第二音频片段样本构成音频正样本对,第一音频片段样本和第三音频片段样本成音频负样本对,训练得到的音频片段表示模型能够结合音频的前后关系(或称上下文关系),生成音频的特征向量。

综上所述,本实施例提供的方法,在进行音频片段表示模型的模型训练时,通过获取第一音频片段样本、第二音频片段样本和第三音频片段样本,采用音频正样本对和音频负样本对对音频片段表示模型进行训练从而得到训练后的实体抽取模型,引入了音频的前后关系,提升了音频片段表示模型的训练效果。

在基于图4的可选实施例中,图5示出了本申请一个示例性实施例提供的音频片段表示模型的训练方法的示意图,该方法可以应用于如图2所示的服务器160中。在本实施例中,步骤430替代实现为如下步骤:

步骤431,调用级联的n层卷积神经网络层对第i音频片段样本的特征序列进行特征提取,得到第i个音频片段样本对应的第i片段样本特征向量。

其中,i为不大于3的整数。可选地,服务器通过多次调用级联的n层卷积神经网络层,对第一音频片段样本、第二音频片段样本和第三音频片段样本分别进行特征提取,得到第一片段样本特征向量、第二片段样本特征向量和第三片段样本特征向量。

可选地,第i音频片段样本以特征序列的形式输入至级联的n层卷积神经网络层中。由于音频信号有时域和频域这两种维度的表达,特征序列可以表示第i音频片段样本所对应的音频信号的时间序列和频率序列之间的关系。

在本申请实施例中,音频片段表示模型包括:级联的n层卷积神经网络层,n为大于1的整数。具体的:第a+1层卷积神经网络层的输入与第a层卷积神经网络层的输出相连,a为小于n的整数。

级联的n层卷积神经网络层包括:第一卷积神经网络层至第n卷积神经网络层。在一种实现方式中,第i层卷积神经网络层的卷积核尺寸大于第i-1层卷积神经网络层的卷积核尺寸。在一种实现方式中,第i层卷积神经网络层的步长大于第i-1层卷积神经网络层的步长。在一种实现方式中,第i层卷积神经网络层的卷积核尺寸大于第i-1层卷积神经网络层的卷积核尺寸,第i层卷积神经网络层的步长大于第i-1层卷积神经网络层的步长;其中,i为不大于n的整数。

其中,卷积核尺寸和步长均为卷积神经网络层的参数,可以用于控制卷积神经网络层输出的片段样本特征向量的尺寸。卷积神经网络层可以包括若干个卷积核,卷积核在工作时,会有规律地扫过音频片段样本对应的特征序列,在感受野内进行矩阵元素乘法求和并叠加偏差量。

卷积核尺寸决定了感受野(receptivefield)的大小。步长定义了卷积核相邻两次扫过特征序列时位置的距离,步长为1时,卷积核会逐个扫过特征序列的元素,步长为n时会在下一次扫描时跳过n-1个元素。

结合参考图6,其示出了本申请一个示例性实施例提供的运用卷积核得到卷积输出的示意图。特征序列表现为一个5*5矩阵,对该矩阵进行尺寸为3,步长为1的卷积运算。

卷积核尺寸为3,即卷积核为一个3*3的矩阵。步长为1,即每次以3*3的固定窗口往右滑动一个单位。窗口每滑动一次,卷积输出一个元素,计算完成后得到一个输出矩阵。输出矩阵的尺寸的计算公式为:[(原矩阵尺寸-卷积核尺寸)/步长]+1。代入原矩阵尺寸5,卷积核尺寸3,步长1,计算可得,输出矩阵(即片段样本特征向量)是一个3*3的矩阵。

示意性的,卷积核为[-1,0,-1;-1,0,-1;-1,0,-1],窗口内的数据为[1,0,2;5,4,2;3,4,5],卷积运算的过程为(-1)*1+0*0+1*2+(-1)*5+0*4+1*2+(-1)*3+0*4+1*5=0,本次卷积运算的输出元素为0。随着卷积核的窗口不断的滑动,计算出一个3*3的输出矩阵。

在级联的n层卷积神经网络层中,越上层的卷积神经网络层,卷积核尺寸越大,步长越长,使得输出的卷积特征向量维度越小,音频表示的粒度越粗。

在一种实现方式中,第i片段样本特征向量是第n层卷积神经网络层输出的卷积特征向量。在另一种实现方式中,服务器调用级联的n层卷积神经网络层对第i音频片段样本的特征序列进行特征提取,得到第i个音频片段样本对应的n个卷积特征向量;对n个卷积特征向量进行拼接,得到第i片段样本特征向量。

示例性的,音频片段表示模型包括级联的3层卷积神经网络层,对于第一音频片段样本,通过上述卷积神经网络层,分别得到3个卷积特征向量t'1、t'2和t'3,按照卷积神经网络层的顺序进行拼接,拼接得到第一音频片段样本对应的第一片段样本特征向量{t'1,t'2,t'3}。

步骤432,对第一片段样本特征向量和第二片段样本特征向量进行匹配处理,得到第一交互向量。

其中,第一交互向量表示了第一片段样本特征向量和第二片段样本特征向量之间的交互。

可选地,匹配处理包括:拼接处理、线性处理和非线性处理中的至少一种。如:将第一片段样本特征向量和第二片段样本特征向量相加,得到第一交互向量;将第一片段样本特征向量和第二片段样本特征向量相乘后,再进行非线性变化,得到第一交互向量。

步骤433,对第一片段样本特征向量和第三片段样本特征向量进行匹配处理,得到第二交互向量。

其中,第二交互向量表示了第一片段样本特征向量和第三片段样本特征向量之间的交互。

可选地,匹配处理包括:拼接处理、线性处理和非线性处理中的至少一种。得到第二交互向量所采用的匹配处理与得到第二交互向量所采用的匹配处理可以是相同的匹配处理,也可以是不同的匹配处理。如:均采取拼接处理,得到第一交互向量和第二交互向量。

步骤434,根据第一交互向量和第二交互向量,通过三元组损失确定音频片段表示模型的音频损失。

其中,三元组损失是让音频正样本对靠近,音频负样本对远离的损失函数。

第一音频片段样本,第二音频片段样本和第三音频片段样本构成一个三元组。通过三元组损失,最终的优化目标是拉近音频正样本对的距离,拉远音频负样本对的距离。

步骤435,以音频损失最小为目标,更新级联的n层卷积神经网络层的模型参数。

音频损失越小,音频片段表示模型生成音频的特征向量的鲁棒性就越好。服务器以音频损失最小为目标,迭代更新级联的n层卷积神经网络层的模型参数。

综上所述,本实施例提供的方法,在进行音频片段表示模型的模型训练时,通过获取第一音频片段样本、第二音频片段样本和第三音频片段样本,采用音频正样本对和音频负样本对对音频片段表示模型进行训练从而得到训练后的实体抽取模型,引入了音频的前后关系,提升了音频片段表示模型的训练效果。

本实施例提供的方法,音频片段表示模型包括多个级联的卷积神经网络层,能提取出音频片段的不同粒度的信息,以便于获得更好的音频表示效果。

音频片段表示模型应用于训练和应用两个阶段。下面,对应用阶段进行说明。

图7示出了本申请一个示例性实施例提供的音频片段表示模型的示意图,该音频片段表示模型可以对输入的音频进行音频表示,生成音频的特征向量。该模型包括:级联的卷积神经网络层710。

将一个完整的音频按照时域窗口划分为至少两个音频片段。训练好的级联的卷积神经网络层710用于提取音频片段gi的片段特征向量。级联的卷积神经网络层710可以包括多层卷积神经网络层,卷积神经网络层的层数与训练阶段的模型保持一致。图7仅以卷积神经网络层710包括两层卷积神经网络层作出示例性的说明。

通过级联的卷积神经网络层710,得到每个gi的gi'、gi”这些不同层级的卷积特征向量表示。之后,通过拼接,将上述不同层级的卷积特征向量拼接在一起[gi',gi”...],作为整个gi的表示,记为gi_,gi_是音频片段gi对应的片段特征向量。将多个片段特征向量进行拼接,生成音频的特征向量,从而完成整个音频的表示。

其中,音频的特征向量是由多个片段特征向量gi_拼接而成的gi_序列,里、每个片段特征向量gi_是原来的音频片段gi融合了前后关系以及层级信息之后的新的表示。可以根据下游任务的需要,直接用gi_序列来表示音频,也可以对所有gi_做池化处理之后得到一个向量,用该向量来表示音频。

图8示出了本申请一个示例性实施例提供的音频的特征向量生成方法的流程图,该方法可以应用于如图2所示的服务器160中,该方法包括:

步骤810,将音频按照时域窗口划分为至少两个音频片段。

音频可以包括歌曲、纯音乐、交响曲、钢琴曲或其他演奏乐曲等等,本申请实施例并不对音频的类型进行限定。其中,至少两个音频片段组成整个音频。

服务器在对音频按照时域窗口划分时,可以按照固定时间段进行划分,将所有的音频片段划分为同样的时间长度,也可以不按照固定时间段进行划分,将所有的音频片段划分为不同的时间长度。

示例性的,采用预设采样间隔(比如每隔0.1秒)将音频在时间维度上进行采样,得到离散的时间序列t1~tk,每个t值代表音频在该采样点上的大小。按照固定时间段(比如每个3秒时间段)进行分组,得到多个音频片段g1~gn,每个音频片段gi中包括多个采样点,比如3秒/0.1秒=30个采样点。

如图1所示,横轴是时间,每隔1.75s对该音频进行划分,每个音频片段的时间长度都为1.75s。

步骤820,调用音频片段表示模型对至少两个音频片段的特征序列进行特征提取,得到至少两个片段特征向量。

其中,音频片段表示模型是采用音频样本对训练得到的神经网络模型,音频样本对包括音频正样本对和音频负样本对,音频正样本对中的两个音频片段之间存在同一音频中的时域前后关系,音频负样本对中的两个音频片段之间不存在同一音频中的时域前后关系。

两个音频片段之间存在同一音频中的时域前后关系指的是:第一音频片段样本的结尾部分与第二音频片段样本的开头部分在时域上相连,或者,第一音频片段样本的开头部分与第二音频片段样本的结尾部分在时域上相连。如:第一音频片段样本和第二音频片段样本分别是同一首歌曲里的第一小节和第二小节。

两个音频片段之间不存在同一音频中的时域前后关系指的是:第一音频片段的首尾部分与第三音频片段的首尾部分不相连。如:第一音频片段样本和第三音频片段样本分别是同一首歌曲里的第一小节和最后一小节;第一音频片段样本和第三音频片段样本分别属于歌曲a和歌曲b。

可选地,音频表示模型是采用三元组损失训练得到的,三元组损失是让音频正样本对靠近,音频负样本对远离的损失函数。通过进行三元组损失训练,拉近音频正样本对的距离,拉远音频负样本对的距离。

音频片段以特征序列的形式输入至音频片段表示模型中。由于音频信号有时域和频域这两种维度的表达,特征序列可以表示音频片段所对应的音频信号的时间序列和频率序列之间的关系。具体地,音频的特征序列包括:按照时间顺序排列的n个频域向量。每个频域向量为m维,每个维度代表该音频在一个频率fm上的频率分布,相邻维度之间的频率差相同。其中,n和m均为大于1的整数。

可选地,服务器获取音频片段的特征序列的过程包括:将属于同一音频片段gi中的多个采样点变换成一个频域向量,得到按照时间顺序排列的n个频域向量。也即对上述每个时间序列分组做时域至频域的变换,得到每个音频片段gi所对应的频域序列。其中,时频变换方式包括但不限于快速傅里叶变换(fastfouriertransform,fft)、离散傅里叶变换(discretefouriertransform,dft)、梅尔频率倒谱系数(mel-scalefrequencycepstralcoefficients,mfcc)。每个频域序列代表同一组音频片段gi里面包含的不同频率的分布。对于n个频域序列分别进行采样,得到n个频域向量。按照时间顺序排列的n个频域向量构成一个m*n的二维矩阵,又称音频的频谱图或时频图。该二维矩阵上与n对应的轴代表时域方向,与m对应的轴代表频域方向。m是频率分布上下限与频率采样间隔之间的商。

服务器调用音频片段表示模型对至少两个音频片段的特征序列分别进行特征提取,得到对应的至少两个片段特征向量。

步骤830,采用至少两个片段特征向量,生成音频的特征向量。

服务器在通过音频片段表示模型,得到至少两个音频片段对应的片段特征向量之后,根据至少两个片段特征向量,生成音频的特征向量。由于音频片段表示模型是采用音频样本对训练得到的神经网络模型,使得音频的特征向量引入了音频的前后关系。

综上所述,本实施例提供的方法,在进行音频的特征向量的生成时,调用的音频片段表示模型是通过音频正样本对和音频负样本对训练得到的,使得该模型能够更好地建模音频的前后关系,提升特征向量的表达能力。

同时,本实施例提供的方法,将音频片段的特征序列作为音频片段表示模型的输入,相较于采用按帧输入的输入方式,输入的音频片段的特征序列能够代表音频的一个段落,也能够针对更宽泛的频率进行处理。

在基于图8的可选实施例中,图9示出了本申请一个示例性实施例提供的音频的特征向量生成方法的流程图。在本实施例中,音频包括m个音频片段,音频片段表示模型包括:级联的n层卷积神经网络层,n为大于1的整数。在本实施例中,步骤820替换实现为步骤821至步骤822。该方法包括:

步骤810,将音频按照时域窗口划分为至少两个音频片段。

步骤821,调用级联的n层卷积神经网络层对第i个音频片段的特征序列进行特征提取,得到第i个音频片段对应的n个卷积特征向量。

其中,i为不大于m的整数。服务器通过级联的n层卷积神经网络层,对输入的第i个音频片段的特征序列进行n次特征提取,得到n个卷积特征向量,卷积神经网络层与卷积特征向量一一对应。

级联的n层卷积神经网络层包括:第一卷积神经网络层至第n卷积神经网络层。在一种实现方式中,第i层卷积神经网络层的卷积核尺寸大于第i-1层卷积神经网络层的卷积核尺寸。在一种实现方式中,第i层卷积神经网络层的步长大于第i-1层卷积神经网络层的步长。在一种实现方式中,第i层卷积神经网络层的卷积核尺寸大于第i-1层卷积神经网络层的卷积核尺寸,第i层卷积神经网络层的步长大于第i-1层卷积神经网络层的步长;其中,i为不大于n的整数。

其中,卷积核尺寸和步长均为卷积神经网络层的参数,可以用于控制卷积神经网络层输出的片段样本特征向量的尺寸。在级联的n层卷积神经网络层中,越上层的卷积神经网络层,卷积核尺寸越大,步长越长,使得输出的卷积特征向量维度越小,音频表示的粒度越粗。

步骤822,将第i个音频片段对应的n个卷积特征向量进行拼接,得到第i个音频片段对应的片段特征向量。

在一个可选的实施例中,服务器按照级联的n层卷积神经网络层的顺序,将第i个音频片段对应的n个卷积特征向量进行拼接,得到第i个音频片段对应的片段特征向量。

示例性的,音频片段表示模型包括级联的4层卷积神经网络层,对于第一音频片段样本,通过上述卷积神经网络层,分别得到4个卷积特征向量t'1、t'2、t'3和t'4,按照卷积神经网络层的顺序进行拼接,拼接得到第一音频片段样本对应的第一片段样本特征向量{t'1,t'2,t'3,t'4}。

步骤830,采用至少两个片段特征向量,生成音频的特征向量。

在一种实现方式中,服务器对至少两个片段特征向量进行拼接,生成音频的特征向量。在另一种实现方式中,服务器对至少两个片段特征向量进行拼接,得到拼接后的片段特征向量,对拼接后的片段特征向量进行池化处理,生成音频的特征向量。

池化处理的作用是对拼接后的片段特征向量降维,压缩数据和参数的数量,减小过拟合,同时提高音频片段表示模型的容错性。池化处理可以采用最大池化操作,也可以采用平均池化操作,本申请对池化处理的具体类型不进行限制。

若后续使用音频的特征向量时,对特征向量的维度不进行限制,则服务器直接将拼接后的片段特征向量作为音频的特征向量;若后续使用音频的特征向量时,对特征向量的维度有限制,则服务器在将片段特征向量拼接后,再进行池化处理,将得到的向量作为音频的特征向量。

综上所述,本实施例提供的方法,在进行音频的特征向量的生成时,调用的音频片段表示模型是通过音频正样本对和音频负样本对训练得到的,使得该模型能够更好地建模音频的前后关系,提升特征向量的表达能力。

本实施例提供的方法,音频表示模型包括级联的n层卷积神经网络层,能提取出音频片段的不同粒度的信息,使得生成的音频的特征向量具有更加全面的音频表示效果。

需要补充说明的是,服务器可以采用音频的特征向量进行机器学习任务,机器学习任务包括:机器学习模型的训练任务和机器学习模型的预测任务中的至少一种。

本申请实施例中得到的音频的特征向量,包含的音频信息层级丰富,适合于通用的音频表示,可以应用于其他需要使用到音频的特征向量的场景(比如音频检索、音频推荐等等),本实施例对此不作限定。

在一个示意性的例子中,上述音频的特征向量用于对音频匹配模型的训练和预测。该音频匹配模型是基于机器学习的全音频匹配模型或者音频片段匹配模型。以该音频匹配模型是全音频匹配模型为例,采用本申请实施例提供的音频的特征向量进行训练后,能够用于对两个音频之间的相似度预测。

音频推荐场景:

参考图10所示出的例子,用户使用的终端1020上运行有音频播放应用程序,用户在音频播放应用程序上播放、收藏或点赞了第一音频(a歌),服务器1040可以将第一音频(a歌)的第一音频向量,与多个第二音频(b歌)的第二音频向量进行比较,确定出第一音频和第二音频的相似概率。根据相似概率由高到低的顺序,将与a歌比较相似的b歌、c歌、d歌和e歌作为推荐歌曲发送给终端1020上的音频播放应用程序,使得用户能够听到更多符合自身喜好的歌曲。

唱歌打分场景:

参考图11所示出的例子,用户使用的终端1120上运行有唱歌应用程序,用户在唱歌应用程序上演唱了一首歌曲,服务器1140可以将第一音频(用户演唱的歌曲)的第一音频向量,与第二音频(原唱歌曲或明星歌曲或高分歌曲)的第二音频向量进行比较,确定出第一音频和第二音频的相似概率。根据相似概率给出用户的演唱分数,将演唱分数反馈给唱歌应用程序上进行显示,以利于用户提高自身的歌唱水平。

图12示出了本申请一个示例性实施例提供的音频的特征向量生成装置的示意图。该装置可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。该装置包括:划分模块1201、特征提取模块1202和特征向量生成模块1203;

划分模块1201,被配置为将音频按照时域窗口划分为至少两个音频片段;

特征提取模块1202,被配置为调用音频片段表示模型对至少两个音频片段的特征序列进行特征提取,得到至少两个片段特征向量;音频片段表示模型是采用音频样本对训练得到的神经网络模型,音频样本对包括音频正样本对和音频负样本对,音频正样本对中的两个音频片段之间存在同一音频中的时域前后关系,音频负样本对中的两个音频片段之间不存在同一音频中的时域前后关系;

特征向量生成模块1203,被配置为采用至少两个片段特征向量,生成音频的特征向量。

在一个可选的实施例中,特征提取模块1202,被配置为调用级联的n层卷积神经网络层对第i个音频片段的特征序列进行特征提取,得到第i个音频片段对应的n个卷积特征向量,i为不大于m的整数;特征提取模块1202,被配置为将第i个音频片段对应的n个卷积特征向量进行拼接,得到第i个音频片段对应的片段特征向量。

在一个可选的实施例中,级联的n层卷积神经网络层包括:第一卷积神经网络层至第n卷积神经网络层;第i层卷积神经网络层的卷积核尺寸大于第i-1层卷积神经网络层的卷积核尺寸;或,第i层卷积神经网络层的步长大于第i-1层卷积神经网络层的步长;或,第i层卷积神经网络层的卷积核尺寸大于第i-1层卷积神经网络层的卷积核尺寸,第i层卷积神经网络层的步长大于第i-1层卷积神经网络层的步长;其中,i为不大于n的整数。

在一个可选的实施例中,特征提取模块1202,被配置为按照级联的n层卷积神经网络层的顺序,将第i个音频片段对应的n个卷积特征向量进行拼接,得到第i个音频片段对应的片段特征向量。

在一个可选的实施例中,特征向量生成模块1203,被配置为对至少两个片段特征向量进行拼接,生成音频的特征向量;或,特征向量生成模块1203,被配置为对至少两个片段特征向量进行拼接,得到拼接后的片段特征向量,对拼接后的片段特征向量进行池化处理,生成音频的特征向量。

在一个可选的实施例中,音频表示模型是采用三元组损失训练得到的,三元组损失是让音频正样本对靠近,音频负样本对远离的损失函数。

在一个可选的实施例中,该装置还包括机器学习模块1204;机器学习模块1204,被配置为采用音频的特征向量进行机器学习任务,机器学习任务包括:机器学习模型的训练任务和机器学习模型的预测任务中的至少一种。

图13示出了本申请一个示例性实施例提供的音频片段表示模型的训练装置的示意图。该装置可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。该装置包括:获取模块1301和训练模块1302;

获取模块1301,被配置为获取音频正样本对,音频正样本对包括第一音频片段样本和第二音频片段样本;

获取模块1301,被配置为获取音频负样本对,音频负样本对包括第一音频片段样本和第三音频片段样本;

训练模块1302,被配置为采用音频正样本对和音频负样本对,对音频片段表示模型进行训练,得到训练后的音频片段表示模型;

其中,第一音频片段样本和第二音频片段样本之间存在同一音频中的时域前后关系,第一音频片段样本和第三音频片段样本之间不存在同一音频中的时域前后关系。

在一个可选的实施例中,音频片段表示模型包括:级联的n层卷积神经网络层,n为大于1的整数;训练模块1302,被配置为调用级联的n层卷积神经网络层对第i音频片段样本的特征序列进行特征提取,得到第i个音频片段样本对应的第i片段样本特征向量,i为不大于3的整数;训练模块1302,被配置为对第一片段样本特征向量和第二片段样本特征向量进行匹配处理,得到第一交互向量;训练模块1302,被配置为对第一片段样本特征向量和第三片段样本特征向量进行匹配处理,得到第二交互向量;训练模块1302,被配置为根据第一交互向量和第二交互向量,通过三元组损失确定音频片段表示模型的音频损失,三元组损失是让音频正样本对靠近,音频负样本对远离的损失函数;训练模块1302,被配置为以音频损失最小为目标,更新级联的n层卷积神经网络层的模型参数。

在一个可选的实施例中,级联的n层卷积神经网络层包括:第一卷积神经网络层至第n卷积神经网络层;第i层卷积神经网络层的卷积核尺寸大于第i-1层卷积神经网络层的卷积核尺寸;或,第i层卷积神经网络层的步长大于第i-1层卷积神经网络层的步长;或,第i层卷积神经网络层的卷积核尺寸大于第i-1层卷积神经网络层的卷积核尺寸,第i层卷积神经网络层的步长大于第i-1层卷积神经网络层的步长;其中,i为不大于n的整数。

在一个可选的实施例中,训练模块1302,被配置为调用级联的n层卷积神经网络层对第i音频片段样本的特征序列进行特征提取,得到第i个音频片段样本对应的n个卷积特征向量;训练模块1302,被配置为对n个卷积特征向量进行拼接,得到第i片段样本特征向量。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图14,其示出了本申请实施例提供的计算机设备的结构框图,该计算机设备可用于实现上述音频的特征向量生成方法,或,音频片段表示模型的训练方法示例的功能。具体来讲:

该计算机设备1400包括处理单元(如cpu(centralprocessingunit,中央处理器)、gpu(graphicsprocessingunit,图形处理器)和fpga(fieldprogrammablegatearray,现场可编程逻辑门阵列)等)1401、包括ram

(random-accessmemory,随机存储器)1402和rom(read-onlymemory,只读存储器)1403的系统存储器1404,以及连接系统存储器1404和中央处理单元1401的系统总线1405。该计算机设备1400还包括帮助计算计算机设备内的各个器件之间传输信息的i/o系统(input/outputsystem,基本输入/输出系统)1406,和用于存储操作系统1413、应用程序1414和其他程序模块1415的大容量存储设备1407。

该基本输入/输出系统1406包括有用于显示信息的显示器1408和用于用户输入信息的诸如鼠标、键盘之类的输入设备1409。其中,该显示器1408和输入设备1409都通过连接到系统总线1405的输入输出控制器1410连接到中央处理单元1401。该基本输入/输出系统1406还可以包括输入输出控制器1410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1410还提供输出到显示屏、打印机或其他类型的输出设备。

该大容量存储设备1407通过连接到系统总线1405的大容量存储控制器(未示出)连接到中央处理单元1401。该大容量存储设备1407及其相关联的计算机可读介质为计算机设备1400提供非易失性存储。也就是说,该大容量存储设备1407可以包括诸如硬盘或者cd-rom(compactdiscread-onlymemory,只读光盘)驱动器之类的计算机可读介质(未示出)。

不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦写可编程只读存储器)、闪存或其他固态存储其技术,cd-rom、dvd(digitalvideodisc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1407可以统称为存储器。

根据本申请实施例,该计算机设备1400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1400可以通过连接在该系统总线1405上的网络接口单元1411连接到网络1412,或者说,也可以使用网络接口单元1411来连接到其他类型的网络或远程计算机系统(未示出)。

该存储器还包括至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述音频的特征向量生成方法,或,音频片段表示模型的训练方法。

本申请实施例还提供一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并实现上述音频的特征向量生成方法,或,音频片段表示模型的训练方法。

本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述音频的特征向量生成方法,或,音频片段表示模型的训练方法。

本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的音频的特征向量生成方法,或,音频片段表示模型的训练方法。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述音频的特征向量生成方法,或,音频片段表示模型的训练方法。

可选地,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、固态硬盘(ssd,solidstatedrives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistancerandomaccessmemory)和动态随机存取存储器(dram,dynamicrandomaccessmemory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,上述提到的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1