原文链接:A Tutorial on Deep Learning for Music Information Retriveal
深度学习在音乐信息检索(MIR)方向的应用介绍(下)

摘要:

深度学习在其他领域获得了很大的成功,并且也在MIR领域广泛使用。但是呢,大部分工作都是将已经在其它领域获得成功的方法套用在了这个领域,缺少一些领域内原生的研究。本文旨在降低MIR领域深度学习的门槛。

  • 文章列出了MIR领域的基本原理并回顾了重要的工作
  • 文章简要介绍了一些解决MIR问题的神经网络结构,他们可以作为目前问题的building blocks
  • 文章讨论了一些新的方向和进阶的议题,来刺激领域内新的研究

1. 动机

近些年,深度学习方法在MIR领域越发流行。在其他领域更甚,比如CV和NLP。总的来说深度学习很可能在MIR领域扮演重要角色

深度学习有很多学习材料,很多学习材料都是针对某个具体领域的,比如,自然语言处理。在MIR领域,仅有一个2012年的教材,它很有价值但是已经跟不上时代。

很多深度学习的研究都是基于分享的模块和方法,例如:全连接层,卷积层,循环层,激活函数,损失函数,和基于反向传播的训练。这就使得深度学习可以用在不同的领域,比如,卷积神经网络一开始是用于计算机视觉的,但是在自然语言处理和MIR领域也有应用。

由于上述原因,本文旨在综述用于理解MIR领域如何使用深度学习技术,和为什么使用深度学习技术的基础知识。本文读者应该有一些MIR背景。但我们还是会讲一些MIR的基础知识。因为深度学习是机器学习的子集,我们还需要读者明白一些机器学习的基本概念,比如:训练集和测试的划分,训练分类器,和过拟合。

  • 第二部分 介绍了下深度学习的概念。
  • 第三部分 从深度学习的角度定义和分类了一些MIR问题。
  • 第四部分 从一般的角度和处理MIR问题的角度描述了DNN的核心模块。
  • 第五部分 介绍了一些使用了第四部分模块的模型。
  • 第六部分 做了总结

2. 深度学习

当前的深度学习技术与很多重要的神经网络早期工作有关。误差反向传播,是一种在神经网络上应用梯度下降算法的方式,在80年代就被提出。卷积神经网络被用来识别手写体。后来序列模型LSTM循环神经网络被提出。他们都是现代DNN算法的基础。

最近一些改进工作也为现代深度学习的成功做出了贡献。 最重要的创新在优化技术上(也就是训练模型的各种优化器)。 使用ReLUs替换sigmoid做激活函数使得DNN的训练速度显著提高。这引领了图像识别和语音识别方向的创新。另一个重要改变来自硬件。GPU上的并行计算技术使得Krizhevsky等人成为大规模图像分类模型的先驱者。

下面我们来科普一些神经网络的基本概念。

<待补充:都是一些特别基本的概念可以参考这篇文章>
深度学习基本概念介绍

3. 音乐信息检索

MIR是一个跨学科的研究领域,宽泛的定义为从音乐中提取信息以及相关应用。这里的音乐通常是指音频内容。否则他的范围可以延伸到其它类型的音乐信息,比如歌词,音乐描述信息,用户听的历史信息等。

3.1 MIR问题

本文讨论了如何应用深度学习技术来解决音频内容的MIR问题。要注意的是,不是所有的问题都可以仅仅用音频解决。尽管信息可能来自于音频内容,在预测音乐标签(music tag)时,文化和社会背景也能派上用场,比如纪元和流派。还有一些任务与音频内容无关,比如歌词分析。

假设我们有个音频,有很多属性来描述MIR问题。我们主要集中在主观性,和决策时间尺度上,见Table 1中描述

有很多MIR问题是主观的,比如某个任务可能被误定义,而完全的正确答案是不存在的。举个例子,音乐流派和标签更取决于听者的感觉(虽然也与音频内容有关)。音乐结构划分可以有不同的尺度,正确划分方式(groundtruth)可能取决于标注。相反,音高和节奏是比较客观的,虽然也可能有争议。深度学习技术已经在两种类型任务(指主观和客观)都取得了不错的成绩,我们也可以从两个不同的方面来解释。当我们不知道主观背后的逻辑时,我们想要设计一些有用的特征是很难的。在这种情况下我们可以利用数据驱动,端到端的学习来达成目标,更进一步,我们可以拓展我们对于这个领域的理解。比如通过研究一个训练好的网络来分析一下音乐标签。另一方面,如果逻辑是明显的,领域知识可以让我们更有效的去搭建网络。

另一个属性是决策时间尺度,也就是预测基于的单位时间长度(原文:the unit time length based on whitch each prediction is made)。例如,节奏和音调一般在一个音乐片段中是不变的,也就是说节奏估计和音调检测是有一个”长“的决策时间尺度,i.e.,时间无关问题另一方面,旋律是基于每个时间帧来预测的,每帧通常是几十毫秒,因此,旋律提取是”短“的决策时间尺度,i.e.时间相关问题。当然这个也是根据问题定义主观决定的,例如,给音乐打标签一般被认为是时间无关问题但是也可以是时间相关问题。

3.2 音频数据的表征

本节我们会学习几种在深度学习方法下使用的音频数据表征,大部分MIR领域的深度学习的方法都使用二维的数据表证而不是使用一维的。很多情况下,这两维度分别是频率和时间。

当我们使用深度学习方法去解决MIR问题时,理解各种音频数据表征的特点是很重要的。训练DNNs是一项计算密集型的任务,因此每个阶段都需要一定的优化。其中一项优化是对输入数据进行预处理,使得它的表征方式可以更有效并且高效的表达它所携带的信息,这样神经网络就可以比较容易的使用这些信息,内存使用算力使用也不会很多。

在很多情况下,二维表征是音频数据的一种有效表征方式。通过使用不同中心频率的滤波器可以将信号做分离(e.g. STFT),i.e.,信号携带的信息更加的清晰。(译者注:这里可能不好理解,不同中心频率的滤波器也就是一组滤波器,举个例子,梅尔滤波器组。DCT其实也可以理解为使用了一个中心频率是线性关系的滤波器组)

尽管二维表征可以被看作一般图片来处理,并且这类方法也取得了不错的效果,但音频的二维表征和一般图片还是有区别的。一般图片是局部相关的(locally correlated);邻近的像素更可能具有相同的颜色和亮度。在频谱图中更多的是谐波相关(harmonic correlations),相关性体现在整个频率轴,局部相关性可能没那么高。参考文章[67]和[8]通过修改二维表征方式来将注意力集中到谐波相关性上,这个超出了本文的范围,但是强烈建议去阅读以下。视觉领域物体识别一般是要求大小无关性的,但是这个要求不适用于音乐/音频相关任务。

下图是对音频内容的不同表征方式。最上面是采样点和连续波形图的一个表示。下面分别是STFT,梅尔谱,CQT和Chromagram形式。

音频信号(Audio signal)

与其它的表征方式相比,音频信号一般被称为原始音频,其它的表征方式都是通过它转换得来的。数字音频信号是由对音频时间步上的振幅采样组成的。在大部分MIR的工作中,研究者默认音频内容是数字音频信号的形式,也就排除了声学方面的影响。音频信号并不是一个很流行的选择,研究者更偏爱二维的表征,例如STFT和梅尔谱,因为从音频信号中学习需要更大的数据集。

然而,最近,一维卷积常常被用来作为一种时频变换的替代(意思是不做时域到频域的变换了,而是做一维卷积来获得特征),在对音乐打标签的工作中。

短时傅里叶变换

STFT是一种时频表征,它使用具有线性关系的中心频率来做时频变换。STFT的计算速度比其它的视频表征形式要快,原因是FFT算法使得时间复杂度从O(NN)降低到了O(Nlog(N)),相关于FFT点的数量(也就是FFT size)。

线性关系的中心频率(可以联想梅尔滤波器组来理解)在音乐分析中不常用。它们并不符合人类听觉系统对于频率的分辨率(frequency resolution,梅尔关系更符合),也不是音乐驱动的,如CQT的频率。因此STFT并不是深度学习中的常见的选择,就大小来说它的效率不如梅尔谱,就原始度来说也不如原始音频信号。

但STFT有个优点是他可以还原成原始音频信号,所以被用来对也学到的数据做声呐处理(sonification 将数据转化为声音)和源分离(比如人声分离等)。

梅尔(mel)谱

梅尔谱是专为人类听觉感知而优化的一种二维表征。相比于STFT梅尔谱在频率轴上做了压缩,所以在数据大小方面更具优势,同时还保留了感知方面的重要信息。梅尔谱只有振幅(能量)信息,所以无法逆变换到音频信号。

还有一些其它尺度与梅尔相似,基于听觉心理(psychology of hearing)。如:巴克(bark)刻度,等效矩形带宽(ERB)和伽马通滤波器组(Gammatone filters)。虽然没有在MIR的语境下对这些不同的尺度作对比,但是对于语音合成方面来说,mel/bark/ERB区别不大,在语音识别方面,mel/bark区别不大。

对于一个频率f,使用如下公式获得梅尔频率:

根据[26, 59],一些在端到端结构训练获得的kernels最终也会获得非线性的频率,类似log-scale或者mel-scale。这个与人类的感觉相吻合。说明mel频率是很适合做那些任务的,可能由于打标签是一个比较主观的任务。由于一些经验和心理学的原因,梅尔谱很适合做一些打标签,便捷检测,音头检测还有学习音乐推荐的一些特征。

Constant-Q变换(CQT)

CQT是一种二维的表征,使用对数尺度的中心频率。这个和音高的频率分布十分匹配,因此CQT主要用在音高的基频需要被精确的识别的任务中,比如:和弦的识别和转写。中心频率的计算公式如下:

其中,fminf_{min}fmin​是分析的最小频率(最低滤波器的中心频率Hz),klfk_{lf}klf​是滤波器索引,β\betaβ是每个八度分多少个滤波器

CQT的 计算复杂度比梅尔谱和STFT要高。(log-spectrograms可以作为一种替代方案,并且在钢琴转写的任务中表现比CQT还要好)

(色谱图)Chromagram

色谱图也叫做音级画像(pitch class profile),展示了在一系列音级上的能量分布,这一系列音级通常是西方音乐的十二音级(C C# D D# E E# F G G# A A# B)。我们可以把色谱图当做是CQT在评率轴上的折叠。给定一个log频率的频谱XlfX_{lf}Xlf​(例如 CQT),色谱图通过如下公式计算

其中,zzz是代表在第zzz个八度,bbb是音级的索引取值范围是[0, β\betaβ-1]。像MFCC一样,色谱图比其它表征方式做了更多的处理,它本身也可以作为特征使用。

4. MIR领域与深度神经网络

本节我们会解析一下深度学习中常用的层结构。对于每种层,先介绍一下基本的概念,然后在结合MIR语境做进一步的理解。下表是预先定义的一些符号:

N:2D表征中的通道数,F:2D表征中频率轴长度,T:2D表征中时间轴的长度
H:2D表征中卷积核高度(频率轴),W:2D表征中卷积核宽度(时间轴)
V:每层结点数量, L:网络的层数

4.1 全连接层


全连接层是深度神经网络的基本模块。全连接层的公式如下:

对于具有V个结点的输入是一个V维的向量。理论上,只要数值的解析度足够,单一结点可以包含巨大的信息量。实际应用中,每个节点(或者维度)一般代表某个方面的意义。有时候一个比较窄的层(结点数较小)可以作为表征的瓶颈(bottleneck)。很多分类和回归网络输出的维度比输入的维度要小,而隐藏层的维度介于输入和输出之间,这种设计是基于一个假设:更深的层通常产生更压缩的,更抽象的,与预测更有相关性的表征。

4.2 全连接层与音乐

在MIR领域,全连接层的一个常见用法是学习对于帧的映射如图8(在后面)中的(d1)和(d2)所示。它们都是非线性的映射但是d2的输入是多帧,这样可以包含当前帧的上下帧信息。通过对频谱图使用多层的全连接层,网络可以学会入如何将频率响应重塑成为另一个空间中的向量,而在这个空间中问题会被更容易的解决(表征变的线性可分)。例如,如果任务是音高识别,我们可以认为全连接层可以训练成一个网络,它的输出代表着不同的音高。

根据它的定义,全连接层并不能促进平移不变性或者尺度不变性。举个例子,如果STFT长度为257的一帧输入到全连接层,会被变换到另外一个V维空间的向量。这就意味着在频率上的微小平移也会产生完全不同的表征,而往往某些任务我们是需要平移不变性的。

全连接层主要是在一些早期的工作中应用,那个时候卷积网络和循环网络还并不流行。也是在某些原因(算力不够,数据量不够)下学习无法做到端到端的时候。相比音频数据,MFCC被用来做流派分类[98]和音乐相似度测量[37]上。在[51]中,一个具有全连接层的网络被用于从log-频率STFT中获得chroma特征。在[107]中,一个全连接网络被用于信号源分离(source separation,e.g.人声分离)。最近,全连接层经常在一些混合结构中使用;它们与隐马尔科夫模型结合来做和弦识别[24]和落拍(downbeat)侦测[28]。与循环层混合来做歌声转录[82]。与卷积层混合来做钢琴的转录[49],直接在倒谱和STFT上应用来做流派分类[48]

4.3 卷积层


图6: 详细的展示了卷积层,其中输入的通道是2输出的通道是3,虚线代表卷积操作(卷积核和输入局部的点乘)。

卷积层的操作可以用公式7来描述:

其中yjy^jyj,WjkW^{jk}Wjk,xkx^kxk,和bjb^jbj是二维的,上标代表了通道的索引(channel indices)。yjy^jyj是输出的第j个通道,xkx^kxk是输入的第k个通道,∗*∗是卷积操作,Wjk∈Rk×lW^{jk}\in \mathbb{R} ^{k\times l}Wjk∈Rk×l是第k个输入通道到第j个输出通道的卷积核,bjb^jbj是第j个输出通道的偏置(bias)。全部的权重(WjkW^{jk}Wjk)具有4个维度分别代表(h,l,K,Jh,l,K,Jh,l,K,J),xxx和yyy有3个维度分别代表宽高和通道数。

二维的卷积核以滑窗的形式与输入做卷积,同样的权重被用于整个输入上,这也是我们常说的权值共享(weight sharing)。这样做极大的减少了训练的参数量。

对于给定的输入,滑窗卷积的结果代表了某种局部的激活模式。这种表征叫做特征图(feature map)也就是公式7中的yyy。最终不同于全连接层或者循环层,卷积层保留了输入的空间性。

实际上,卷积计算的是输入和卷积核之间的相关关系。在训练时,卷积核学到的局部模式对于降低损失有很大用处。通过多层结构,卷积核可以学会表征一些复杂的模式。图7是一个图像分类的卷积网络可视化,可以帮助我们理解卷积网络的机制。

图 7:通过反卷积做的图像分类网络特征可视化。对于每层,左边是卷积核可视化结果,右侧是输入对左侧卷积核高度激活的对应部分。

4.3.1 下采样

卷积层常常与池化层一起使用。池化层通过使用max函数来下采样以降低特征图的大小(见图6)。使用max函数是基于一个前提:在特征图上重要的东西可以通过局部最大值来获得。由于丢弃了激活精确位置信息,这个非线性的下采样操作使得变形和平移不会造成影响。

average函数在池化层中不常用,除非是某些特殊情况下[66],在最后一层卷积层后面,加一个全局(相比滑窗而言)平均。这个全局池化层用来总结整个输入图片的特征图激活,在输入图片大小不同时比较有用。

4.4 卷积层与音乐

图8的(c1)和(c2)展示了1维和2维卷积是如何作用在频谱图上的。通过卷积层的堆叠,卷积网络可以从音乐内容中学到更复杂的模式。

图8:神经网络在MIR领域

通过对输入数据使用卷积层处理,可以观察到卷积网络的一些隐含的机制。图9展示了一些在原始音频采样上训练好的1维卷积核(音乐标签任务)[26]。卷积核学会了一些不同的基本频率。


图9:训练好的1维卷积核,输入数据是原始音频采样,网络任务是给音乐打标签

更常见的方法是在2维的时间-频率表征上面使用2维的卷积核。图10展示了一些用在梅尔谱上做音乐打标签任务的2维卷积核[15]。上面一行的3x3卷积核学会了垂直边缘检测,下面一行学会了水平边缘检测。

像在其它领域的卷积网络一样,第一层的卷积核结合起来形成更复杂的特征。例如在图11中,一个单通道的二维卷积层作用在输入上,增强了谐波的显著性。输入是个3音符CQT,通过端到端的训练,卷积核学会了水平边缘检测,这样就可以检测到3音符CQT频谱中的”粗“边。

图11: 和弦识别网络中的一个二维卷积核。右边三列可以看做一个水平边缘检测器,也就是[70]中所谓的谐波显著性放大器(harmonic saliency enhancer)

卷积核的大小决定了当前层能够精确捕捉的组件(component)的大小。解决MIR问题时,卷积核最小是多小呢?如果卷积核小于目标模式大小,当前层就无法学到有意义的表征。例如,对于一个和弦识别任务,卷积核应该足够大才能捕捉到大调和小调的区别。因此,相对大的卷积核,比如[45]中17×5中17\times 5中17×5的卷积核被用在36音符的CQT上。有个特殊的情况是在Inception模块中同一层使用不同大小的卷积核,被用来做爆款歌曲预测的任务里[118]。

第二个问题是卷积核最大可以多大?我们应该注意,卷积核内部不支持无关性(变形无关和平移无关)。因此如果有一个比较大的模式,而模式内部允许些许不同时,使用叠加的卷积层和下采样可以使得小的变形不影响大模式的识别。[80,79]有更多关于MIR研究中卷积核大小的讨论。

Max-pooling经常在MIR中使用以便获取时间无关性和频率无关性。为了预测整体输入的某个特征,需要时间无关性,所以这种下采样在深度神经网络中是有必要的。在这种情况下,我们可以先指定目标输入的大小,然后再根据经验决定池化层的细节(多少个池化层,每层的大小)。

卷积层还有个特殊的用例,是直接在原始音频信号上使用1维卷积层来学习[26]和[60]中的时频转换。这个方法也用在语音上面,卷积核学到的基频与log频率和mel频率相似。图9展示了[26]中训练的一些卷积核。注意,不像STFT的卷积核,它们不是纯的正弦波,还包含一些谐波。

卷积层在MIR领域非常流行。其中一个开拓性工作是使用深度卷积置信网络来做流派分类[58]。早期的一些工作是使用MFCC特征来做流派分来以降低计算量[62],[63]。还有很多工作是基于二维的时间-频率特征(比如: 各种频谱图)e.g., CQT来用和弦识别[45],吉他和弦识别[46],流派分类[116],转写[96]等。梅尔谱用来做边界检测[89],音头检测[90],爆款歌曲预测[118],相似度学习[68],乐器识别[39],给音乐打标签(music tagging)[26],[15],[17],[59]等。STFT用来边界检测[36],人声分离[100],和人声检测[88]。原始音频输入CNN来做音乐打标签[26],[60],合成歌声[9],合成复合音乐[112],合成音色[29]。

4.5 循环层(Recurrent layers)

循环层的循环结构可以用公式8来表示:

其中,fhf_hfh​一般是 tanh 或者 ReLU,foutf_{out}fout​可以是softmax/sigmoid等。hth_tht​是隐藏向量,保存了ttt时刻的信息。U,V,WU,V,WU,V,W是可训练的权重矩阵。为了区别使用这个公式的RNN和其它RNN的变种,我们一般叫它经典(vanilla)RNN。

一种理解循环层的方式是通过全连接层来建立循环层。如果图12中的网络按照每个时间步隔离(i.e., 如果WWW断开连接)。网络就变成了一个具有两个全连接层的前馈网络,这两个全连接层的参数分别是VVV和UUU。

图12:(a)表示一个折叠后的循环层,(b)表示展开的循环层。其中输入层/隐藏层/输出层的维度分别是3/2/2,注意 W∈R2×2W\in\mathbb{R}^{2 \times 2}W∈R2×2是时间步之间的全连接。

我们进一步假设有三对数据,其中(x∈R3,y∈R2x\in\mathbb{R}^3,y\in\mathbb{R}^2x∈R3,y∈R2),然后被喂到隔离后的网络中。在这个例子里xxx和yyy的关系是用VVV和UUU来建模的,而且这三个数据之前也不会产生关系,e.g.在t=0t=0t=0时刻的输入和ttt不等0时刻的输出无关。通过将网络用WWW连接,t=0t=0t=0时刻的输入xxx与t=0,1,2t= 0,1,2t=0,1,2时刻的输出y,y^,y,就变成用U,V,WU,V,WU,V,W建模。换句话说,网络学会了如何从前面的隐藏状态ht−1h_{t-1}ht−1​来更新记忆到当前隐藏状态hth_tht​,然后再去预测(yty_tyt​)

简而言之,循环层是对p(yt∣xt−k,...,xt)p(y_t|x_{t-k},...,x_t)p(yt​∣xt−k​,...,xt​)进行建模。这个与隐马尔科夫模型的目标相似。与基于离散状态的马尔科夫模型相比,RNN是基于连续值组成的隐藏状态的,所以可以处理更大规模的信息。

实际工作中,使用门(gate)机制改进的循环单元(recurrent units)使用更为广泛。所谓门就是一个向量相乘的节点,这个节点的输入会被减弱。有门机制的循环网络经常使用LSTM[42]和GRU[12]。在LSTM单元中,门控制了从记忆hhh中的读/写/遗忘。更进一步,时间步之间增加的连接帮助了梯度的流动,极大减轻了梯度消失的问题[5]。具有门机制的RNN在很多序列模型的问题上处于领先位置,比如机器翻译[3]和语音识别[86]以及一些MIR问题,e.g.,人声检测[61]。

有时候,RNN拥有另外一系列的隐藏节点,它们依然是通过WWW连接,但是是相反的方向。这个叫做双向RNN[93]可以对于来自过去和未来的信息都进行建模。i.e.,p(yt∣xt−k,...,xt)p(y_t|x_{t-k},...,x_t)p(yt​∣xt−k​,...,xt​)和p(yt∣xt+1,...,xt+k)p(y_t|x_{t+1},...,x_{t+k})p(yt​∣xt+1​,...,xt+k​)。最终,输出是用过去和未来输入的一个函数。

4.6 循环层与音乐(Recurrent layers and music)

由于在循环层中输入是与隐藏层全连接的,所以这个全连接层可以换成具有上下文信息输入的全连接层。图8中r1是一个多对多的循环层可以用在频谱图上,r2是多对一的循环层,可以作为最后一层。

因为循环层不具备位置不变性(shift invariance),循环层适合特征序列。这些特征可以是音乐或音频的特征,比如MFCC或者卷积层的特征图。

所有的输入按照序列做变换并相加得到一个VVV维的向量,因此它包含足够多的信息。VVV是一个超参数,需要结合情况来配置。它的初始值可以根据输入和输出的维度来定义。举例说明,假设网络学会压缩输入的大小并保留它的信息,VVV的大小可以介于输入和输出维度之间。

我们可能考虑控制循环层的长度来优化算量的消耗。比如,对于头音检测的问题,使用少量的上下帧就够了,而和弦识别就需要更长的输入。

很多time-varying(个人理解就是时间相关,对应time-invariant)MIR问题是时间对齐(time-aligned)的。i.e.,真值存在于一个固定的频率(举例理解: 每n秒有个真值),也不需要一些类似动态时间规整(dynamic time warping)的算法。这就使得它很适合利用“多对多”的循环层(图8-r1)。另一方面,类似流派分类,和标签化这样的分类问题,预测值只有一个。这种问题就很适合用“多对一”循环层。更多的细节在5.2节讨论。

对于很多MIR问题,来自未来时间步的输入有助于模型预测,因此双向(循环)值得一试。比如,头音位置可以通过头音之前和之后的音频信息扑捉到。对于尾音,片段边界,节奏(offsets/segment boundaries/beats)也是一样。

目前为止,循环层主要用在time-varying预测;例如,歌声检测[61],歌声和乐器转写[82],[96],[95],还有情绪预测[64]。对时间无关任务,有个音乐打标签算法使用了卷积层和循环层的混合结构

深度学习在音乐信息检索(MIR)方向的应用介绍(上)相关推荐

  1. 深度学习在音乐信息检索(MIR)方向的应用介绍(下)

    原文链接:A Tutorial on Deep Learning for Music Information Retriveal 深度学习在音乐信息检索(MIR)方向的应用介绍(上) 5 解决MIR问 ...

  2. 深度学习的音乐创作:回顾

    基于深度学习的音乐创作:综述 原文链接:https://arxiv.org/pdf/2108.12290.pdf 摘要 创作复杂的艺术作品(例如音乐作品)需要展现真正的创造力,而创造力取决于与音乐语言 ...

  3. 《Deep Learning Techniques for Music Generation – A Survey》深度学习用于音乐生成——书籍阅读笔记(一)Chapter 1

    <Deep Learning Techniques for Music Generation – A Survey>深度学习用于音乐生成--书籍阅读笔记(一)Chapter 1 关于这本书 ...

  4. 基于深度学习的音乐推荐系统

    ♚ 作者:沂水寒城,CSDN博客专家,个人研究方向:机器学习.深度学习.NLP.CV Blog: http://yishuihancheng.blog.csdn.net 推荐系统在我们日常生活中发挥着 ...

  5. [学习SLAM]深度学习+视觉SLAM 的可行性/方向

    时间:2019.07 作者:干磊 背景:本文统计的是2018年及以前的相关论,未涉及2019年的论文. 1,深度学习+SLAM的可行性 长期来讲,深度学习有极大可能会去替代目前SLAM技术中的某些模块 ...

  6. 基于协同过滤算法和深度学习的音乐推荐

    基于协同过滤算法和深度学习的音乐推荐 协同过滤 音乐推荐 深度学习 音乐检索 文章目录 基于协同过滤算法和深度学习的音乐推荐 Github 地址 微信小程序版实现 介绍 参考项目 技术栈 Docker ...

  7. 深度学习用途广:Nvidia工程师机智赶跑草坪上撒野的邻家喵星人

    深度学习用途广:Nvidia工程师机智赶跑草坪上撒野的邻家喵星人 2016-07-08 14:30:48 8065 次阅读 1 次推荐 稿源:cnBeta.COM 19 条评论 铲屎并不是一件轻松的差 ...

  8. [caffe]深度学习之CNN检测object detection方法摘要介绍

    [caffe]深度学习之CNN检测object detection方法摘要介绍  2015-08-17 17:44 3276人阅读 评论(1) 收藏 举报 一两年cnn在检测这块的发展突飞猛进,下面详 ...

  9. 【深度学习,NLP,LM】Alpaca-Lora ,Colab上部署与调用

    [深度学习,NLP,LM]Alpaca-Lora ,Colab上部署与调用 前言 安装环境 运行generate代码 前言 Alpaca-Lora Huggingface项目 Tloen/Alpaca ...

  10. 深度学习实战39-U-Net模型在医学影像识别分割上的应用技巧,以细胞核分割任务为例

    大家好,我是微学AI,今天给大家介绍一下深度学习实战39-U-Net模型在医学影像识别分割上的应用技巧,以细胞核分割任务为例.本文将介绍在医学影像分割领域中应用U-Net模型的方法.我们将从U-Net ...

最新文章

  1. SQLServer之创建非聚集索引
  2. 奇迹世界服务器不响应,sun-奇迹世界 目前常见问题解决方法
  3. 【赠书】拨云见日 - 深入解析Oracle TX行锁(下)
  4. 还在纠结是否入手M1 macbook?看完这篇文章再做决定也不迟!
  5. signature=0142b13a38da3ce7be8fce0d56b678af,授权系统
  6. 深度学习与计算机视觉教程(8) | 常见深度学习框架介绍(CV通关指南·完结)
  7. Django ORM 使用手册
  8. R语言之K-mean聚类分析
  9. android textview html font标签不好用
  10. ElasticSearch: 使用Java Api 操作 ES
  11. mysql execute 方法_MyEclipse------execute()使用方法
  12. 护眼仪眼部按摩器单芯片蓝牙方案开发说明
  13. 华为鸿蒙的科技话题作文800字,关于科技的话题作文3篇
  14. 0基础快速开发口袋网盘小程序
  15. 关于SaaS平台中应对多租户模式的设计
  16. FPGA数字时钟(可暂停调数,含代码)
  17. uefi怎么念_uefi和legacy是什么意思
  18. 系统迁移后无法正常开机相关心得
  19. python 列表操作
  20. mysql 多表 查询慢_详解Mysql多表联合查询效率分析及优化

热门文章

  1. linux/debian安装wps以及缺失字体,亲测可用
  2. 基因编辑最新进展2021年5月
  3. 8卡gpu服务器是8个芯片,GPU服务器 4GPU 8GPU 运算卡
  4. available()方法的使用总结
  5. AccessController的doPrivileged使用
  6. javaFX,Scene Builder引入Jfoenix
  7. 深入浅出量化对冲Alpha基金的操作
  8. oracle11g安装卡在94,winserver2008R2 安装64位 oracle 11G R2 卡在2%,求解
  9. SuperMap iDesktop常见问题解答集锦(九)
  10. ISP Pipeline 黑电平 以及 线性化