文献翻译5_BYTECOVER: COVER SONG IDENTIFICATION VIA MULTI-LOSS TRAINING

原文链接:[PDF] Bytecover: Cover Song Identification Via Multi-Loss Training | Semantic Scholar

ABSTRACT

    我们在这篇论文中介绍了一种名为ByteCover的新型特征学习方法,用于进行翻唱歌曲识别(CSI)。ByteCover是基于经典的ResNet模型构建的,而且我们设计了两个重要改进来进一步提升模型在CSI方面的能力。ResNet引入了残差连接。残差连接允许跨层直接传递输入,使得网络能够学习到残差部分,即输入与输出之间的差异。通过残差连接,网络可以更轻松地学习到残差,从而提高了训练效果和网络的表达能力。

在第一个改进中,我们引入了实例归一化(IN)和批归一化(BN)的整合,构建了IBN块,这是我们ResNet-IBN模型的主要组成部分。通过IBN块的帮助,我们的CSI模型能够学习到对音乐属性的变化具有不变性的特征,例如音调、节奏、音色和流派,同时还能保留版本信息。IBN块是通过整合实例归一化(IN)和批归一化(BN)的方法,在网络中动态地选择合适的归一化方式来提高网络的性能和表达能力。

在第二个改进中,我们采用了BN-Neck方法,允许多损失训练,并鼓励我们的方法同时优化分类损失和三元组损失。通过这种方式,可以确保翻唱歌曲的类间差异性和类内紧密性。一系列实验证明了ByteCover在多个数据集上的有效性和效率,在Da-TACOS数据集上,ByteCover的性能超过了最佳竞争系统18.0%。BN-Neck方法是一种通过在特征提取网络的最后一层引入BN层和降维操作来增强特征表示能力的技术。它能够提高模型的鲁棒性、泛化能力和计算效率,在目标检测任务中得到广泛应用。

分类损失主要用于多类别分类任务,通过最小化错误分类的概率来优化模型。而三元组损失主要用于度量学习任务,通过比较样本之间的相似度来学习特征空间的度量关系。具体使用时,分类损失可以通过交叉熵损失函数计算,而三元组损失需要构建含有锚点、正样本和负样本的训练集,并通过定义合适的损失函数来优化模型。

度量学习:通过学习一个映射函数或者距离度量函数,为实例定义一个度量空间,从而度量不同实例之间的相似性或者差异性

1. INTRODUCTION

(背景)翻唱歌曲识别(CSI)是音乐信息检索(MIR)领域的一项重要任务,旨在在音乐数据库中找到给定音乐曲目的翻唱版本。它具有许多潜在的应用,如音乐组织、检索、推荐和音乐授权管理。然而,翻唱版本与原始音乐在音调、节奏、结构、乐器编配甚至流派等许多方面可能存在差异,这使得CSI成为一个具有挑战性的问题。

(研究现状)传统的基于手工特征提取(例如突出旋律、色度序列、和弦进行和谐音高类别分析)以及使用时间序列匹配技术(例如动态时间规整)的CSI方法在小型数据集上取得了有希望的结果。然而,大多数这些方法都包含详尽的迭代和匹配过程,这使得它们难以适应由数十万甚至数百万首音乐曲目组成的大型数据集。这限制了CSI在实际行业应用中的使用。近年来,深度学习方法在计算机视觉和其他MIR任务中的普及,已被引入来解决CSI问题。简单来说,现有的深度学习方法可以分为两类。第一类方法将CSI视为多类别分类问题,其中每个版本组被视为一个独特的类别。卷积神经网络(CNNs)被训练用于对训练集中的音乐曲目进行分类,并在检索过程中使用网络倒数第二层生成音频匹配特征。另一类方法将CSI视为度量学习问题。这些方法大多使用三元组损失作为目标函数,并训练基于CNN的模型来最小化翻唱歌曲之间的距离,并最大化不同版本之间的距离。训练完成后,网络的卷积部分被用作进一步识别的特征提取器。

现有研究中的实验证明,与传统方法相比,深度学习模型可以大幅提升CSI的性能。此外,深度模型学习到的特征表示通常是与原始音乐曲目无关的固定长度向量。这带来了一个优势,即可以直接通过欧氏距离或余弦距离来衡量特征之间的相似性,因此可以使用现有的最近邻搜索库高效地索引和检索特征,即使对于大型数据集也是如此。(本文方法)在本文中,我们根据上述介绍的深度学习模型的成功,提出了字节跳动翻唱歌曲识别系统(ByteCover),这是一个旨在学习用于CSI的固定长度特征表示的新型特征学习系统。ByteCover基于经典的CNN模型ResNet50构建,并包括两个重要改进,使得模型在CSI方面更加强大。除此之外,还有一些次要设计,如广义平均池化(GeMPool)。这两个改进帮助ByteCover在我们的实验证明,战胜了所有现有的在所有广泛使用的数据集上的最先进方法。尤其是在Da-TACOS数据集上,ByteCover的平均精确度达到了71.4%,比最佳竞争系统高出18.0%。

我们的第一个改进是将实例归一化(IN)引入到CSI问题中,并将其与批归一化(BN)结合起来构建IBN块,从而进一步改进了用于CSI的ResNet-IBN模型。IN和BN的结合首先在计算机视觉领域被引入,以共同利用IN对于学习对外观变化不变的特征(例如颜色、风格和虚拟/真实性)的能力,以及BN对于保留与内容相关的信息的能力。在CSI中,我们也需要保持音乐版本的信息,同时设计出对音调、节奏、音色和流派等变化具有鲁棒性的特征。我们相信使用IBN在CSI中也会有益处,我们的消融实验证明,通过将IN与BN整合到ResNet50中,可以显著提高CSI的性能。

我们的第二个改进是与现有的方法不同,现有方法要么将CSI的问题公式化为分类问题,要么将其作为度量学习问题。ByteCover试图通过联合优化分类损失和三元组损失来学习特征。已经证实,分类损失更加强调类间差异性,而三元组损失更加强调类内紧密性。在文献中,已经进行了一些研究,将这两种损失结合起来,并实验证明与单一损失相比,此组合可以在人物再识别、细粒度视觉识别和自我运动行为识别等任务中取得更好的性能。在本文中,我们研究了在CSI中使用BNNeck(源自[15])来融合分类损失和三元组损失,通过使用这种多损失训练方法,可以学习到既具有鲁棒性又具有区分性的特征表示。

2. BYTECOVER APPROACH

    (网络结构)我们使用 ByteCover 的目的是从每个输入的音乐曲目中提取一个全局特征,该特征编码了版本信息。通过使用余弦距离比较任意两个音乐曲目的特征,我们可以估计这两个音乐曲目是否是彼此的翻唱版本。图1展示了 ByteCover 的模型结构。如图所示,ByteCover 将常数-Q 变换(CQT)频谱图作为输入,并采用基于卷积神经网络(CNN)的模型,即 ResNet-IBN,进行特征学习然后,通过 GeMPool 对学习到的特征图进行压缩,形成一个固定长度的向量,该向量用于计算三元组损失和 Softmax 损失。这两个损失的联合训练是通过使用 BNNeck 实现的。

2.1. ResNet-IBN

    (提取CQT)为了简化整体流程,我们使用CQT(常数-Q变换)频谱图而不是在CSI(Cover Song Identification)中广泛使用的复杂特征。关于CQT的参数,每个八度的频带数设置为12,并且使用Hann窗口进行提取,跳跃大小为512。此外,在特征提取之前,音频被重新采样为22050 Hz。然后,CQT沿时间维度进行100倍的平均下采样。这种输入特征的尺寸缩小提高了模型的效率,减少了CSI系统的延迟。因此,输入音频被处理成一个压缩的CQT频谱图S ∈ R
84×T,其中T取决于输入音乐的时长。

(ResNet-IBN)在CSI任务中,对各种音乐元素变化的鲁棒性与模型在大规模音乐语料库上的泛化能力密切相关。与此同时,我们也希望这种鲁棒性不会削弱模型识别翻唱曲目的能力。受到实例批归一化(IBN)网络在学习图像的不变表示和保留人物再识别区分能力方面的成功启发,我们将原始的ResNet[12]中的残差块替换为IBN块。

原始的ResNet[12]包含四个阶段,每个阶段依次具有3、4、6和3个基本残差块。此外,第一个阶段有一个7×7的卷积层和一个3×3的池化层来处理输入。为了将ResNet转换为使用IBN模块学习不变嵌入的模型,模型的基本元素——残差块被替换为IBN块。如图2所示,BN应用于一半的通道,IN在每个残差块的第一次卷积后对其他通道进行规范化。IN模块使模型能够学习对音乐样式不变的特征,从而更好地利用单个数据集中具有高样式多样性的音乐表现。此外,为了防止模型的学习能力因太多的IN层而降低,最后一个模块没有被修改,保持不变。此外,为了增大输出特征图的空间尺寸,最后一个残差块中第一个卷积层的步幅被改为1。因此,经过四次下采样和通道扩展处理,输入频谱图被处理成一个三维嵌入X ∈ R
K×H×W,其中K = 2048是输出通道数,H = 6和W = T/8分别是频率和时间轴上的空间尺寸。

(形成固定向量的GeMPool)为了将特征图X压缩成定长向量f,需要一个空间聚合模块。平均池化和最大池化是两种常见的局部特征聚合方法,一些CSI模型[9, 10]在特征提取后会添加一个平均池化层。为了提升我们的CSI模型的性能,我们采用一种新颖的GemPool模块,将这两种聚合方法统一起来。压缩结果f可以通过以下公式得到:
GeM(Generalized mean)池化的行为可以通过调整参数p来控制:当p = 1时,GeM池化等价于平均池化;当p → ∞时,等价于最大池化。参数p被设置为可训练参数,以充分利用深度学习的优势。

2.2. BNNeck for Multi-Loss Training

    在CSI领域中,有两种训练模型的范式:分类范式和度量学习范式。前者使用额外的全连接层作为分类器,通过代理分类任务来学习用于翻唱检测的嵌入向量;后者直接使用度量学习方法,如三元组损失,使得翻唱对之间的欧几里得距离小于非翻唱对之间的距离。

合并这两种训练范式的一种直接方法是在同一个特征上计算分类损失和三元组损失。然而,第3节的实验结果表明,这种简单的方法不能有效提升CSI模型的性能。分类损失和三元组损失之间的不协调可能是联合学习表现不佳的原因。郝等人的工作表明,这两种损失的目标在嵌入空间中是不一致的。

在嵌入空间中,样本对的分类损失主要优化余弦距离,而三元组损失则侧重于欧几里得距离。如果我们同时使用这两种损失来优化一个特征向量,它们的目标可能不一致。因此,三元组损失可能会影响分类损失的清晰决策边界,而分类损失可能会降低三元组损失的类内紧凑性。

因此,BNNeck模块在分类器之前插入了一个BN层,该层是一个无偏差的全连接层,具有权重W,如图1所示。通过GeM模块生成的特征被表示为ft。我们让ft通过一个BN层生成特征fc。在训练阶段,分别使用ft和fc计算三元组损失和分类损失。

由于归一化特征更适合计算余弦度量,我们使用fc在推理和检索阶段计算演奏之间的相似性。总体上,在训练我们的模型时使用的目标函数可以通过以下方式得到:

其中dp和dn分别为正样本对和负样本对的特征距离。α是三元组损失的间隔,[z]+等于max(z, 0)。在本文中,α被设置为0.3。对于分类损失Lcls,CE表示交叉熵函数,y是真实标签。最后,我们使用Adam优化器训练模型,批大小为32,学习率为0.0004。

3. EXPERIMENTS

3.1. Evaluation Settings

    为了评估我们的ByteCover模型的性能,我们在四个公开可用的基准数据集上进行了多个实验,包括SHS100K [8]、Youtube350 [19]、Covers80 [3]和Da-TACOS [20]。

SHS100K是由[8]从Second Hand Songs网站收集的数据集,包含了8858首有各种翻唱版本的歌曲和108523个演奏录音。对于这个数据集,我们遵循[10]的设置。将数据集按照8:1:1的比例划分为训练集、验证集和测试集。我们的ByteCover模型是在SHS100K的训练子集上训练的,并且报告了在测试子集上的结果。

Youtube350 [19]是从YouTube收集的数据集,包含了50首不同流派的作品 [19]。每首歌曲在Youtube350中有7个版本,其中包括2个原始版本和5个不同的版本,总计共有350个演奏录音。在我们的实验中,我们使用了100个原始版本作为参考,其他版本作为查询,采用与[8, 9, 17]相同的设置。

Covers80 [3]是文献中广泛使用的基准数据集。它包含80首歌曲,每首歌曲有2个翻唱版本,总共有160个录音。为了与现有方法进行比较,我们计算了任意一对录音之间的相似度。

Da-TACOS [20]包含15000个演奏录音,其中13000个属于1000个团队,每个团队有13个样本;剩下的2000个样本不属于任何团队。值得一提的是,Da-TACOS中有8373个样本也属于SHS100K的训练集。因此,我们从训练集中删除了这些样本,并报告了重新训练模型的结果。

在检索阶段,使用余弦距离度量来估计两个音乐演奏之间的相似性。按照Mirex Audio Cover Song Identification Contest 1的评估协议,报告平均平均精度(mAP)、前10个正确识别的精度(P@10)和第一个正确识别的翻唱版本的平均排名(MR1)作为评估指标。

3.2. Comparison and Ablation Study

    我们在上述提到的四个数据集上将ByteCover与已发表的最先进方法进行了比较。

我们的ByteCover模型胜过了所有先前的方法,在最大的基准数据集Da-TACOS上,mAP相比于Re-MOVE [18]提高了18.0%,达到了新的最先进水平。我们发现,在具有更多样本、更多样化风格和更多种类流派的数据集(如SHS100K或Da-TACOS)上,我们的模型往往能够取得更显著的优势。

为了定量分析ByteCover系统不同部分的重要性,我们使用了几种设置来训练模型。基准线是仅通过分类损失训练的基于ResNet-50的原始模型,并使用全局平均池化模块生成最终输出。表3呈现了其他设置和结果。

为了证明ByteCover模型的可扩展性,并与Re-MOVE [18]进行更公平的比较,我们报告了我们的方法在不同长度的嵌入向量上的性能。我们使用了一个简单的全连接层作为投影头,将特征向量的大小从2048降低到128或256,而不是使用[18]中使用的复杂的知识蒸馏技术。正如表2所示,我们的模型在特征向量长度仅为[18]的一半的情况下仍然大幅超过了最先进的方法Re-MOVE [18]。

4. CONCLUSION

    在本文中,我们提出了一个简单而高效的歌曲识别系统的设计。通过分类和度量学习训练方案的结合,鼓励我们的模型学习具有区分能力的特征嵌入。使用IBN使得模型对音乐变化具有鲁棒性。结果表明,我们的ByteCover系统在四个公共基准数据集上显著优于所有先前的最先进歌曲识别方法。

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值