基于带宽分割rope Transformer的音源分离

翻译自论文[2309.02612] Music Source Separation with Band-Split RoPE Transformer (arxiv.org)
有些专业术语在文中没有统一。见谅。

摘要

音源分离目标是分割声音录像到多个不同的音乐分轨,比如人声,贝斯,鼓等等。最近,深度学习方法,如CNN和RNN已经被用过了,但是提升仍然有限。这个这个文章中,我们提出了一个新的基于频带带宽分割RopPE Transformer的新频域方法。BS-ReFormer依靠band-split模块将输入的复数频谱图映射到subband-level表示,然后排列一组层次化的Transformer,用于对频带内部和频带之间进行建模以实现多频带的掩码估计。为了更方便的训练MSS模型,我们提出了使用Rotary Position Embedding(RoPE)。在 Sound Demixing Challenge (SDX'23) 的音乐源分离赛道中获得了第一名。在 MUSDB18HQ 上对较小版本的 BS-RoFormer 进行基准测试时,我们在没有额外训练数据的情况下取得了最先进的结果,平均 SDR 达到 9.80 dB。

1 介绍

音乐源分离(MSS)是将音乐李银分成不同声音来源的任务。如同信号分离的评估活动中的定义一样(SiSEC),研究者关注于四种音轨设置:人声,贝斯,鼓和其他。MUSDB18数据集邮件成为了性能的基准测试。考虑到输入信号的复数性(即立体声,44.1khz采样率)以及需要分离的源数量更多(超过四个或更多音轨)。MSS可以从下游各种各样的MIR(Music Information Retrieval 声音信息检索)任务中收益,比如音高估计和声音转录等等。MSS还可以实现卡拉ok版本生成等应用程序,只能音源编辑和混音,和其他的音乐创作衍生工作。

声音的时域和频域时分析和处理信号的俩中基本方法。

时域是描述信号在实践上的变化的方式。在时域中信号被表示为随时间变化的波形图。

关注信号的幅度、持续时间和波形形状。通常用于分析信号的瞬间特性,如瞬时的响度和市场。

应用:音频处理的基本操作,如剪辑、混音和音量调整,通常在时域中进行。

频域是描述信号在频率上的分布。在频域中,音频信号被转为频率的成分表示,通常使用FFT来实现。

关注信号的频率成分及其幅度,能够揭示信号中包含的不同频率(如低频、中频、高频)。

应用:在音频处理中的应用包括均衡、滤波声音合成等。频域有助于识别处理音频中的特定成分,如人声乐器背景噪声等。

最近几年中,许多深度学习方法已经被提议解决MSS问题。它们被分类为频域和时域方法。频域方法依赖于傅里叶变换来推导输入信号的时频(T-F)表示。然后诸如全连接神经网络,CNN,RNN模型进行应用。另一方面,时域方法如Wave-U-net,ConvTasNet,和Demucs直接在波形输入上建立他们的神经网络。最近,Hybrid Transformer Demucs(HTDemucs)建议使用交叉域的Transformer来结合频域和时域模型。

带通band-pass是信号处理的术语,通常用来描述一种滤波器或信号特性,它允许特定频率范围的信号通过,而组织高于或低于这个范围的频率信号。

说到频域方法,大部分现有的模型并没有对基于先验知识的频域进行加权假设。类似CNN的模型在所有的目标源的所有频段上使用相同的卷积核。期望模型能够从原始频率段中学习带通机制(ban-pass)。然而这可能不是那么有效的,因为不同的频带可能有不同的模式,这些模式更号的表征不同的来源。最近带分裂RNN(band-split RNN, BSRNN)的前端引入了带分裂机制,以迫使模型学习带状特征。BSRNN将T-F成不重叠的子带,安排一堆交错的RNN,以同时建模频带内部和频带之间的区别。这种设计已经在Musdb18上展示了SOTA的结果。然而,它对RNN的使用可能仍然不是最优的。鉴于Transformer在序列数据建模的许多相关任务重不断展现出优势。

带分隔(band-spilit)是信号处理中的一个概念,通常用于音频、图像或者其他类型的信号分析。它指的是将信号划分为多个频率带或频段,以便对不同频率范围内的信息进行独立处理或分析。

checkpoint:

使用交错的Transformer对音乐音频的时频表示进行建模的想法最近得到了探索。例如SpecTNT由俩个Transformer 编码器按层次顺序组成,对于频率和时序分别进行建模,然后使用使用频率类token在俩个Transformer中进行连接。这个或者类似的方法已经展示了SOTA的性能在多种音频转录相关的任务中,但是尚未对MSS进行研究。在这篇论文中我们提出了新的MSS方法,基于Band-Split Rope Transformer(术语为BS-Rofomer),它起源于带拆分和分层Transformer架构思想。然而让他发挥作用并不容易,主要是因为模型很大,训练它是非常耗费内存和时间的。我们引入了在Transformer中使用 Rotary Position Embedding(RoPE)明显提高了性能。其他的努力比如检查点,混合精度方法,和flash attention也能帮助有效的训练。我们提交了BS-RoFormer系统到声音分解挑战(Sound Demixing Challenge)2023,音乐分离轨道。我们的系统。我们的系统在SDR中排名第一,并且大大超过了第二名。在消融研究中,我们证明了RoPE的重要性,并且一个仅在 MUSDB18HQ 数据集上训练的小型 BS-RoFormer 模型能够与现有模型相比,达到最先进的性能。

2 系统总览

复数谱图(complex Spectrogram)是音频信号在时域信号的表示形式,它与常见的幅度谱图或功率谱图不同,复数谱图不仅包含了音频信号的频率成分和它们的幅度,还保留了相位信息。

幅度谱图显式信号的强度,功率谱图显式信号的能量。

Frequency bins(频率槽或频率桶)是在数字信号处理和频域分析中,用于表示音频信号经过傅里叶变换(如短时傅里叶变换,STFT)后得到的频率分辨率区间。每个频率槽代表一个特定的频率范围,它包含了该范围内的频率成分的能量或强度信息。

图1描述了系统,设$x\in \mathbb R^{C\times L}$代表了输入矩阵的音频波形,其中C和L分别代表了声音采样。我们的频域MSS系统使用复数谱图作为输入,其中x是通过短时傅里叶变换被变换为时频表示$X\in \mathbb C^{C\times T\times F}$。其中的T和F分别是帧数量和频率槽。设$f_\theta$代表时频神经网络其具有一组科学系的参数$\theta$,$f_\theta$的删除可以是线性频谱,理想二进制掩蔽(IBM),理想比例掩蔽(IRM),或者复数比例掩蔽(cIRM)。我们采用cIRMs记为$\hat{M}\in{\mathbb{C}^{C\times T\times F}}$。在这个工作中,$f_\theta$的目标是估计cIRMs:$\hat{M}=f_\theta(X)$,从而得到目标源的幅度和相位信号。然后分离复数的频谱,$\hat{Y}\in{\mathbb{C}^{C\times T\times F}}$是由乘以输入复谱图得到的:$\hat{Y}=\hat{M}\odot X$。最终对$\hat Y$应用逆变换以恢复时域中分离的信号$\hat{y}$。参考y和输出$\hat{y}$之间的平均绝对值误差(MAE)损失来训练$f_{\theta}$。特别的,目标loss同时包括了时域的MAE和多分辨率谱图

多分辨率是在不同的分辨率下队音频谱图进行处理和评价。不同分辨率可以捕捉到信号的不同细节,比如高分辨率可以捕捉短时频率变化,低分辨率可以更好表示音频和时间结构。

$$ \begin{aligned}\text{loss}&=||y-\hat{y}||+\sum_{s=0}^{S-1}||Y^{(s)}-\hat{Y}^{(s)}||,&\text{(1)}\end{aligned} $$

其中S=5 多分辨率STFT被用在[4096, 2048, 1024, 512, 256]的窗口大小上,跳跃长度和固定长度为147。也就是每秒300帧。

3 频带分割ROPE Transformer

BS-Rofomer由频带分割模块,Repe Transformer 块,和多频带掩码估计模块构成。

3.1 频带分割模块

音频中的全频带是音频信号中整个频率范围,涵盖了人耳能够听到的所有频率,低频20hz-20000hz的高频。

在BSRNN中,它已展示了频带分割策略可以帮助频域方法。一个基本原理是输入混合的音频X是一个全频带信号,因此,基于先验设置切分频带可以促进模型提取不同频带上可学习的特征,从而增强对其跨频带模糊性的鲁棒性。接下来,我们沿着频率轴并对每个子带应用独立的多层感知机,将X切分为N哥不均匀的非重叠的子带。我们将每个子带的输出记为$X_n\in\mathbb{C}^{C\times T\times F_n}$,其中$F_n$是第n个子带的频率槽个数。所有的子带$X_n$构成了整个复数谱X,并且有$\sum_{n=1}^NF_n=F$。

每个MLP由RMSNorm层构成接着是线性层。RMSNorm层根据均方根对一层神经元的输入求和进行正则化。RMSNorm是层归一化的有效替代。第n个线性层包含了形状为$(C \times F_n)\times D$的可学习矩阵和形状为D的可学习偏置。其中D是特征数量。每个子带变化后的输出记为$H^0_n$形状为$T\times D$。我们堆砌所有的$H_n^0,n=1,...,N$,沿着子带轴方向获得一个形状为$T\times N\times D$堆叠,作为RoPE Transformer 块的输入。

3.2 RePE Transformer 块

算法1:用于时频的分层Transformer,参数为B:批大小为,T:帧数量,N:自带数量,D:潜在的维度。

  1. 输入: $B\times T \times N \times D$形状的$H^l$
  2. 重排列$H^l$为$(B\times H)\times T\times D$
  3. 沿着T使用Transformer
  4. 将上述输出重新排序为$(B \times T)\times N \times D$
  5. 沿着N应用Transformer
  6. 输出:将上述输出排列为$H^{l+1}w,形状为B\times T\times N \times D$

假设RoPE Transformer中有L个块,每个块的输出记为$H^l_n\in ^{T\times N\times D}$。频带分割输出$H_n^0$作为第一个Transformer块的输入。不同的于传统的Transformer编码器应用自注意力机制到一维序列(即时间维),我们的Transformer结构是分层的(hierarchical),其中叫做的Transformer层依次被应用于Transformer块中的时间和频率轴。前一个Transformer被叫做time-Transformer,建模带内(局部)的时间序列,后面的Transformer被叫做subband-Transformer,处理内带(全局)频率序列,以确保跨带信息是可交换的。Transformer块的处理在图1中展示了。对于Transformer所有的mini-batch(B批量大小)和子带都是堆叠的;对于subband-Transformer,所有的mini-batch和帧都是堆叠的。所有的Transformer层使用相同的架构。图2描述了Transformer层,它由注意力层(带旋转位置嵌入)和前馈模块构成。

图2:Transformer层的图解。这个例子是time-Transformer 沿着时间序列并且$B'=B\times N$。

3.2.1 旋转位置嵌入的注意力模块

在注意力模块中,我们首先根据需要重排列的输入形状(见图1),然后是RMSNorm。然后使用query,key,value层去预测query,key,value:$Q=H^lW_q,K=H^lW_k,V=H^lW_v$,其中QKV有形状$D\times Z$,Z是隐藏维度。科学系的矩阵$W_q,W_k,W_v$形状为$D\times Z$。QKV被分割到多个头。对于未知编码,我们提议使用旋转嵌入Embdding(RoPE),它们应用为

$$ \begin{aligned}&\hat{Q}=\mathrm{Rot}(Q)\\&&\text{(2)}\\&\hat{K}=\mathrm{Rot}(K)\end{aligned} $$

其中Rot()是RoPE编码器在整个Transformer块中共享。time-Transformer和subband-Transformer有它们自己的RoPE编码器,根据对应序列中每个嵌入的位置,它在Q和K中的每个Embdding上使用旋转矩阵。然后我们通过使用处理过的query,key,value应用注意力操作如下所示

$$ \text{output}=Dropout\left(Softmax(\frac{\hat{Q}\hat{K}^T}{\sqrt{Z/h}})\right)V,\quad(3) $$

其中h是头的数量,等式3是计算量最大的核心部分。为了加速我们使用flash Attention技术。在注意力模块后,是一个使用了了Dropout的全连接层。额外的残差应用注意力模块的输入和输出之间。

我们认为RoPE的使用是在工作中是至关重要的。基于所提出的分层Transformer结构,time和subband Transformer的位置嵌入应该对时间和子带之间的交替自注意操作更具有鲁棒性。直接添加科学系的绝对位置嵌入到编码位置可能不能在转置自注意力过程后,维持范数尺度。因为RoPE通过乘一个旋转矩阵的上下文表示编码了相关位置,我们认为这有助于保留时间和子带序列的位置信息。

3.2.2 前馈模块

前馈包块由RMSNorm层,使用GeLU激活的全连接层,和droup组成。然后然后应用了一个带有droupout的全连接层。类似的我们在前馈网络的输入和输出使用残差。

3.3 多频带掩码估计模块

我们将RePE Transformer块的输出表示为$H_n^L,n=1,...,N$。类似频带分割模块,我们应用N个独立的多层感知机到每个子带$H_n^L$。每个多层感知机层由RMSNorm层,跟着Tanh激活函数的全连接层,和一个全连接层,其后面跟着一个门控线性单元GLU。第n层多层感知机层的输出形状为$(2\times C)\times T\times F_n$的子带掩码$\hat{M}_n$,其中其中包含实值掩码和虚值掩码。所有的输出沿着频率轴连接得到一个cIRM $\hat{M}\in \mathbb C^{C\times T\times F} $。

4 实验

懒得翻译了 看原文去。

5 结论

我们已经展示了BS-Roformer模型,它基于新的分层的 RoPE Transformer架构。它出色的性能可能为下一代MSS系统开发提供启发。在未来的工作中,我们将关注提升高效的性能。通过引入重叠带的投影,也许可以改善锐利的音质。

Last modification:November 14, 2024
如果觉得我的文章对你有用,请随意赞赏