来源:机器之心
字节跳动的这项研究,可以完美将混合音频分离成单个源任务。
音乐源分离 (MSS) 是将混合音频分离成单个源的任务,例如人声、鼓、伴奏等。MSS 是音乐信息检索 (MIR) 的重要内容,因为它可用于多个下游 MIR 任务,包括旋律提取、音高估计、音乐转录 、音乐混音等。MSS 也有可以直接应用的程序,例如卡拉 OK 和音乐混音。
基于深度神经网络的方法已成功应用于音乐源分离。这些方法通常用于学习从混合声谱(spectrogram)到一组源声谱的映射,所有声谱图都只有幅度。但是,这种方法会受到一定的限制:
1)不正确的相位重构降低了性能;
2)将掩码的幅度限制在 0 和 1 之间,而我们平时观察到有 22% 的时频 bin 的理想比率掩码值超过 1;
3) 在深架构上的潜力尚未得到充分探索。
字节跳动的研究者提出了解决了上述问题的方案。这项研究在 Reddit 上引来众多网友讨论:
论文一作孔秋强本科和硕士都毕业于华南理工大学,于英国萨里大学获得博士学位,主要研究领域包括机器学习、音频信号处理等。此外,他还是 GiantMIDI-Piano(钢琴转谱)研究项目的牵头人。
孔秋强于 2019 年加入字节跳动的 Speech, Audio and Music Intelligence 研究小组,主要负责音频信号处理和声音事件检测等的研究。
该研究的贡献包括以下:
首先,该研究通过估计复数理想比率掩码 (cIRM,complex ideal ratio masks) 来估计相位,其中他们将 cIRM 的估计解耦为幅度和相位估计;
其次,该研究扩展了分离方法,以有效地允许掩码的幅度大于 1;
最后,该研究提出了一个高达 143 层的残差 UNet 架构 。他们提出的系统在 MUDB18 数据集上实现了 SOTA MSS 结果,尤其是人声(vocals)的 SDR(signal-to-distortion ratio,信号失真率) 为 8.98 dB,优于之前 7.24 dB 的最佳性能。
论文地址:https://arxiv.org/pdf/2109.05418.pdf
Github 地址:https://github.com/bytedance/music_source_separation
试玩地址:https://huggingface.co/spaces/akhaliq/Music_Source_Separation
方法介绍
与之前直接预测掩码的实部和虚部不同,该研究建议将 MSS 的幅度和相位估计进行解耦,以便可以分别优化它们的设计。研究者将要估计的复杂掩码表示为 。作为解决方案的一部分,系统输出一个有界幅度掩码
,其值在 [0, 1] 之间。在实际应用中,它是通过 sigmoid 函数来实现的。此外,该系统还输出另外两个张量,
。这里,
分别是
实部和虚部。
然后,估计 cIRM 的实部和虚部:
残差 UNet
在本节中,该研究为 MSS 引入了具有数百层的深度残差 UNet,其深度至少是之前 UNet 模型的 4 倍 。首先该研究引入了一个包含 33 层的基准 UNet。这个 33 层的 UNet 由 6 个编码器和 6 个解码器层组成。每个编码器层由两个卷积层和一个下采样层组成。每个解码器层由一个上采样转置卷积层和两个卷积层组成。最后,在解码器层之后添加了三个额外的卷积层,总共有 33 个卷积层。
接下来,该研究介绍了一个具有 143 层的残差 UNet。在构建具有数百层的残差 UNet 时,他们使用残差编码器块 (REB) 和残差解码器块 (RDB) 来增加网络深度。图 3 显示了残差 UNet 架构,其中使用了 6 个 REB 和 6 个 RDB。每个 REB 由 4 个残差卷积块(RCB)组成,如图 4(a)所示。每个 RCB 由两个卷积层组成,卷积核大小为 3×3,如图 4(c)所示。在 RCB 的输入和输出之间添加了一个快捷连接(shortcut connection)。在遵循预作用残差网络配置的卷积层之前,应用批量归一化和具有 0.01 负斜率的 leaky ReLU 非线性函数。在每个 REB 之后应用 2 × 2 平均池化层以减小特征图大小。每个 REB 由 8 个卷积层组成。
图 3:带有残差块的 MSS 系统, REB、RDB 和 RCB 的详细信息见图 4 。
解码器 (RDB) 中的块与编码器 (REB) 中的块对称。每个 RDB 由一个转置(transposed)卷积层组成,其卷积核大小为 3 × 3,stride 为 2 × 2 ,用来对特征图进行上采样,然后是四个 RCB,如图 4(b)所示。每个 RDB 由 9 个卷积层组成,包括 8 个卷积层和 1 个转置卷积层。为了进一步提高残差 UNet 的表示能力,该研究在 REB 和 RDB 之间引入了中间卷积块 (ICB),如图 3 所示。该研究使用 4 个 ICB,其中每个 ICB 由 8 个卷积层组成。
图 4:(a) 残差编码器块 (REB),(b) 残差解码器块 (RDB),(3) 残差卷积块 (RCB)
实验
该研究在 MUDB18 数据集上进行了实验。MUDB18 数据集包括独立的人声、伴奏、贝斯、鼓和其他乐器。其训练 / 验证集分别包含 100/50 个完整立体声音轨。此外,该研究还将训练集进一步分解为 86 首训练歌曲和 14 首用于开发和评估的歌曲。
与以往方法的比较
表 2 显示了不同方法的比较。第一行显示了 Open-Unmix 的性能,它由三个双向长短期记忆层组成,实现了 6.32 dB 的人声 SDR。第二行显示,在时域中训练的 Wave-U-Net 系统实现的 SDR 略低于其他时频域系统。第三行之后显示了 Demucs、Conv-TasNet、Spleeter 和 D3Net 的结果。
在比较的方法中,D3Net 分别实现了 7.24 dB 和 7.01 dB 的最佳人声和鼓声 SDR。Demucs 达到了 5.83 dB 的最佳低音 SDR,而 Spleeter 在之前的研究中达到了 4.55 dB 的其他最佳 SDR。
如表 2 的最后一行所示,ResUNetDecouple 系统在分离人声、贝斯、其他和伴奏方面明显优于其他方法。
消融实验
此外,该研究还展示了所提系统的性能。此外还将其与 [25] 中的 UNetPhase 系统进行了比较。
表 3 中,UNet、UNetDecouple 和 UNetDecouple+ 是 33 层 UNet 的变体,而 ResUNet、ResUNet Decouple、ResUNetDecoup+ 是 143 层残差 UNet 的变体。UNet 和 ResUNet 是只有幅度掩码的模型,即模型中不考虑相位。
首先,仅预测掩码大小的 UNet 表现略逊于 UNetPhase。其次,实验还比较了第 2-4 行或第 5-7 行内的变化趋势。对于 UNet 和 ResUNet,幅度和相位的解耦提高了性能——使用 UNet 平均提高 0.35 dB,使用 ResUNet 平均提高 0.45 dB。「+」模型显示使用 UNet 和 ResUNet 分别提高了 0.2 dB 和 0.196 dB。该结果表明,结合有界掩码估计和直接幅度预测可以提高 MSS。当其他条件固定时,对于所有源仪器,ResUNet 始终优于 UNet。该研究还展示了 MSS 中非常深的架构的有效性。ResUNet 相对于 UNet 的平均改进为 0.7 dB。
参考链接:
https://www.reddit.com/r/MachineLearning/comments/pqpl7m/r_decoupling_magnitude_and_phase_estimation_with/
推荐阅读
欢迎添加群助手微信,邀请您加入大佬云集-深度学习技术交流群!
👆 长按识别添加,邀请您进群!