掌桥专利:专业的专利平台
掌桥专利
首页

神经网络训练方法、装置、电子设备及介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及音频信号编解码技术领域,具体是涉及一种神经网络训练方法、装置、电子设备及介质。

背景技术

人类听觉研究显示,人耳具有听觉掩蔽效应,即当两个频率相同或相近的声音同时发生时,较大的声音(掩蔽者)会降低人耳对较小声音(被掩蔽者)的感知能力;当两者强度相差较大时,被掩蔽者完全不能被人耳听见。掩蔽者能掩蔽住被掩蔽者的最大强度,称为掩蔽阈值。掩蔽效应除了跟掩蔽者的强度密切相关,还与音频信号的频率具有强相关性。

传统的感知音频编码方法利用人耳的掩蔽效应,将输入音频信号划分为各个子带,对每个子带信号编码时,将编码导致的重建误差的强度控制在该子带信号的掩蔽阈值内,实现压缩音频数据的同时,保证解码音频信号感知无失真。当传输码率较低时,基于人耳对低频更加敏感的特性,编码器会对低频成分分配更多的比特,从而导致音频高频成分损失较大甚至缺失。以MP3为例,当码率低于128kbps,15kHz以上的频率成分将被丢弃,解码音频质量降低。近年来,基于神经网络自编码器在音频编解码领域发展迅速,当码率为112kbps时,自编码器能够保留15kHz~22kHz的高频成分的同时保证较好的解码音频质量,这为更低码率下生成高质量的解码音频提供了可能。

现有技术中存在如下技术问题:当基于神经网路的自编码器的码率低至72kbps,解码后的音频信号虽能保留15kHz~22kHz的高频成分,但存在明显可闻噪声。其原因是自编码器仅使用频谱均方误差作为频域损失度量,对提取的内部特征进行量化时,以解码音频和原始音频频谱误差的平均值最小化作为计算目标。而人耳对不同频率成分的敏感度存在较大差异,仅靠这种平均化的误差处理不能确保每一种频率成分的重建误差都不超过掩蔽阈值,从而可能引入可闻噪声。因此,有必要在现有基于深度神经网络的音频编码方法中引入基于听觉感知特性的损失,以提升解码音频信号的感知质量。

发明内容

本发明的目的是为了克服上述背景技术的不足,提供一种神经网络训练方法、装置、电子设备及介质,以提升解码音频信号的感知质量。

第一方面,提供一种神经网络训练方法,用于训练量化码本以及基于神经网络的编码器和解码器,包括以下步骤:

基于神经网络的编码器逐帧地提取输入音频信号的深层次特征;

量化器量化所述编码器提取的所述深层次特征,得到深层次特征的索引;

解量化器解量化编码深层次特征的索引,得到解量化的深层次特征;

量化损失计算模块基于深层次特征和解量化深层次特征计算用于训练量化码本的量化损失;

基于神经网络的解码器将解量化的深层次特征解码,得到解码音频信号;

时频损失计算模块基于所述输入音频信号和所述解码音频信号分别计算时域重建损失和频域重建损失,并以时域重建损失、频域重建损失以及量化损失之和作为损失函数;

基于心理声学模型的信掩比计算模块计算所述输入音频信号的信掩比;

听觉感知损失计算模块计算所述解码音频信号的听觉感知损失;

将听觉感知损失加入到所述的损失函数中,得到引入听觉感知特性的损失函数;

训练模块以引入听觉感知特性的损失函数训练编码器、量化码本以及解码器,直至损失收敛,得到训练后的编码器、量化码本以及解码器。

进一步地,所述听觉感知损失计算模块根据所述输入音频信号、所述解码音频信号和所述输入音频信号的信掩比,计算听觉感知损失。

进一步地,所述基于心理声学模型的信掩比计算模块计算所述输入音频信号的信掩比的步骤包括:

所述的输入音频信号逐帧地输入所述基于心理声学模型的信掩比计算模块,信掩比计算模块将每一帧输入音频信号在频域划分为多个子带,并逐子带地计算信掩比,得到所述输入音频信号的信掩比。

进一步地,所述听觉感知损失计算模块计算所述解码音频信号的听觉感知损失的步骤包括:

所述输入音频信号和所述解码音频信号逐帧地经时频变换后得到输入音频信号的能量谱和解码音频信号的能量谱;

将所述输入音频信号的能量谱和所述解码音频信号的能量谱采用与所述信掩比计算模块中相同的子带划分方式进行子带划分,得到输入音频信号子带的能量和解码音频信号子带的能量;

基于所述的输入音频信号子带的能量和所述解码音频信号子带的能量逐帧地计算每个子带的信噪比,得到所述解码音频信号的信噪比;

将所述输入音频信号的信掩比与所述解码音频信号信噪比逐帧逐子带地相减,并经过激活函数,得到每一帧每一个子带的听觉感知损失,最后对其求和得到听觉感知损失。

第二方面,提供一种神经网络训练装置,用于训练量化码本以及基于神经网络的编码器和解码器,包括:

编码器,用于提取输入音频信号的深层次特征;

量化器,用于量化所述编码器提取的所述深层次特征,得到深层次特征的索引;

解量化器,用于解量化编码深层次特征的索引,得到解量化的深层次特征;

量化损失计算模块,用于计算训练量化码本的量化损失;

解码器,用于将解量化的深层次特征解码,得到解码音频信号;

时频损失计算模块,用于计算所述输入音频信号和所述解码音频信号的时域重建损失和频域重建损失;

基于心理声学模型的信掩比计算模块,用于计算所述输入音频信号的信掩比;

听觉感知损失计算模块,用于计算所述解码音频信号的听觉感知损失;

训练模块,用于根据引入听觉感知特性的损失函数训练所述编码器、量化码本以及解码器,直至损失收敛,得到训练后的编码器、量化码本以及解码器。

第三方面,提供一种音频解码装置,包括所述的神经网络训练装置,其中,所述音频解码装置还被配置为:

接收解量化的深层次特征;

解码解量化的深层次特征,以及

输出解码音频信号;

其中,所述解量化的深层次特征为所述的神经网络训练装置使用训练后的量化码本解量化得到。

第四方面,提供一种音频编码装置,包括所述的神经网络训练装置,其中,所述音频编码装置还被配置为:

接收输入音频信号;

以压缩音频格式编码所述输入音频信号;以及

输出压缩音频格式的编码信号。

第五方面,提供一种电子设备,包括:

处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行所述的方法。

第六方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的方法。

与现有技术相比,本发明的优点如下:训练模块基于引入听觉感知特性的损失函数训练编码器、量化码本以及解码器,使解码音频信号的每一个频率成分的重建损失尽可能地控制在掩蔽阈值内,从而达到提升解码音频信号感知质量的效果。

附图说明

图1是本发明的神经网络训练方法的流程示意图。

图2是本发明神经网络训练方法计算输入音频信号信掩比的流程示意图。

图3是本发明神经网络训练方法计算听觉感知损失的流程示意图。

图4是本发明神经网络训练装置的测试方法的流程示意图。

图5是两种损失函数训练的神经网络产生的音频序列的主观测试结果对比示意图。

具体实施方式

现在将详细参照本发明的具体实施例,在附图中例示了本发明的例子。尽管将结合具体实施例描述本发明,但将理解,不是想要将本发明限于所述的实施例。相反,想要覆盖由所附权利要求限定的在本发明的精神和范围内包括的变更、修改和等价物。应注意,这里描述的方法步骤都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被实现为物理实体或逻辑实体、或者两者的组合。

为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。

注意:接下来要介绍的示例仅是一个具体的例子,而不作为限制本发明的实施例必须为如下具体的步骤、数值、条件、数据、顺序等等。本领域技术人员可以通过阅读本说明书来运用本发明的构思来构造本说明书中未提到的更多实施例。

参见图1所示,本实施例提供一种神经网络训练方法,用于训练量化码本以及基于神经网络的编码器和解码器,包括以下步骤:

基于神经网络的编码器逐帧地提取输入音频信号的深层次特征。

量化器量化编码器提取的深层次特征,得到深层次特征的索引。

解量化器解量化编码深层次特征的索引,得到解量化的深层次特征。

量化损失计算模块基于深层次特征和解量化深层次特征计算用于训练量化码本的量化损失。

基于神经网络的解码器将解量化的深层次特征解码,得到解码音频信号。

时频损失计算模块基于输入音频信号和解码音频信号分别计算时域重建损失和频域重建损失,并以时域重建损失、频域重建损失以及量化损失之和作为损失函数。

基于心理声学模型的信掩比计算模块计算输入音频信号的信掩比。

听觉感知损失计算模块计算解码音频信号的听觉感知损失;其中,听觉感知损失计算模块根据输入音频信号、解码音频信号和输入音频信号的信掩比,计算听觉感知损失。

具体步骤包括:

输入音频信号和解码音频信号逐帧地经时频变换后得到输入音频信号的能量谱和解码音频信号的能量谱。

将输入音频信号的能量谱和解码音频信号的能量谱按照信掩比计算模块中相同的子带划分方式进行子带划分,得到输入音频信号子带的能量和解码音频信号子带的能量。

基于的输入音频信号子带的能量和解码音频信号子带的能量逐帧地计算每个子带的信噪比,得到解码音频信号的信噪比。

将输入音频信号的信掩比与解码音频信号信噪比逐帧逐子带地相减,并经过激活函数,得到每一帧每一个子带的听觉感知损失,最后对其求和得到听觉感知损失。

将听觉感知损失加入到损失函数中,得到引入听觉感知特性的损失函数。

训练模块根据引入听觉感知特性的损失函数训练编码器、量化码本以及解码器,直至损失收敛,得到训练后的编码器、量化码本以及解码器。

在一个实施例中,神经网络训练方法的具体步骤如下:

S1:输入音频信号逐帧地输入基于神经网络的编码器,提取其深层次特征;

具体来说,作为一种可选的实施方式,本实例采用的输入音频信号格式为WAVE(Waveform Audio File Format),采样率为44.1kHz或48kHz,声道数为1,采样深度16bits,输入音频信号的帧长为512,帧数为16,输入音频信号的组织格式为(帧数,帧长);编码器采用卷积神经网络提取输入音频信号的深层次特征,其组织格式为(帧数,深层次特征维度,深层次特征帧数)。

S2:输入音频信号逐帧地输入到基于心理声学模型的信掩比计算模块,将输入音频信号在频域划分为多个子带,逐子带地计算信掩比,得到输入音频信号的信掩比。

具体来说,信掩比——信号强度与掩蔽阈值的比值,单位为分贝,是以子带为计算单元,子带的划分原则通常采用巴克(Bark)带的划分原则,子带的数目可以根据编码码率要求进行调整,一般情况下,子带数目越多,所需的码率越高,其解码音频的感知质量越好。作为一种可选实施方式,子带的数目为34,选用标准ISO/IEC 11172-3的心理声学模型一,逐帧地计算输入音频信号每个子带的信掩比,具体流程如图2所示。

首先,计算输入音频信号每一帧的功率谱密度

SMR

S3:将步骤S1的深层次特征输入到量化器量化,得到深层次特征的索引。

具体来说,作为一种可选的实施方式,本实例的量化器选用矢量量化,矢量量化码本的维度为深层次特征的维度,量化码本的个数为8192,深层次特征经矢量量化得到深层次特征的索引,深层次特征的索引的组织方式为(帧数,深层次特征的帧数)。

S4:将步骤S3的深层次特征的索引输入到解量化器,得到解量化的深层次特征,并计算用于训练量化码本的量化损失。

具体来说,本实例的解量化器将根据量化器的量化码本对深层次特征的索引进行解量化,得到解量化的深层次特征,其组织方式为(帧数,深层次特征的维度,深层次特征的帧数);为使解量化的深层次特征的值尽可能地逼近深层次特征的值,本实例引入了量化损失来训练量化码本,计算公式如下所示:

具体来说e

S5:将步骤S4所述的解量化的深层次特征输入到基于神经网络的解码器解码,得到解码音频信号。

具体来说,本实例的解码器采用转置卷积网络,将解量化的深层次特征上采样为解码音频信号,解码音频信号的组织方式为(帧数,帧长)。

S6:基于输入音频信号和步骤S5所述的解码音频信号分别计算时域重建损失和频域重建损失。

具体来说,本实例选用输入音频信号与解码音频信号的L2范数作为时域重建误差,

具体公式如下:

其中N为帧长,C为帧数,x

本实例以输入音频信号幅度谱和解码音频信号幅度谱的L2范数作为频域重建误差,计算公式如下

其中,X

S7:将输入音频信号、步骤S5所述的解码音频信号和步骤S2所述的输入音频信号的信掩比输入至听觉感知损失计算模块,计算听觉感知损失。

听觉感知损失的计算流程图如图3所示,具体步骤如下所示:

步骤7.1:输入音频信号和解码音频信号逐帧地经时频变换后得到输入音频信号的能量谱和解码音频信号的能量谱.

具体来说,时频变换的方式有多种,作为一种可选的实施方式,本实例选用快速傅里叶变换来逐帧地计算每个频点的能量,信号的帧长为512,计算公式如下:

其中N为信号的帧长,C为信号的帧数,x

步骤7.2:将步骤7.1所述的输入音频信号的能量谱和解码音频信号的能量谱按照与步骤S2相同的子带划分方式进行子带划分,得到输入音频信号子带的能量和解码音频信号子带的能量。

具体来说,输入音频信号与解码音频信号子带的能量计算公式如下:

其中,k∈m(b)为频点的频率范围属于子带b的频点索引,B为子带数目。

步骤7.3:基于步骤7.2所述的输入音频信号子带的能量和解码音频信号子带的能量逐帧地计算每个子带的信噪比,得到解码音频信号的信噪比。

具体来说,信噪比的计算公式如下:

步骤7.4:将步骤S2所述的输入音频信号的信掩比与步骤7.3所述的解码音频信号信噪比逐帧逐子带地相减,并经过激活函数,得到每一帧每一个子带的听觉感知损失,最后对其求和得到听觉感知损失。

具体来说,作为一种可选的实施方式,本方法选用Relu函数作为激活函数,听觉感知损失的计算公式如下所示:

S8:以步骤S7所述的听觉感知损失、步骤S6所述的时域重建损失和频域重建损失以及步骤S4所述的量化损失之和作为损失函数的值,训练量化码本以及基于神经网络的编码器和解码器,直至上述的各项损失收敛。

具体来说,损失函数的定义如下所示:

Loss=L

作为一种可选的实施方式,本实例使用自适应矩估计(Adaptive momentestimation,Adam)优化器优化损失,学习率为0.0003,衰退权重为0.002,训练直至各项损失收敛。

图5示出了,在72kbps下,由两种损失函数训练的神经网络生成的四种不同类型音频序列的主观测试结果。在此示例中,主观测试结果具有隐藏参考和锚点的多重刺激测试(MUSHRA)的等级。在ITU-R BS.1534中被描述的MUSHRA是一种公知的方法,用于进行编解码器收听测试,以评估有损音频压缩算法的输出的感知质量。图5中x轴表示测试序列,y轴表示MUSHRA的测评分数。

更具体地说,图5示出了由损失函数与引入听觉感知特性损失函数训练的同一神经网络生成的音频序列和应用3.5kHz低通滤波器(MUSHRA)产生的音频序列以及参考音频序列的MUSHRA评分之间的比较。如图5所示,使用引入听觉感知特性损失函数训练的神经网络产生的音频序列的平均MUSHRA评分显著高于任何其他评分,其中高于未引入听觉感知特性损失函数训练的神经网络生成音频序列的MUSHRA分数约20分。两者之间相差约20,是非常显著的提升。

基于同一发明构思,本申请实施例还提供一种神经网络训练装置,用于训练量化码本以及基于神经网络的编码器和解码器,包括:

编码器,用于提取输入音频信号的深层次特征,其中,编码器是基于神经网络的编码器。

量化器,用于量化编码器提取的深层次特征,得到深层次特征的索引。

解量化器,用于解量化编码深层次特征的索引,得到解量化的深层次特征。

量化损失计算模块,用于计算训练量化码本的量化损失。

解码器,用于将解量化的深层次特征解码,得到解码音频信号。其中,解码器是基于神经网络的解码器。

时频损失计算模块,用于计算基于输入音频信号和解码音频信号的时域重建损失和频域重建损失。

基于心理声学模型的信掩比计算模块,用于计算输入音频信号的信掩比。

听觉感知损失计算模块,用于计算解码音频信号的听觉感知损失。

训练模块,用于根据引入听觉感知特性的损失函数训练编码器、量化码本以及解码器,直至损失收敛,得到训练后的编码器、量化码本以及解码器。

基于同一发明构思,如图4所示,本申请实施例还提供一种神经网络训练装置的测试方法,包括以下步骤:

M1:输入音频信号分帧地输入到训练后的编码器,提取其深层次特征。

M2:将步骤M1所述的深层次特征输入到量化器,使用训练后的量化码本量化,得到深层次特征的索引。

M3:将步骤M2所述的深层次特征的索引输入解量化器,使用训练后的量化码本解量化,得到解量化的深层次特征。

M4:将步骤M3所述的解量化的深层次特征输入到训练后的解码器解码,得到解码音频信号。

具体来说,神经网络在测试中不需要计算任何损失,输入音频信号经编码器编码得到深层次特征,随后深层次特征经量化器量化和解量化器解量化得到解量化的深层次特征,最后解码器基于解量化的深层次特征,将其上采样,从而得到解码音频信号。

基于同一发明构思,本申请实施例还提供一种音频解码装置,包括的神经网络训练装置,其中,音频解码装置还被配置为:

接收解量化的深层次特征;

解码解量化的深层次特征,以及

输出解码音频信号;

其中,解量化的深层次特征为的神经网络训练装置使用训练后的量化码本解量化得到。

基于同一发明构思,本申请实施例还提供一种音频编码装置,包括的神经网络训练装置,其中,音频编码装置还被配置为:

接收输入音频信号;

以压缩音频格式编码输入音频信号;以及

输出压缩音频格式的编码信号。

基于同一发明构思,本申请实施例还提供一种电子设备,包括:

处理器;以及

存储器,用于存储处理器的可执行指令;

其中,处理器配置为经由执行可执行指令来执行上述方法的所有方法步骤或部分方法步骤。

基于同一发明构思,本申请实施例还提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述方法的所有方法步骤或部分方法步骤。

本发明实现上述方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。

存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如声音播放功能、图像播放功能等);存储数据区可存储根据手机的使用所创建的数据(例如音频数据、视频数据等)。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术分类

06120114693393