音乐神经网络模型预训练方法及电子设备和存储介质
技术领域
本申请涉及音乐
技术领域
,更具体地说,涉及音乐神经网络模型预训练方法及电子设备和计算机可读存储介质。背景技术
对于音乐领域的神经网络模型,在相关技术中,基于原始音频进行预训练,即将原始音频转化为频谱,对部分频谱进行掩码,然后通过编码器-解码器的方法对被掩码音频进行预测,进而进行神经网络模型的预训练。编码器-解码器的目的在于重建被掩码掉的音频,但是在下游任务中,如分类任务中,模型通常不需要音频的全部信息来进行预测,基于上述方式预训练完成的神经网络模型进行训练,影响训练速度和训练完成的神经网络模型的性能较差。
因此,如何提高下游任务中神经网络模型训练的速度和训练完成的神经网络模型的性能是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种音乐神经网络模型预训练方法及一种电子设备和一种计算机可读存储介质,提高了下游任务中神经网络模型训练的速度和训练完成的神经网络模型的性能。
为实现上述目的,本申请第一方面提供了一种音乐神经网络模型预训练方法,包括:
获取原始音频特征向量,对所述原始音频特征向量中的待掩码特征子向量进行掩码处理得到掩码特征子向量,并将所述原始音频特征向量中的待掩码特征子向量替换为所述掩码特征子向量;
将所述掩码特征向量输入待训练神经网络中,以预测所述掩码特征子向量对应的预测音频特征子向量;
对所述待掩码特征子向量中的原始音频特征进行离散化处理得到离散化待掩码特征子向量,并将所述离散化待掩码特征子向量作为正样本与多个负样本进行拼接得到拼接音频特征向量;
基于所述预测音频特征子向量和所述拼接音频特征向量构建损失函数,并基于所述损失函数的当前值调整所述待训练神经网络中的参数,直至所述损失函数收敛,得到预训练完成的音乐神经网络模型。
为实现上述目的,本申请第二方面提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述音乐神经网络模型预训练方法的步骤。
为实现上述目的,本申请第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述音乐神经网络模型预训练方法的步骤。
通过以上方案可知,本申请提供的一种音乐神经网络模型预训练方法,包括:获取原始音频特征向量,对所述原始音频特征向量中的待掩码特征子向量进行掩码处理得到掩码特征子向量,并将所述原始音频特征向量中的待掩码特征子向量替换为所述掩码特征子向量;将所述掩码特征向量输入待训练神经网络中,以预测所述掩码特征子向量对应的预测音频特征子向量;对所述待掩码特征子向量中的原始音频特征进行离散化处理得到离散化待掩码特征子向量,并将所述离散化待掩码特征子向量作为正样本与多个负样本进行拼接得到拼接音频特征向量;基于所述预测音频特征子向量和所述拼接音频特征向量构建损失函数,并基于所述损失函数的当前值调整所述待训练神经网络中的参数,直至所述损失函数收敛,得到预训练完成的音乐神经网络模型。
对于音乐领域的神经网络模型,下游任务需要使用音频特征进行模型训练,因此,在预训练阶段,本申请直接对音频特征进行掩码,待训练神经网络对掩码特征进行预测,进而进行预训练。基于预训练完成的音乐神经网络模型进行下游任务的模型训练时可提高神经网络模型的收敛速度,进而提高了训练速度。另外,本申请通过离散化处理对原始音频特征进行编码,基于预训练完成的音乐神经网络模型进行下游任务的模型训练时可提高神经网络模型的性能。由此可见,本申请提供的音乐神经网络模型预训练方法,提高了下游任务中神经网络模型训练的速度和训练完成的神经网络模型的性能。本申请还公开了一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的
具体实施方式
一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为本申请实施例提供的一种音乐神经网络模型预训练方法的流程图;
图2为本申请实施例提供的另一种音乐神经网络模型预训练方法的流程图;
图3为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种音乐神经网络模型预训练方法,提高了下游任务中神经网络模型训练的速度和训练完成的神经网络模型的性能。
参见图1,本申请实施例提供的一种音乐神经网络模型预训练方法的流程图,如图1所示,包括:
S101:获取原始音频特征向量,对所述原始音频特征向量中的待掩码特征子向量进行掩码处理得到掩码特征子向量,并将所述原始音频特征向量中的待掩码特征子向量替换为所述掩码特征子向量;
本实施例的目的在于对待训练神经网络进行预训练,以得到训练完成的音乐神经网络模型,此处的待训练神经网络可以包括bert等,在此不进行具体限定。在本步骤中,首先获取原始音频特征向量[v1,v2,…,vn]T,此处的原始音频特征向量可以为待训练音乐神经网络模型中部分层输出的特征,即将原始音乐输入待训练音乐神经网络模型中,经过其中部分层的特征提取得到原始音频特征向量。其次,在原始音频特征向量选取部分特征即待掩码特征子向量,可以表示为[vk,vk+1,vk+2,…]T,并保存原始的待掩码特征子向量和其位置,对其进行掩码处理得到掩码特征子向量,可以表示为[mk,mk+1,mk+2,…]T。最后,将原始音频特征向量中的待掩码特征子向量替换为掩码特征子向量,可以表示为[v1,v2,…mk,mk+1,mk+2,…,vn]T。
作为一种可行的实施方式,对所述原始音频特征向量中的待掩码特征子向量进行掩码处理得到掩码特征子向量,包括:基于预设概率分布和预设长度确定掩码特征数量,并在所述原始音频特征向量中确定待掩码特征子向量;其中,所述待掩码特征子向量中原始音频特征为所述掩码特征数量;对所述待掩码特征子向量进行掩码处理得到掩码特征子向量。在具体实施中,基于预设概率分布和预设长度计算需要掩码特征的数量,即待掩码特征子向量包含的原始音频特征的数量。此处的预设概率分布和预设长度为超参数,可以依据实际网络情况进行设置。
S102:将所述掩码特征向量输入待训练神经网络中,以预测所述掩码特征子向量对应的预测音频特征子向量;
在本步骤中,将掩码特征向量输入待训练神经网络中,待训练神经网络的作用为确定掩码特征向量中被掩码的特征即掩码特征子向量,并预测其对应原始特征子向量,即预测上述待掩码特征子向量,待训练神经网络的预测结果为预测音频特征子向量,可以表示为[pk,pk+1,pk+2,…]T。
S103:对所述待掩码特征子向量中的原始音频特征进行离散化处理得到离散化待掩码特征子向量,并将所述离散化待掩码特征子向量作为正样本与多个负样本进行拼接得到拼接音频特征向量;
在本步骤中,首先对待掩码特征子向量中的原始音频特征进行离散化处理得到离散化待掩码特征子向量,可以表示为[vqk,vqk+1,vqk+2,…]T,通过离散化的方式对原始音频特征进行编码。其次,获取多个负样本,此处不对负样本的采用数量进行具体限定,可以依据实际网络情况进行设置。可以理解的是,每个负样本中包含的特征数量需要与待掩码特征子向量中包含的原始音频特征的数量一致。作为一种可行的实施方式,可以在所述原始音频特征向量中未被掩码的原始音频特征中选取负样本。以负样本的采样数量为100为例,负样本可以表示为如下形式:
最后,将离散化待掩码特征子向量作为正样本与上述获取的多个负样本进行拼接得到拼接音频特征向量,可以表示为如下形式:
S104:基于所述预测音频特征子向量和所述拼接音频特征向量构建损失函数,并基于所述损失函数的当前值调整所述待训练神经网络中的参数,直至所述损失函数收敛,得到预训练完成的音乐神经网络模型。
在本步骤中,首先基于待训练神经网络预测得到的预测音频特征子向量和拼接音频特征向量构建损失函数。作为一种可行的实施方式,可以基于所述预测音频特征与所述拼接音频特征之间的余弦距离构建损失函数。余弦距离可以表示为:
通过对比上述余弦距离与标准向量结果构建损失函数,由于拼接音频特征向量中第一列为正样本,其余列为负样本,正样本与预测音频特征子向量之间的余弦距离向1优化,而负样本与预测音频特征子向量之间的余弦距离向0优化,因此标准向量结果可以表示为:
其次,基于损失函数的当前值通过反向传播优化待训练神经网络,即调整待训练神经网络中的参数,直至损失函数收敛,得到预训练完成的音乐神经网络模型。在训练与音乐相关的深度学习模型时,可以基于预训练完成的音乐神经网络模型进行再次训练。
对于音乐领域的神经网络模型,下游任务需要使用音频特征进行模型训练,因此,在预训练阶段,本申请实施例直接对音频特征进行掩码,待训练神经网络对掩码特征进行预测,进而进行预训练。基于预训练完成的音乐神经网络模型进行下游任务的模型训练时可提高神经网络模型的收敛速度,进而提高了训练速度。另外,本申请实施例通过离散化处理对原始音频特征进行编码,基于预训练完成的音乐神经网络模型进行下游任务的模型训练时可提高神经网络模型的性能。由此可见,本申请提供的音乐神经网络模型预训练方法,提高了下游任务中神经网络模型训练的速度和训练完成的神经网络模型的性能。
本申请实施例公开了一种音乐神经网络模型预训练方法,相对于前几个实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图2,本申请实施例提供的另一种音乐神经网络模型预训练方法的流程图,如图2所示,包括:
S201:获取原始音频特征向量,对所述原始音频特征向量中的待掩码特征子向量进行掩码处理得到掩码特征子向量,并将所述原始音频特征向量中的待掩码特征子向量替换为所述掩码特征子向量;
S202:将所述掩码特征向量输入待训练神经网络中,以预测所述掩码特征子向量对应的预测音频特征子向量;
S203:基于预设分类规则生成目标维度的离散化向量表;其中,所述目标维度为所述待掩码特征子向量中原始音频特征的维度;
在本步骤中,基于预设分类规则生成离散化向量表,预设分类规则至少包括类别数量和每个类别具体的表示方式,离散化向量表可以表示为[vq1,vq2,…,vqw]T,其中,w为类别数量,vqw的维度与原始音频特征vn的维度一致。例如,类别数量为10,原始音频特征的维度为512,则离散化向量表为10×512。
S204:基于所述预设分类规则确定所述待掩码特征子向量中每个原始音频特征对应的类别,以生成所述待掩码特征子向量对应的类别向量;
在本步骤中,基于预设分类规则确定待掩码特征子向量中每个原始音频特征对应的类别,生成类别向量。例如,待掩码特征子向量的尺寸为3×512,类别数量为10,则生成的类别向量的尺寸为3×10。
作为一种可行的实施方式,本步骤可以包括:利用全连接层基于预设分类规则确定所述待掩码特征子向量中每个原始音频特征对应的类别,以生成所述待掩码特征子向量对应的one hot向量。在具体实施中,可以利用全连接层预测待掩码特征子向量中每个原始音频特征对应的类别,使用hard gumbal softmax将其转为one hot向量,可以表示为[vok,vok+1,vok+2,…]T。
S205:将所述类别向量与所述离散化向量表的乘积确定为离散化待掩码特征子向量;
在本步骤中,将类别向量与离散化向量表的乘积确定为离散化待掩码特征子向量。离散化待掩码特征子向量的尺寸与待掩码特征子向量的尺寸一致,对于上述步骤中举出的例子,离散化待掩码特征子向量的尺寸为3×512。
S206:将所述离散化待掩码特征子向量作为正样本与多个负样本进行拼接得到拼接音频特征向量;
在本步骤中,将离散化待掩码特征子向量作为正样本与多个负样本进行拼接得到拼接音频特征向量。作为一种可行的实施方式,可以在所述原始音频特征向量中未被掩码的原始音频特征中选取负样本。作为另一种可行的实施方式,可以基于预设分类规则生成多组目标维度的离散化向量表,在其中选择一个目标离散化向量表与类别向量相乘得到离散化待掩码特征子向量,在剩余的离散化向量表中选取负样本。
S207:基于所述预测音频特征子向量和所述拼接音频特征向量构建损失函数,并基于所述损失函数的当前值调整所述待训练神经网络中的参数,直至所述损失函数收敛,得到预训练完成的音乐神经网络模型。
作为一种优选实施方式,所述利用全连接层确定所述原始音频特征的类别之后,还包括:基于所述全连接层输出的类别对应的概率计算类别熵;相应的,所述基于所述损失函数的当前值调整所述待训练神经网络中的参数,包括:基于所述损失函数的当前值和所述类别熵调整所述待训练神经网络中的参数。在具体实施中,为了防止在优化过程中防止神经网络输出结果过于单一,在优化过程中还加入了类别熵,使全连接层输出的类别尽可能多样。
由此可见,本实施例通过对待掩码特征子向量中的原始音频特征先分类再乘离散化向量表的方式进行离散化,使得每个类别得到的特征向量固定。基于预训练完成的音乐神经网络模型进行下游任务的模型训练时可提高神经网络模型的性能。
下面对本申请实施例提供的一种音乐神经网络模型预训练装置进行介绍,下文描述的一种音乐神经网络模型预训练装置与上文描述的一种音乐神经网络模型预训练方法可以相互参照,具体包括:
掩码模块,用于获取原始音频特征向量,对所述原始音频特征向量中的待掩码特征子向量进行掩码处理得到掩码特征子向量,并将所述原始音频特征向量中的待掩码特征子向量替换为所述掩码特征子向量;
预测模块,用于将所述掩码特征向量输入待训练神经网络中,以预测所述掩码特征子向量对应的预测音频特征子向量;
离散化处理模块,用于对所述待掩码特征子向量中的原始音频特征进行离散化处理得到离散化待掩码特征子向量,并将所述离散化待掩码特征子向量作为正样本与多个负样本进行拼接得到拼接音频特征向量;
调整模块,用于基于所述预测音频特征子向量和所述拼接音频特征向量构建损失函数,并基于所述损失函数的当前值调整所述待训练神经网络中的参数,直至所述损失函数收敛,得到预训练完成的音乐神经网络模型。
对于音乐领域的神经网络模型,下游任务需要使用音频特征进行模型训练,因此,在预训练阶段,本申请实施例直接对音频特征进行掩码,待训练神经网络对掩码特征进行预测,进而进行预训练。基于预训练完成的音乐神经网络模型进行下游任务的模型训练时可提高神经网络模型的收敛速度,进而提高了训练速度。另外,本申请实施例通过离散化处理对原始音频特征进行编码,基于预训练完成的音乐神经网络模型进行下游任务的模型训练时可提高神经网络模型的性能。由此可见,本申请提供的音乐神经网络模型预训练方法,提高了下游任务中神经网络模型训练的速度和训练完成的神经网络模型的性能。
在上述实施例的基础上,作为一种优选实施方式,所述掩码模块包括:
获取单元,用于获取原始音频特征向量;
确定单元,用于基于预设概率分布和预设长度确定掩码特征数量,并在所述原始音频特征向量中确定待掩码特征子向量;其中,所述待掩码特征子向量中原始音频特征为所述掩码特征数量;
掩码单元,用于对所述待掩码特征子向量进行掩码处理得到掩码特征子向量;
替换单元,用于将所述原始音频特征向量中的待掩码特征子向量替换为所述掩码特征子向量。
在上述实施例的基础上,作为一种优选实施方式,所述离散化处理模块包括:
第一生成单元,用于基于预设分类规则生成目标维度的离散化向量表;其中,所述目标维度为所述待掩码特征子向量中原始音频特征的维度;
第二生成单元,用于基于所述预设分类规则确定所述待掩码特征子向量中每个原始音频特征对应的类别,以生成所述待掩码特征子向量对应的类别向量;
离散化处理单元,用于将所述类别向量与所述离散化向量表的乘积确定为离散化待掩码特征子向量;
拼接单元,用于将所述离散化待掩码特征子向量作为正样本与多个负样本进行拼接得到拼接音频特征向量。
在上述实施例的基础上,作为一种优选实施方式,所述第二生成单元具体为利用全连接层基于预设分类规则确定所述待掩码特征子向量中每个原始音频特征对应的类别,以生成所述待掩码特征子向量对应的one hot向量的单元。
在上述实施例的基础上,作为一种优选实施方式,所述离散化处理模块还包括:
计算单元,用于基于所述全连接层输出的类别对应的概率计算类别熵;
相应的,所述调整模块具体为基于所述预测音频特征子向量和所述拼接音频特征向量构建损失函数,并基于所述损失函数的当前值和所述类别熵调整所述待训练神经网络中的参数,得到预训练完成的音乐神经网络模型的模块。
在上述实施例的基础上,作为一种优选实施方式,所述离散化处理模块还包括:
第一选取单元,用于在所述原始音频特征向量中未被掩码的原始音频特征中选取负样本。
在上述实施例的基础上,作为一种优选实施方式,所述第一生成单元具体为所述基于预设分类规则生成多组目标维度的离散化向量表的单元;
相应的,所述离散化处理单元具体为在多组目标维度的离散化向量表中确定目标离散化向量表,将所述类别向量与所述目标离散化向量表的乘积确定为离散化待掩码特征子向量的单元;
相应的,所述离散化处理模块还包括:
第二选取单元,用于在除所述目标离散化向量表之外的离散化向量表中选取负样本。
在上述实施例的基础上,作为一种优选实施方式,所述调整模块具体为基于所述预测音频特征与所述拼接音频特征之间的余弦距离构建损失函数,并基于所述损失函数的当前值调整所述待训练神经网络中的参数,直至所述损失函数收敛,得到预训练完成的音乐神经网络模型的模块。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请还提供了一种电子设备,参见图3,本申请实施例提供的一种电子设备30的结构图,如图3所示,可以包括处理器31和存储器32。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器32可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器32还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器32至少用于存储以下计算机程序321,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的由电子设备侧执行的音乐神经网络模型预训练方法中的相关步骤。另外,存储器32所存储的资源还可以包括操作系统322和数据323等,存储方式可以是短暂存储或者永久存储。其中,操作系统322可以包括Windows、Unix、Linux等。
在一些实施例中,电子设备30还可包括有显示屏33、输入输出接口34、通信接口35、传感器36、电源37以及通信总线38。
当然,图3所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图3所示的更多或更少的部件,或者组合某些部件。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述任一实施例电子设备所执行的音乐神经网络模型预训练方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。