文献翻译1_KEY-INVARIANT CONVOLUTIONAL NEURAL NETWORK TOWARD EFFICIENT COVERSONG IDENTIFICATION

ABSTRACT

由于曲目翻唱中存在调性、音色和结构变化,曲目翻唱的识别一直是一个具有挑战性的任务。以往的研究大多涉及手工设计的特征和序列对齐方法,很难取得进一步的突破。本文采用了一种监督深度学习方法,用于学习一种有效的特征提取器来进行曲目翻唱的识别。我们将其视为一个分类问题,提出了一种抗调性变换的卷积神经网络,以进行分类。学习平移不变性和旋转不变性的特征。经过训练后,该网络用于提取音乐的表示,这些表示可以用来衡量歌曲之间的相似性。此外,这些表示具有很高的稀疏性,可以设计有效的算法来加速计算。实验结果显示,我们的模型在多个数据集上以较低的时间成本实现了较高的精确度。尤其值得注意的是,在其中一个数据集上,我们的方法优于最先进的方法。

key-invariant卷积神经网络通常由两个主要组件组成:特征提取层和分类层。特征提取层通过堆叠多个卷积层和池化层来逐渐提取图像的高级特征。这些特征具有平移不变性,因为每个卷积核在整个图像上使用相同的权重进行卷积操作。此外,通常还会使用局部响应归一化(local response normalization)来增强特征的鲁棒性。

分类层使用全连接层将提取到的特征映射到不同的类别。在训练过程中,网络通过反向传播算法来调整权重,以最小化预测输出与真实标签之间的差异。这样,key-invariant卷积神经网络能够学习到具有平移和旋转不变性的特征,提高对这些变形的鲁棒性。

1. INTRODUCTION

    (定义)翻唱歌曲识别被定义为在给定一首歌曲的情况下,系统能够在数据集中检索到该歌曲的翻唱版本。由于一首歌曲可以由不同的艺术家或音乐家进行演绎,翻唱歌曲中常常存在音色、音调和音乐结构的变化,这使得这个问题变得困难。

(研究现状)为了处理这些差异,研究人员尝试使用序列对齐算法。通常,从音频中提取代表十二种音高强度的色谱特征来描述音乐的旋律[1]。然后,利用动态规划(DP)算法来衡量音乐的相似性。例如,Ellis和Poliner基于DP提取了节拍色谱特征,并交叉相关这些特征以找到最佳匹配点[2]。Martin等人将基本局部比对搜索工具(BLAST)用于生物序列比对,以匹配色谱序列[3]。动态时间规整(DTW)是一种用于序列匹配的成熟方法,在翻唱歌曲识别中得到了应用[4, 5]。在[6]中,Serra等人嵌入了色谱向量并开发了一个精心设计的DP方法。这些方法在小规模数据集上取得了高精度的结果。

    然而,这些方法涉及穷举迭代和匹配,对于大规模数据集来说是难以承受的。在音乐检索中成功应用的指纹技术不能直接应用于这个任务。一些研究[7, 8]在古典和混音音乐上使用了这些技术。然而,很难将其应用于流行音乐,因为流行音乐在风格和乐器上呈现出更丰富的变化范围。[9]可能是第一个尝试将哈希技术应用于翻唱歌曲识别的工作,但并没有取得很高的精度。此外,一些研究人员尝试从音乐中提取低维特征,然后使用欧氏距离等度量方法计算相似性。Bertin-Mahieux和Ellis [10]将二维傅里叶变换应用于节拍色谱,并获得用于计算相似性的低维向量。[11]将二维傅里叶幅度投影到非常稀疏的空间中,并应用有监督学习进行翻唱歌曲检索。在[12, 13]中,利用启发式认知和和弦描述符来表示音乐。事实上,这些方法在与序列对齐方法相比大大降低了计算量。然而,由于表示丢失了许多时间信息,这些方法通常导致比序列对齐方法更差的结果。

此外,这些方法通常涉及手工设计的特征,需要极大的努力和专业知识。令人惊讶的是,我们发现很少有作者尝试在这个领域使用深度学习来提取特征。[14]可能是第一个尝试利用深度学习进行翻唱歌曲识别特征学习的工作。然而,这项工作没有仔细处理音乐变化,因此并没有取得良好的结果。此外,即使他们使用了迄今为止最大的公共数据集:Second Hand Songs (SHS) 数据集,它对于应用深度学习来说仍然太小。为了解决这个问题,我们从互联网收集了10万首翻唱歌曲,涵盖了各种流派,包括爵士乐、布鲁斯、流行音乐等。

    (本文方法)在本文中,我们提出了一种基于关键不变的卷积神经网络的翻唱歌曲识别模型。我们将歌曲视为不同的类别,通过训练一个分类网络来提取音乐特征以进行翻唱歌曲检索。我们的想法受到了一些将深度学习应用于图像检索的工作的启发[15]。重要的是,我们设计了一种特殊的网络结构,能够对抗不同调性和局部变化的影响。实验结果表明,我们的模型在几个数据集上相对于一些序列对齐方法具有较高的精度。此外,由于表示是高度稀疏的,我们利用了稀疏性并设计了一个加速算法,进一步提高了效率。

我们的贡献主要有四点。首先,我们的工作是根据海量数据训练分类器以提取特征用于翻唱歌曲检索的初次尝试。其次,我们设计了一种对抗调性变换的关键不变网络,我们相信这对于未来的研究在这个领域提供了启示。第三,所提出的方法具有高效性,并且可以适应大规模数据集。第四,在github上提供了有关数据集的元数据,并且该数据集将对未来的研究有所帮助。

2. APPROACH

2.1. Feature extraction

    (提取HPCP特征)谐波音高类别特征(Harmonic Pitch Class Profile,简称HPCP)[6, 5]是一种增强型的色度特征,用于衡量分析帧内12个音高类别的相对强度。在我们的情况下,我们使用essentia2工具根据[6]的设置来提取HPCP特征。生成的特征是一个由12维向量组成的序列,每秒有2.15个向量,每个向量对应460毫秒。

显然,HPCP序列的长度各不相同。在我们的实验中,我们将长度固定为400。对于超过该长度的序列,我们只保留前面的部分,而对于较短的序列,则用零填充。因此,最终的序列可以被视为每个音轨的一个12×400的矩阵。(长度的单位是帧或者采样点,帧是音频信号在时间上的离散表示,而采样点则是指音频信号在一秒钟内的取样数量。)

2.2. Key invariance

    当不同艺术家演奏同一首音乐时,常常会发生调性变换。在色度描述符中,这些变化被表示为循环移位。然后,通过转位色度序列来寻找最佳匹配,以消除调性变换的影响。最佳转位指数(Optimal Transposition Index,简称OTI)用于许多翻唱曲目识别系统中[16, 6]。在我们的情况下,我们设计了特定的网络结构来提取具有关键转位不变性的特征,从另一个角度处理调性转换问题。

为了更好地解释我们的方法,首先引入一些符号并定义关键转位不变函数的概念。给定一个HPCP向量 x = (x0, x1 . . . x11)T,转位向量定义如下:

其中,%表示模运算。给定一个HPCP矩阵 ,它的转置矩阵定义如下:

其中 i 表示循环移位,i ∈ {0, 1 . . . 11}。换句话说,转置矩阵可以通过将原始矩阵在垂直方向上进行循环移位得到。在这些符号的基础上,我们如下定义关键转位不变函数:如果对于所有 i, j ∈ {0, 1 . . . 11} 和 X ∈ R12×N,有 f(X(i)) = f(X(j)),那么函数 f 就是关键转位不变的。例如,将 X 映射到二维傅里叶幅度的函数就是关键转位不变的。

(使调不变的网络结构设计,具体函数还没看懂)将神经网络的操作视为一个函数,我们设计了特定的网络结构来获得关键转位不变函数。首先,将 X 在垂直方向上与 X1:11,: 进行连接,其中 X1:11,: 表示从 X 中提取的第一行到第十一行组成的矩阵,新的矩阵表示为 ˆX。然后,我们使用带有步长为1的卷积层和池化层进行处理。同时,我们精心设计了核大小,并确保某一层的神经元具有12×M的感受野尺寸。最后,对该层应用带有12 × 1个滤波器的池化操作。在这个设置下,池化层的输出将实现关键转位不变性(附录中提供了一个简要的证明)。

2.3. Network structure

一个键不变网络的参数的说明。该网络的输出维度由高度、宽度和深度确定。其中,PS表示卷积层和池化层的大小,S表示步幅。层类型包括:C:卷积层、MP:最大池化层、AP:平均池化层、FC:全连接层。M的取值范围为{35, 50, 60, 75}。Conv1和FC1采用ReLU激活函数,FC2应用了softmax函数

具体每一层的名称、类型、输出维度、卷积核大小和步幅如下:

  • Conv1:卷积层,输出维度为12x(401-M)x900,卷积核大小为12xM,步幅为1。
  • Pool1:最大池化层,输出维度为1x(401-M)x900,池化窗口大小为12x1,步幅为1。
  • Pool2:平均池化层,输出维度为1x1x900,池化窗口大小为1x(401-M),步幅为1。
  • FC1:全连接层,输出维度为2000。
  • FC2:全连接层,输出维度为8177。

其中,Conv1和FC1采用ReLU激活函数,FC2应用了softmax函数。

    我们提出的网络结构如图1所示,详细设置在表1中说明。事实上,该网络与图像分类中普遍使用一系列小滤波器而不是一个大感受野卷积层的框架[17, 18]不同。实际上,我们探索了这些结构与关键转位不变结构的组合,但在实验中并没有取得良好的结果。由于我们的工作旨在设计针对调性转换具有特定鲁棒性的网络,在本文中不关注深度网络。尽管如此,我们的网络能够提取关键转位不变的特征并取得良好的结果(见第3.3.1节)。

(网络结构)输入是HPCP序列,传入关键转位不变结构中。图2中展示了Conv1层的一些滤波器,并可以发现这些滤波器显示出明显的周期性模式。特别是,最右侧的模板显示了一个小三和弦,并用于匹配音乐中的小三和弦。我们选取了一些对最右侧滤波器响应较大的歌曲,毫不意外地发现这些歌曲具有明显的小三和弦。实际上,关键转位不变结构可以被看作是使用某种模板来在考虑调性转换的情况下,找到滤波器和HPCP块之间的最大响应。滤波器的大小对于识别有影响,并且我们设计了实验来进行探索(见第3.3.2节)。然后,使用全局平均池化层来总结特征图全局平均池化层的作用是将整个特征图转化成一个固定长度的向量。具体操作是对特征图的每个通道进行求平均,将每个通道的平均值作为该通道的输出值,最终得到一个固定长度的特征向量。这种方式可以有效地减少特征图的维度,同时保留重要的特征信息。最后,两个全连接层与输出相连,one-hot encoding vectors表示录音的类别。采用交叉熵损失训练模型,并使用Adam优化器训练网络100个epochs。每个epoch包括两个主要步骤:前向传播和反向传播。在前向传播中,模型使用当前的参数对训练数据进行预测,并计算损失函数的值。然后,在反向传播中,根据损失函数的值计算参数的梯度,并使用优化算法(如梯度下降)更新模型的参数。

之后,网络用于提取音乐的表示。我们经验性地选择余弦相似度来衡量两首歌曲之间的相似性。此外,如图1所示,在表示上执行L2归一化。在全连接层后执行L2归一化可以控制参数大小、防止过拟合以及改善梯度下降,从而提高模型的泛化能力,减小过拟合风险,并增强模型在训练集以外的数据上的性能。通过这种方式,我们可以忽略分母并计算余弦相似度s如下:
其中u、v分别是查询歌曲和参考歌曲的表示。此外,我们认为不同核的组合可能会提供各种时间信息,进而有助于提高性能。我们将具有不同核大小的网络结果进行组合,包括12×35、12×50、12×60和12×75;也就是说,最终系统提取8000维的表示。然后,融合过程对四个模型之间的相似性进行平均处理。

2.4. Acceleration of computation

(加速算法)给定一个查询,系统提取其表示并计算其与参考歌曲的相似性。在实验中,我们发现表示非常稀疏,因此我们可以设计一个加速算法。给定一个查询u和一个参考v,我们只考虑u表示中的非零元素进行计算,因为考虑零元素是微不足道的。下面描述了加速算法。
算法1 计算相似性的快速算法
输入:查询歌曲u和数据集C
输出:存储u与数据集中参考歌曲之间相似性的列表s
1: u ← 提取u的表示
2: idxs ← 找到u中非零项的位置
3: 对于每个vi ∈ C do
4: s[i] ← 1
5: v ← 提取vi的表示
6: 对于每个j ∈ idxs do
7: s[i] ← s[i] − u[j] × v[j]
8: 结束循环
9: 结束循环
10: 返回s

3. EXPERIMENTS

3.1. Dataset

    (数据集)Second Hand Songs 100K(SHS100K)是我们从Second Hand Songs网站收集的。它包含108,869个音轨和9,202首歌曲;每首歌曲有不同数量的版本。这个数据集包括了从20世纪到现在发布的各种风格和流派的音乐。需要提到的是,Second Hand Songs(SHS)数据集也是从该网站收集而来,并且这两个数据集有一些重叠。然而,SHS100K的录音数量比SHS多6倍。为了充分利用SHS100K,我们将大部分音轨用于训练。训练集SHS100K-TRAIN包含了8,177首歌曲和101,968个音轨。由于SHS100K与Covers80和Youtube共享一些歌曲,我们将其中与其他歌曲组合的歌曲移入测试集SHS100K-TEST,其中包含了2,983个音轨。此外,我们还使用了大约4,000个录音作为验证集,标记为SHS100K-VAL。需要注意的是,这三个数据集没有共享任何歌曲。

Covers80包括由两位艺术家演唱的80首歌曲和总共160个录音。这个数据集在文献中被研究人员常用于评估。在我们的情况下,我们计算每首歌曲与数据集中其余歌曲之间的相似性,并构建了一个距离矩阵进行评估。

Youtube包含50首作品,每首歌有7个录音版本。该数据集被分为训练和测试数据。在我们的实验中,我们将训练集作为参考,将测试集作为查询,遵循[16, 19]的设置。

3.2. Evaluation metric

    (评估指标)在我们的实验中,我们使用平均精度均值(Mean Average Precision,MAP)、前10个正确识别的精确度(Precision at 10,P@10)和第一个正确识别的翻唱版本的平均排名(Mean Rank of first correctly identified cover,MR1)来评估性能。需要注意的是,对于MAP和P@10,较大的值表示性能较好,而对于MR1,较小的值表示性能较好。这些指标与Mirex音频翻唱歌曲识别比赛(Mirex Audio Cover Song Identification contest)使用的指标完全相同。

3.3. Result and discussion

3.3.1. Exploration of key-invariant network

    (调无关网络的有效性)为了验证关键无关网络(记作In-Net)的有效性,我们构建了几个网络来比较它们的性能。为了消除其他因素的影响,我们构建了两个网络Net1和Net2,与In-Net相似,但去除了连接过程并改变了Pool1的滤波器大小。同时,对于Net1和Net2,M分别设置为35和50。此外,还构建了没有关键无关结构的VGG1和VGG2网络,分别遵循配置A和配置B [17],以探索深度网络的影响。实验结果表明,关键无关网络很好地逼近了训练数据,如图3a所示。经过几个迭代周期后,训练损失显著降低,而其他网络收敛需要更多迭代次数。此外,只有关键无关网络才能学习用于检索的判别特征。它在验证集上的MAP不断提高,而其他网络保持几乎不变,如图3b所示。由于翻唱歌曲中经常存在关键音移调,明确建立模型以实现关键无关性有助于提高性能。此外,尽管神经网络可以逼近任何函数 [20],但仅仅提供歌曲标签是很难让网络自发地学习关键无关特征的。

                                                                                                 

3.3.2. Optimal filter size

    (滤波器尺寸影响)进行了几项实验来探索滤波器尺寸的影响。图4显示,随着滤波器宽度的增加,我们的方法在三个数据集上始终取得更好的性能。当宽度大于35时,曲线呈现出一个平台,在Youtube上甚至略有下降。这个结果符合一些先前的研究,发现在长时间内测量翻唱歌曲的相似性有助于提高准确性[6, 10]。这意味着我们应该扩大神经网络的感受野,以吸收存在于不同演绎版本中的音色和结构变化的影响。

此外,我们对一些歌曲进行了抽样,并使用不同尺寸的滤波器评估了模型的性能。令人惊讶的是,尽管它们整体上具有可比较的精度,但在不同歌曲上表现差异很大。这是因为具有不同尺寸的滤波器可以捕捉到具有不同分辨率的时间信息。对于一些歌曲来说,小尺寸的滤波器更合适,而有些歌曲则需要大尺寸的滤波器来获取更多的信息。

3.3.3. Sparseness of representation

    (可视化音轨,量化稀疏程度)然后,我们尝试可视化音轨的表示。这些表示是从SHS100K-TEST中提取出来的,并堆叠成一个矩阵,如图5所示。你可能会注意到一些黑线显示出来,表示非零元素的分布不均匀。然而,在图上几乎没有点存在,这意味着矩阵非常稀疏。为了量化其稀疏程度,我们只需计算非零元素的平均数量。这个数量仅为200,远小于8000。对于Covers80和Youtube,它们的平均数量分别为186和188。通过利用稀疏性,我们的算法在理论上比朴素算法快约40倍。在实验中,它大约花费1.77毫秒来检索SHS100K-TEST上的一个查询的翻唱歌曲。

3.3.4. Comparison

    (在不同数据集上的评价比较)对于Covers80和Youtube,我们按照一些方法的相同实验设置进行实验,并仅报告结果,而不是重现他们的方法。此外,我们还精心实现了2DFM [10]和基于DTW的序列对齐方法进行比较。如表2所示,我们的方法在这三个数据集上始终优于2DFM和DTW。特别是在Youtube上,它超过了最先进的方法[19]。对于Covers80,我们的方法并没有取得非常好的结果。我们分析了一些情况,并发现我们的方法在涉及剧烈结构和节奏变化的歌曲中表现不佳。由于我们提出的模型并没有采取足够的措施来处理这些变化,所以这个结果也许并不令人意外。我们应该提到,除了2DFM之外,其他介绍的方法都是序列对齐方法,通常比基于紧凑表示的方法表现更好。尽管如此,我们的方法在Covers80上仍然超过了DTW和2DFM。

就时间成本而言,由于除了2DFM和DTW之外的方法是在不同的环境和编程语言中开发的,很难比较它们的效率。我们的实验环境是一台配备Intel Xeon E5-2640v3处理器的Dell PowerEdge R730服务器,我们与DTW和2DFM进行比较。需要注意的是,DTW的时间复杂度与其他序列对齐方法相似,因此我们使用它代表其他序列对齐方法进行比较。查询过程主要涉及特征提取和相似性计算。由于它们在特征提取上花费的时间相似(实际上2DFM和我们提出的方法需要额外一点时间),我们在讨论中忽略了第一步的运行时间。我们提出的方法平均在SHS100K-TEST上的查询处理时间为1.77毫秒,大约比DTW快80000倍。此外,表2中也显示了在Youtube和Covers80上的类似结果。当然,训练网络需要额外的计算,每个网络平均需要7.5小时,但它们只需要训练一次,不会影响查询时间。

重要的是,我们在SHS100K上运行我们的模型,并发现它在1秒内可以处理一个查询,这使得它非常适用于实际应用。尽管它可能在某些序列对齐方法上没有更高的精确度,但它可以作为一个过滤方案,并与序列对齐方法相结合使用。总之,我们的方法始终优于2DFM,并且与一些序列对齐方法相比具有相当高的精确度。就效率而言,我们的系统运行速度比它们快得多,并且可以应用于实际应用中。

4. CONCLUSION

    我们提出了一种针对cover歌曲识别的关键不变卷积神经网络。我们从大规模的音乐库中训练了一个分类网络,该网络可以用作cover歌曲识别的特征提取器。关键不变的结构表现出对调变换的鲁棒性。此外,表示形式高度稀疏,并且我们设计了一种快速检索算法。我们的方法在几个数据集上以相对较低的时间成本实现了高精度,并且在其中一个数据集上明显优于最先进的方法。这项工作是朝着这个方向的初步尝试,还有许多方面可以进一步改进。例如,我们的网络是一个没有明确建模动态时间特性的阴影网络。利用循环神经网络结合关键不变的结构可能进一步提高性能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值