文献翻译4_LEARNING A REPRESENTATION FOR COVER SONG IDENTIFICATION USINGCONVOLUTIONAL NEURAL NETWORK

原文链接:[PDF] Learning a Representation for Cover Song Identification Using Convolutional Neural Network | Semantic Scholar

ABSTRACT

    在音乐信息检索(MIR)领域中,识别翻唱歌曲是一个具有挑战性的任务,原因在于查询曲目和翻唱版本之间存在复杂的音乐变化。先前的研究通常利用手工特征和对齐算法来完成这项任务。最近,通过采用神经网络方法,取得了进一步的突破。在本文中,我们提出了一种基于卷积神经网络(CNN)的全新架构,该架构充分利用了翻唱歌曲任务的特点。我们首先通过分类策略训练网络,然后利用该网络提取用于识别翻唱歌曲的音乐表示。我们设计了一种方案来训练针对节奏变化的鲁棒模型。实验结果表明,我们的方法在所有公开数据集上优于现有方法,在大型数据集上尤为突出。

1. INTRODUCTION

    (背景)翻唱歌曲的识别长期以来一直是音乐信息检索领域中的一个热门任务,可以在音乐版权管理、音乐检索和音乐推荐等领域有潜在应用。翻唱歌曲的识别也可以被看作是衡量音乐旋律相似性的任务。由于翻唱歌曲可能在音调转换、速度变化和结构变化方面与原歌曲存在差异,因此识别翻唱歌曲是一项具有挑战性的任务。(研究现状)在过去的十年中,研究人员最初尝试采用动态规划(DP)方法来解决这个问题。通常情况下,用表示十二个音高类别强度的色度序列来描述音频录音,并利用动态规划方法找到两个给定录音之间的最佳对齐,解决由于节奏变化和结构变化引起的不一致性[1, 2, 3]。这种方法在面对音乐的结构变化和节奏变化时效果良好;然而,由于涉及元素间距离计算,时间复杂度为平方级,使得它不适用于大规模数据集。

另外,一些研究人员尝试通过对音乐进行建模来识别翻唱歌曲。例如,Serrà等人研究了时间序列建模用于翻唱歌曲的识别[3]。[4, 5]将音乐表示为固定维度的向量,可以直接衡量音乐之间的相似性。这些方法相比对齐方法大大提高了效率,但是这些方法中音乐的时间信息丢失可能导致精度降低。

(本文方法)此外,深度学习方法也被引入到翻唱歌曲的识别中。例如,卷积神经网络(CNN)被用来测量相似度矩阵[6]或学习特征[7, 8, 9, 10]。虽然这些方法取得了有希望的结果,但仍有改进的空间。本文提出了一种特殊设计的CNN架构,以克服翻唱歌曲识别中存在的音调转换、速度变化和结构变化的挑战。值得注意的是,专门的卷积核大小在音乐信息检索领域首次被使用。还引入了扩张卷积和数据增强方法。我们的方法在所有公开数据集上优于现有方法,具有更好的准确性但时间复杂度较低。此外,据我们所知,我们的方法目前是在庞大的真实语料库中识别翻唱歌曲的最佳方法。

2. APPROACH

2.1. Problem Formulation

    网络结构中,K表示卷积核的大小,C表示通道数,D表示膨胀率,S表示步幅。卷积层的步幅设置为1×1,池化层的膨胀率为1×1。输出维度为4611,即训练集中类别的数量。

    (概述,训练一个分类网络,并对新输入的查询音乐提取特征衡量相似度)如图1所示,我们有一个训练数据集D = {(xn, tn)},其中xn是一段音频录音,tn是one-hot vector,表示录音属于哪首歌曲(或类别)。同一首歌的不同版本被视为同一类别的样本,而不同的歌曲被视为不同的类别。我们的目标是从D中训练一个用参数{θ, λ}参数化的分类网络模型。如图2所示,θ是所有卷积和FC0的参数;λ是FC1的参数;fθ是FC0层的输出。然后,这个模型可以用于翻唱歌曲的检索。具体而言,在训练之后,给定一个查询Q和数据集中的参考音频Rn,我们提取通过网络获得的潜在特征fθ(Q),fθ(Rn),我们称之为音乐表示,并使用度量函数s来衡量它们之间的相似性。在接下来的章节中,我们将讨论所使用的低级表示、网络结构设计以及针对音调转换和节奏变化的稳健训练模型。我们使用小写字母表示音频,大写字母表示CQT(常量品质变换)以进行区分。

2.2. Low-level Representation

   (用Librosa提取CQT) 我们在实验中使用Librosa[11]提取CQT,将频率能量映射为音符。音频被重新采样为22050 Hz,每个八度的频率区间设置为12个,使用Hann窗口进行提取,跳跃大小为512。最后,在时间方向上进行了20点平均下采样处理,得到的特征是一个具有约2 Hz特征率的序列。它也可以被视为一个84×T的矩阵,其中T取决于输入音频的持续时间。

2.3. Network Structure

    (网络结构设计,滤波器+扩张卷积+全局池化,用交叉熵损失L进行训练)受到[12, 13]等网络结构成功应用的启发,我们为封面歌曲任务设计了一种新颖的网络架构。我们使用小型滤波器堆叠,并在初始层中将滤波器的高度设计为12或13(参见图2),因为CQT中每个八度的频率区间设置为12个。这样设置的结果是第三层的单元具有36的感受野高度;感受野是指神经元接收信息的区域大小,通常用于描述卷积神经网络(Convolutional Neural Network)中的特征提取过程。它横跨三个八度或36个半音。

  我们还引入了扩张卷积到模型中以扩大感受野,因为封面歌曲识别侧重于音乐的长期旋律。这个设计与现有作品[2, 4]中提取特征或测量相似性的思路一致,这些作品从较长的范围内进行操作。更重要的是,我们的模型在频率维度中不涉及任何下采样池化操作;换句话说,垂直步幅始终设置为1,与常见的网络结构如VGG和ResNet[12, 13]不同。这个设计背后的动机在于关键音调可能是一个或两个半音,对应于仅仅将CQT矩阵垂直移动一个或两个元素。没有下采样特征图,网络保持更高的分辨率,并更好地处理音调转换。我们通过实验证实了这个设计有助于提高精度(参见第4.1节)。

此外,在几个卷积和池化层之后,我们对特征图应用自适应池化层,其长度根据输入音频而变化。显然,这种全局池化有将可变长度的特征图转换为固定维度向量的优势,然后通过两个全连接层来利用更多信息。如果没有全局池化,全连接层只能接受固定维度的输入,这在音乐中并不适用,因为不同的作品可能具有不同的持续时间。与利用时序金字塔池[9]的方法相比,我们使用全局池化,因为在我们的模型中它的效果与TPP相同。其中一个解释是我们的卷积网络更深。

给定网络的输入X,FC0的输出为fθ(X) ∈ R300,网络的预测为y = softmax(λfθ(X))。我们使用交叉熵损失L进行训练。在我们的情况下,将同一首歌的不同版本视为同一类别,将不同歌曲视为不同类别。

2.4. Training Scheme

    (多长度+数据增强)对于每个批次,我们从训练集中随机选择一些录音,并从中提取CQT。对于每个CQT,我们随机裁剪三个长度分别为200、300和400的子序列进行训练,分别对应大约100秒、150秒和200秒的长度。尽管训练集中包含以不同速度演奏的封面曲目,但平均而言,每首歌仅有数个封面版本可供训练。此外,由于我们的模型不明确处理封面曲中的节奏变化,因此模型可能难以自动学习对节奏变化具有鲁棒性的表示。因此,在模型训练过程中,我们进行数据增强。如算法1所示,我们从均匀分布中为每个录音样本选择一个变化因子,范围为(0.7, 1.3),并在裁剪子序列之前使用Librosa [11]模拟节奏变化。

2.5. Retrieval

    (检索)在训练之后,网络被用于提取音乐表示。如图1所示,给定一个查询q和一个参考r,我们首先分别提取它们的CQT描述符Q和R,并将其输入网络中,得到音乐表示fθ(Q)和fθ(R),然后计算它们的相似度s,即它们的余弦相似度。在计算数据集中查询和参考之间的两两相似度之后,返回一个排名列表用于评估。

3. EXPERIMENTAL SETTINGS

3.1. Dataset

    Second Hand Songs 100K(SHS100K)是从Second Hand Songs网站收集的,由[8]整理而成,包括8858首具有不同版本的歌曲和108523个录音。该数据集被分为三个子集 - SHS100K-TRAIN、SHS100K-VAL和SHS100K-TEST,比例为8:1:1。

Youtube是从YouTube网站收集的,包含50首多种流派的作品[14]。Youtube中的每首歌都有7个版本,包括2个原创版本和5个不同的版本,因此总共有350个录音。在我们的实验中,我们将其中的100个原创版本作为参考,其余版本作为查询,遵循与[15, 9, 8]相同的设置。

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

Mazurkas是一个古典音乐收藏,包括了2914个钧·肖邦的Mazurkas录音,源自Mazurka项目[1]。每首乐曲的翻唱数量在41至95之间变化。对于这个数据集,我们按照[15]的实验设置进行实验。

3.2. Evaluation

    (评价指标)在评估过程中,我们计算常见的评估指标:平均精确度(MAP),前10个准确率(P@10)和第一个正确识别的翻唱的平均排名(MR1)。这些指标是Mirex音频翻唱歌曲识别比赛[2]中使用的指标。此外,还记录查询时间以进行效率评估。所有实验都在一台Linux服务器上运行,配备两个TITAN X(Pascal)GPU。

4. EXPERIMENTAL RESULT AND ANALYSIS

4.1. Exploration of Network Structure

    首先,我们探索了卷积神经网络(CNN)的卷积核尺寸,并将初始三层的卷积核尺寸分别替换为3×3、7×3、15×3、7×7和12×12。实验结果显示,卷积核高度为12或13的效果最好。

此外,我们改变了最大池化层的垂直步长,并进行了几个实验来探索其对准确性的影响。原始模型被标记为CQT-Net,修改后的网络分别被标记为CQT-Net{4}、CQT-Net{3, 4}和CQT-Net{2, 3, 4},其中数字表示相应池化层的形状被更改为(2, 2)。例如,CQT-Net{2}意味着Pool2被一个步长和尺寸为(2, 2)的池化操作替代。也就是说,CQT-Net{4}、CQT-Net{3, 4}和CQT-Net{2, 3, 4}的总垂直步长分别为2、4和8。

当垂直步长增加时,四个数据集上的MAP、MR1和P@10都会持续下降。我们认为这是因为关键音调可能会偏移一个或两个半音;具有更高特征维度分辨率的网络(即将垂直步长设为1)能够捕捉这些变化并有助于提高准确性。

4.2. Comparison

    我们在不同的数据集上与其他最先进的方法进行比较。表4.1显示我们的方法在所有数据集上均优于最先进的方法。我们的方法的优势在于不依赖于复杂的手工特征和精心设计的对齐算法,而是利用大量数据和特征学习来获得高精度。通过收集更大的数据集,我们的方法可能获得更高的准确性。值得注意的是,我们的训练集SHS100K-TRAIN主要包含流行音乐,而Mazurkas包含古典音乐。我们的方法在这个数据集上优于最先进的方法,这表明它具有很好的泛化能力。由于我们的测试集与Mazurka项目中的不同,所以我们没有展示[22]的结果。至于大型数据集SHS100K-TEST,我们的方法比最先进的方法表现要好得多。

此外,表中显示的查询时间不包括特征提取的时间。因此,我们的方法与[9]相比所消耗的时间相同。无论输入音频的持续时间如何,它提取的是一个固定维度的特征。理论上,它具有线性时间复杂度,比具有二次时间复杂度的序列对齐方法更快。可以看到,我们的方法的查询时间比DPLA、SiMPle等方法短几个数量级。对于Ki-CNN和TPPNet,它们将音乐建模为一个固定维度的向量,并具有相似的时间复杂度。在我们的实现中,我们的方法学习了一个300维的表示,与TPP-Net相同,这解释了为什么我们的方法的时间消耗与TPPNet相同。

4.3. Result Demonstration and Error Analysis

    (从最后识别结果准确性出发分析)我们听取了SHS100K-TEST上的前10个检索结果,并尝试对其进行分析。我们的方法可以识别不同性别、不同乐器伴奏、不同语言等情况下的版本差异。尤其是,由于我们的训练目标是对歌曲进行分类,同一首歌的不同版本往往具有类似的风格、旋律和和弦结构,我们发现即使在Top10中的一些候选项可能不是查询的翻唱版本,但它们与查询具有类似的伴奏和流派等特性。例如,The Bluebeaters的Everybody Knows This Is Nowhere与Bob Marley&The Wailers的Waiting in Vain具有相似的伴奏。从这个意义上说,我们的方法也可以用于检索与查询相似的音乐,并扩展到基于内容的音乐推荐。

此外,我们发现我们模型的Top1准确率为0.81,说明它可以在81%的查询中将翻唱版本作为Top1候选。然而,在某些情况下,它的表现较差。这可能解释了为什么我们的方法在这个数据集上的MAP值为0.655,而MR1只有54.9。最重要的是,高的Top1准确率和快速的检索速度使得我们的方法能够处理实际的翻唱任务,而不仅仅停留在实验室阶段。

5. CONCLUSION

    与传统技术不同,我们提出使用CNN进行翻唱歌曲识别的特征学习。通过利用特定的卷积核和扩张卷积来扩展感受野,我们展示了它可以捕捉音乐中潜在的旋律结构并学习关键不变的表示。通过将问题转化为分类任务,我们训练了一个用于音乐版本识别的模型。

此外,我们设计了一种训练策略,以增强模型对节奏变化的鲁棒性,并处理长度不同的输入。结合这些技术,我们的方法在所有公共数据集上都表现出了优于最先进方法的性能,并且具有较低的时间复杂度。此外,我们展示了这个模型可以检索各种音乐版本并发现相似音乐。最终,我们相信我们的方法能够解决实际的翻唱歌曲问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值