神经音频编码是一个地方我们要压缩音频信号到一个位串,应恢复作为另一个音频信号听起来尽可能类似人类的耳朵,当然,使用神经网络。这个目标不是简单的在做这个训练一个神经网络autoencoding工作,因为我刚才说在前面的句子是不能很好地定义为一个可微的损失函数。
神经音频编码器,机器学习模型,可以被训练为一个参数函数的预测(在输入信号的编码情况下重建)必须尽可能相似的目标(输入信号压缩之前)。如果他们是不同,不同之处在于计算的损失差异化的传播网络更新参数。棘手的问题在于:不同吗?不同的如何?
两个信号之间的损失可以用不同的方法计算:时域样本之间的均方误差,比较在频域,把日志,等等。然而,没有人是完美的,因为人类的听觉感知是非常主观的,很难量化。例如,即使一对明显不同,在均方误差方面,可以无差别地声音类似于人类的主题,反之亦然。有一些努力想出一个更合理的损失函数,将更好地与人类听觉感知,但他们有些原始,与其说对神经音频编码工作已经完成。因此,我们的目标是提出一个更好的基于充分的心理声学损失函数,可使神经音频编码与传统的程序员。
与此同时,在SAIGE我们这么多关心深度学习系统的运行效率。在一个典型的深层神经网络(款),很容易在数以百万计的参数一个前馈在工作过程中通过。这意味着对于实时应用程序,必须有数百万的浮点操作每毫秒左右。我们相信,这在神经音频编码效率问题是强烈的,因为它最终必须处理实时解码几个小时在一个移动设备。顺便说一下,我们不是在谈论在训练效率。我们关心的是前馈过程测试时间。
可以有很多不同的方法来压缩神经网络,以便它可以享受时间,减少运算,在运行时间和空间复杂性。方法之一是使用显著减少量化权重编码水平,所示位神经网络[1]Kim和巴黎Smaragdis Minje“逐位神经网络,”国际会议在机器学习(ICML)能效高的机器学习研讨会,里尔,法国,7月6尺11寸,…继续阅读。但是,量化压缩净并不是唯一的方式,很明显。
在这个项目中,我们采取一个更根本的audio-centric方法网络压缩问题,最终损失函数有关。主要的思想是调整款的成本函数(或实际上的机器学习模型),网络可以更关注的维度(即感知意义。,声音),而它不这么努力工作的其他维度。例如,假设有一个产生的神经网络
维谱
。然后,一个典型的成本函数定义之间的误差预测和地面事实如下:
距离的度量,一定选择
。在这个公式,我们可以改善的是一个简单的假定,每一个频率子带是同样重要的。这是真的吗?
我们认为成本函数可以更好的定义。例如,心理声学说不每一个频率子带是同样重要的[2]画家和a . Spanias“感知编码的数字音频,IEEE学报》,88卷,没有。4、451 - 515年,2000页。。例如同时掩蔽效应,描述了谱峰值的情况可以掩盖附近的其他声音组件和柔软。它被广泛使用的概念在传统包括MP3音频编码。神经autoencoders从训练的角度,这是关系到一个重要的问题:为什么要试图减少错误的听不清呢?
在图中,蓝色的曲线的实际能量信号在频率。同时掩蔽效应识别全球掩蔽阈值(红线):组件曲线下听不清的声音。所以,在这个图中,蓝线部分方式下红线可能不需要太多的关注训练算法,网络的错误可以有覆盖的阈值(除非重建错误太多)。通过计算能量比值的实际信号的功率谱密度和全球掩蔽阈值,我们可以想出一个权向量
对于给定的光谱重建工作问题:
。例如,如果
非常小,这意味着掩蔽阈值
大大高于其信号,抑制的贡献权重的全损。因此,较小的重量让网络更多的重建误差(但没关系如果没有声音!)。
我们的猜想是心理声学的校准可以提高声音质量相同的比特率和网络体系结构。这是因为调整损失函数可以让网络更关注输入的关键部件,听得见的部分越多,这是一个聪明的方式使用比特率和其他网络资源。换句话说,校准功能损失可以降低比特率和网络复杂性给出相同的音频质量,较小的权重放松优化问题。
除了上述优先级权重方案解释说,我们还提出一个额外损失项模拟MP3的贪婪比特分配算法,最小化noise-to-mask比率(NMR),迭代降职重建最严重的噪音
相比与掩码值
:
。两个提议损失函数是互补的,第一个没有明确防止意外重建噪声峰值超过了面具。
我们的主观测试验证,该方法提高了音质降低模型体系结构和比特率。
这篇论文
Jongmo Kai甄,Mi Suk Lee Sung Seungkwon Beack,和Minje金。”心理声学的校准损失函数的有效的端到端神经音频编码”,IEEE信号处理信件,27卷,第2163 - 2159页,2020年。(pdf,代码]
源代码
https://github.com/cocosci/pam-nac
解码样品
未压缩波形的比特率是1.411 Mbps,一样的CD音响设置。mono设置在这部作品中,未压缩比特率是705.6 kbps。
低比特率、32 kHz
- 模型(一个与MSE损失(NAC), 64 kbps;0.45的参数
- 模型(一个与MSE损失(NAC), 79 kbps;0.9的参数
- b型(模型(一个损失+ mel-scale), 79 kbps, 0.9 m参数
- 型号c (b型损失+优先级权重),64 kbps, 0.45 m参数
- 模型(型号c +噪声调制)损失,64 kbps, 0.45 m参数
- MP3, 64 kbps
示例# 1低比特率
例2低比特率
低比特率# 3的例子
高比特率,44.1 kHz
- 模型(一个与MSE损失(NAC), 168 kbps;0.9的参数
- 型号c (+ mel-scale和优先级权重模型(损失),96 kbps, 0.45 m参数
- 型号c (+ mel-scale和优先级权重模型(损失),112 kbps, 0.9 m参数
- 模型(型号c +噪声调制)损失,96 kbps, 0.45 m参数
- 模型(型号c +噪声调制)损失,112 kbps, 0.9 m参数
- MP3, 112 kbps
