2018年1月4日星期四

从90年代的SRNN开始,纵览循环神经网络27年的研究进展

近日,来自多伦多大学和滑铁卢大学的研究者撰文介绍循环神经网络的基础知识、近期发展和面临的挑战。机器之心对该论文进行了编译介绍,重点介绍了论文第二部分循环神经网络的基础与第四部分循环神经网络架构,其中我们概览了该论文所讨论的11种RNN架构。其它部分的详细内容和推导过程请见原论文。




人工神经网络(ANN)由多层互相连接的称为人工神经元的单元构成。「浅层网络」指的是没有循环连接,且只有一个输入层、一个输出层,并至多只有一个隐藏层的 ANN。随着网络层数增加,复杂度也增加。层数或循环连接数的增加通常会增加网络的深度,从而使网络能提供多层次的数据表征以及特征提取,即「深度学习」。一般而言,这些网络由非线性的、简单的单元构成,其中更高的层提供数据的更抽象表征,并压制不需要的可变性 [1]。由于每个层的非线性构成带来的优化困难 [2],直到 2006 年出现重大研究进展之前 [2][3],关于深度网络架构的研究工作很少。结合了循环连接的 ANN 被称为循环神经网络(RNN),可以对序列数据建模,用于序列识别和预测 [4]。RNN 隐藏状态的结构以循环形成记忆的形式工作,每一时刻的隐藏层的状态取决于它的过去状态 [6]。这种结构使得 RNN 可以保存、记住和处理长时期的过去复杂信号。RNN 可以在当前时间步将输入序列映射到输出序列,并预测下一时间步的输出。


从架构设计到应用开发,关于 RNN 的文献已经有大量的论文发表。在本文中,作者重点讨论了离散时间的 RNN 和该领域的最新研究进展,并在表 1 中列出了 RNN 的长期主要进展。反向传播和梯度下降方法的开发使得训练 RNN 变得很高效,加快了开发 RNN 的实际成就 [5]。然而,对长期依赖的序列数据还存在一些挑战,例如梯度消失和梯度爆炸问题,本文将讨论这些问题。




机器之心重点介绍了第二部分循环神经网络的基础与第四部分循环神经网络的架构。该论文的第三部分重点解释了循环神经网络的训练方法,如基于梯度的方法与沿时间反向传播等,我们并不详细探讨这一部分的具体方法。后面第四部分讨论了循环神经网络的正则化方法,限于篇幅,我们也不会过多描述。


论文:Recent Advances in Recurrent Neural Networks


论文链接:http://ift.tt/2lYdsWn


循环神经网络(RNN)能够从序列和时序数据中学习特征和长期依赖关系。RNN 具备非线性单元的堆叠,其中单元之间至少有一个连接形成有向循环。训练好的 RNN 可以建模任何动态系统;但是,训练 RNN 主要受到学习长期依赖性问题的影响。本论文对 RNN 进行研究,为该领域的新人和专业人员展示多项新的进展。本文介绍了 RNN 的基础知识、近期进展和研究挑战。


图 1:简单的循环神经网络(RNN)及其沿时间 t 的展开结构。每一个箭头代表层之间单元间的全连接。为简洁起见,本图未显示偏置项。


II. 循环神经网络基础


RNN 是一类监督式机器学习模型,由人工神经元和一或多个反馈循环构成 [7]。反馈循环指时间或序列(本文以下使用「时间」)的循环周期 [8],如图 1 所示。以监督式方法训练 RNN 需要一个输入-目标对的训练数据集。其目的在于通过优化网络权重最小化输出和目标对(即损失值)的差。


A. 模型架构


简单 RNN 有三层:输入层、循环隐藏层和输出层,如图 1a 所示。输入层中有 N 个输入单元。该层的输入是一系列沿时间 t 的向量 {..., x_t−1, x_t, x_t+1, ...},其中 x_t = (x_1, x_2, ..., x_N)。全连接 RNN 中的输入单元与隐藏层中的隐藏单元连接,该连接由权重矩阵 W_IH 定义。隐藏层有 M 个隐藏单元 h_t = (h_1, h_2, ..., h_M),它们通过网络定义的循环结构沿时间彼此连接,如图 1b。使用较小非零元素的隐藏单元初始化能够提升网络的整体性能和稳定性 [9]。隐藏层将状态空间或系统的「memory」定义为:




其中 f_H(·) 是隐藏层激活函数,b_h 是隐藏单元的偏置向量。隐藏单元与输出层连接,连接权重为 W_HO。输出层有 P 个单元 y_t = (y_1, y_2, ..., y_P ),可以计算为:




其中 f_O(·) 是激活函数,b_o 是输出层的偏置向量。由于输入-目标对是沿时间的序列,因此上述步骤随着时间 t = (1, ..., T ) 重复。公式 (1) 和 (3) 展示了 RNN 由特定非线性状态公式构成,该公式沿时间迭代。在每个时间步中,隐藏状态根据输入向量预测输出。RNN 的隐藏状态是一组值的集合(除去任何外部因素的影响),该集合总结了与该网络在之前很多时间步上的状态相关的必要信息。该整合信息可定义该网络的未来行为,作出准确的输出预测 [5]。RNN 在每个单元中使用一个简单的非线性激活函数。但是,如果此类简单结构沿时间步经过良好训练,则它能够建模丰富的动态关系。


B. 激活函数


线性网络中,多个线性隐藏层充当单个线性隐藏层 [10]。非线性函数比线性函数强大,因为它们可以绘制非线性边界。RNN 中一个或多个连续隐藏层中的非线性是学习输入-目标关系的关键。

图 2 展示了一些最流行的激活函数。近期 Sigmoid、Tanh 和 ReLU 得到了更多关注。Sigmoid 函数是常见选择,它将真值归一化到 [0, 1] 区间。该激活函数常用语输出层,其中交叉熵损失函数用于训练分类模型。Tanh 和 Sigmoid 激活函数分别被定义为:


Tanh 激活函数实际上是缩放的 Sigmoid 函数,如:


ReLU 是另一个常用激活函数,向正输入值开放 [3],定义为 y(x) = max(x, 0)。


激活函数的选择主要取决于具体问题和数据的本质。例如,Sigmoid 函数适合输出区间为 [0, 1] 的网络。而 Tanh 和 Sigmoid 函数会使神经元快速饱和,并导致梯度消失。Sigmoid 的输出不以零为中心会导致不稳定的权重梯度更新。与 Sigmoid 和 Tanh 函数相比,ReLU 激活函数导致更加稀疏的梯度,并大幅加快随机梯度下降(SGD)的收敛速度 [11]。ReLU 函数的计算成本低廉,因其可通过将激活值二值化为零来实现。但是,ReLU 无法抵抗大型梯度流(gradient flow),随着权重矩阵增大,神经元可能在训练过程中保持未激活状态。


C. 损失函数


损失函数通过对比输出 y_t 和目标 z_t 之间的差距而评估了神经网络的性能,它可以形式化表达为:


该表达式对每一个时间步 [12] 上的损失进行求和而得出最终的损失函数。损失函数的挑选一般与具体问题相关,一般比较流行的损失函数包括预测实数值的欧几里德距离和 Hamming 距离,和用于分类问题 [13] 的交叉熵损失函数。


III. 训练循环神经网络


有效地训练 RNN 一直是重要的话题,该问题的难点在于网络中难以控制的权重初始化和最小化训练损失的优化算法。这两个问题很大程度上是由网络参数之间的关系和隐藏状态的时间动态而引起 [4]。本论文文献综述所展现的关注点很大程度上都在于降低训练算法的复杂度,且加速损失函数的收敛。然而,这样的算法通常需要大量的迭代来训练模型。训练 RNN 的方法包括多表格随机搜索、时间加权的伪牛顿优化算法、梯度下降、扩展 kalman 滤波(EKF)[15]、Hessian-free、期望最大化(EM)[16]、逼近的 Levenberg-Marquardt [17] 和全局优化算法。在这一章节中,本论文具体讨论了这样一些方法。


该论文具体介绍了基于梯度的方法,下表展示了 GD 算法各种变体的优势缺点,其中 N 为神经网络的结点数、O(.) 为每个数据点的复杂度:


其中 BPTT 可能是非常流行的算法,如下所示,当网络随时间推移接收到新的输入,沿时间反向传播将重写激活函数中的隐藏单元。


该论文还讨论了其它非常流行的 SGD 优化策略和二阶梯度优化,如下展示了一般动量法和 Nesterov 加速梯度法之间的差异。


如上所示,左图为一般的动量法,它相当于历史梯度方向和当前梯度方向的加权求和而得到当前最终的下降方向。而右图的 Nesterov 加速梯度法先尝试性地在累积梯度方向上前进一大步,然后再使用当前位置的梯度修正累积梯度而得到最终的下降方向。


这一部分还包含很多优化方法与策略,更详细的内容请查看原论文。


IV. 循环神经网络架构


在该论文中,作者描述了 11 种循环神经网络架构,而且每一种可能还包括一些变体,例如 LSTM 就有八种变体。但限于文章的篇幅,我们只简要介绍了这 11 种循环神经网络架构的基本概念,并且根据我们的理解和往期文章来介绍一般的 LSTM 与 GRU 结构,因此这两部分和论文中所描述的有一些不同。


A. 深度 RNN 结合多层感知机


神经网络的深层架构相比浅层架构可以指数量级高效地表征函数。虽然由于每个隐藏状态都是所有过去隐藏状态的函数,使得循环神经网络在时间上就是内在的深度网络,但是人们已证明其内在运算实际上是很浅层的 [44]。在文献 [44] 中表明,在 RNN 的转换阶段添加一个或多个非线性层可以更好地理解初始输入的潜在变化,从而提升网络的整体性能。结合了感知机层的 RNN 的深度结构可以分成三类:输入到隐藏、隐藏到隐藏,以及隐藏到输出 [44]。



图 5:几种结合多层感知机的深度循环神经网络的架构。


(1)深度输入到隐藏:其基本思想之一是将多层感知机(MLP)结构引入转换和输出阶段,分别称为深度转换 RNN 和深度输出 RNN。

(2)深度隐藏到隐藏和输出:深度 RNN 重点关注于隐藏层的构造。在隐藏层中,来自过去数据抽象和新输入的数据抽象与/或隐藏状态结构都是高度非线性的。

(3)隐藏状态的堆叠:另一种构造深度 RNN 的方法是如图 5d 所示的方式堆叠隐藏层。这种类型的循环结构可以使网络在不同的时间尺度上工作,并允许网络处理多种时间尺度的输入序列 [44]。


B. 双向 RNN(Bidirectional RNN)


传统的 RNN 在训练过程中只考虑数据的过去状态。虽然在很多应用中只考虑过去状态已经充分有效(例如语音识别),但是探索未来的状态也是很有用的 [43]。之前,人们尝试通过对输出延迟确定时间帧数,以在 RNN 的基础架构上利用未来状态作为当前预测的环境。然而,这种方法需要在所有的实现中手动优化延迟时间。而双向 RNN(BRNN)利用了过去和未来的所有可用输入序列评估输出向量 [46]。其中,需要用一个 RNN 以正向时间方向处理从开始到结束的序列,以及用另一个 RNN 处理以反向时间方向处理从开始到结束的序列,如图 6 所示。



图 6:双向 RNN 按时间展开。


C. 循环卷积神经网络


然而,RNN 中仍然缺乏在多个维度对上下文依赖关系的理解。其中最流行的网络架构使用了卷积神经网络(CNN)解决这些问题。


将循环连接整合到每个卷积层中,可以构成循环卷积神经网络(RCNN)[47]。RCNN 单元的激活值依赖于近邻的单元而随时间变化。这种方法可以整合上下文信息,对于目标识别任务很重要。这种方法可以增加模型的深度,而参数数量通过层间的权重共享保持不变。使用从隐藏层中从输出到输入的循环连接使网络可以建模标签依赖关系,并基于它的过去输出平滑输出 [48]。这种 RCNN 方法可以将大量输入上下文馈送到网络中去,同时限制模型的容量。这个系统可以用较低的推理成本建模复杂的空间依赖关系。


D. 多维循环神经网络


多维循环神经网络(MDRNN)是 RNN 的高维序列学习的另一种实现。这种网络在每个维度使用循环连接以学习数据内的关系。



图 7:二维 RNN 的序列排序的前向传递。隐藏层平面的连接是循环的。沿 x_1 和 x_2 的线展示了(从左上角开始)被访问的过去状态的扫描带。


E. 长短期记忆(LSTM)


使用传统的通过时间的反向传播(BPTT)或实时循环学习(RTTL/Real Time Recurrent Learning),在时间中反向流动的误差信号往往会爆炸(explode)或消失(vanish)。但LSTM可以通过遗忘和保留记忆的机制减少这些问题。


LSTM 单元一般会输出两种状态到下一个单元,即单元状态和隐藏状态。记忆块负责记忆各个隐藏状态或前面时间步的事件,这种记忆方式一般是通过三种门控机制实现,即输入门、遗忘门和输出门。


以下是 LSTM 单元的详细结构,其中 Z 为输入部分,Z_i、Z_o 和 Z_f 分别为控制三个门的值,即它们会通过激活函数 f 对输入信息进行筛选。一般激活函数可以选择为 Sigmoid 函数,因为它的输出值为 0 到 1,即表示这三个门被打开的程度。



图片来源于李弘毅机器学习讲义。


若我们输入 Z,那么该输入向量通过激活函数得到的 g(Z) 和输入门 f(Z_i ) 的乘积 g(Z) f(Z_i ) 就表示输入数据经筛选后所保留的信息。Z_f 控制的遗忘门将控制以前记忆的信息到底需要保留多少,保留的记忆可以用方程 c*f(z_f)表示。以前保留的信息加上当前输入有意义的信息将会保留至下一个 LSTM 单元,即我们可以用 c' = g(Z)f(Z_i) + cf(z_f) 表示更新的记忆,更新的记忆 c' 也表示前面与当前所保留的全部有用信息。我们再取这一更新记忆的激活值 h(c') 作为可能的输出,一般可以选择 tanh 激活函数。最后剩下的就是由 Z_o 所控制的输出门,它决定当前记忆所激活的输出到底哪些是有用的。因此最终 LSTM 的输出就可以表示为 a = h(c')f(Z_o)。


F. 门控循环单元(GRU)


GRU 背后的原理与 LSTM 非常相似,即用门控机制控制输入、记忆等信息而在当前时间步做出预测,表达式由以下给出:

GRU 有两个有两个门,即一个重置门(reset gate)和一个更新门(update gate)。从直观上来说,重置门决定了如何将新的输入信息与前面的记忆相结合,更新门定义了前面记忆保存到当前时间步的量。如果我们将重置门设置为 1,更新门设置为 0,那么我们将再次获得标准 RNN 模型。


为了解决标准 RNN 的梯度消失问题,GRU 使用了更新门(update gate)与重置门(reset gate)。基本上,这两个门控向量决定了哪些信息最终能作为门控循环单元的输出。这两个门控机制的特殊之处在于,它们能够保存长期序列中的信息,且不会随时间而清除或因为与预测不相关而移除。以下展示了单个门控循环单元的具体结构。


门控循环单元


1. 更新门


在时间步 t,我们首先需要使用以下公式计算更新门 z_t:

其中 x_t 为第 t 个时间步的输入向量,即输入序列 X 的第 t 个分量,它会经过一个线性变换(与权重矩阵 W(z) 相乘)。h_(t-1) 保存的是前一个时间步 t-1 的信息,它同样也会经过一个线性变换。更新门将这两部分信息相加并投入到 Sigmoid 激活函数中,因此将激活结果压缩到 0 到 1 之间。以下是更新门在整个单元的位置与表示方法。

2. 重置门

本质上来说,重置门主要决定了到底有多少过去的信息需要遗忘,我们可以使用以下表达式计算:

3. 当前记忆内容

现在我们具体讨论一下这些门控到底如何影响最终的输出。在重置门的使用中,新的记忆内容将使用重置门储存过去相关的信息,它的计算表达式为:

输入 x_t 与上一时间步信息 h_(t-1) 先经过一个线性变换,即分别右乘矩阵 W 和 U。

计算重置门 r_t 与 Uh_(t-1) 的 Hadamard 乘积,即 r_t 与 Uh_(t-1) 的对应元素乘积。因为前面计算的重置门是一个由 0 到 1 组成的向量,它会衡量门控开启的大小。例如某个元素对应的门控值为 0,那么它就代表这个元素的信息完全被遗忘掉。该 Hadamard 乘积将确定所要保留与遗忘的以前信息。

4. 当前时间步的最终记忆

在最后一步,网络需要计算 h_t,该向量将保留当前单元的信息并传递到下一个单元中。在这个过程中,我们需要使用更新门,它决定了当前记忆内容 h'_t 和前一时间步 h_(t-1) 中需要收集的信息是什么。这一过程可以表示为:

z_t 为更新门的激活结果,它同样以门控的形式控制了信息的流入。z_t 与 h_(t-1) 的 Hadamard 乘积表示前一时间步保留到最终记忆的信息,该信息加上当前记忆保留至最终记忆的信息就等于最终门控循环单元输出的内容。


G. 记忆网络


卷积 RNN 可用于储存过去输入特征的记忆容量较小 [71] [72]。记忆神经网络(MemNN)利用成功的学习方法和可读、可写的存储器进行推断。MemNN 是一个对象数组,包括输入、响应、泛化和输出特征图 [71] [73]。它将输入转换成内部特征表示,然后根据新的输入更新记忆。之后使用输入和更新后的记忆计算输出特征,并将其解码来生成输出 [71]。使用 BPTT 训练该网络并不简单,每一层都需要监督 [74]。

循环记忆网络(RMN)利用 LSTM 和 MemNN [75]。RMN 中的记忆模块采用 LSTM 的隐藏状态,并使用注意力机制将它和最近的输入进行对比。RMN 算法分析已训练模型的注意力权重,并按时间从 LSTM 的保留信息中提取知识 [75]。

H. 结构受限循环神经网络

另一个解决梯度消失问题的模型是结构受限循环神经网络(structurally constrained recurrent neural network,SCRN)。这种网络基于隐藏状态在训练过程中快速变化的观察现象而设计,如图 12 所示 [6]。在这种方法中,SCRN 结构通过添加等价于单位长期依赖性关系的特定循环矩阵进行扩展。


图 12:带有语境特征(更长记忆)的循环神经网络


I. 酉循环神经网络


减缓梯度消失与梯度爆炸的一个简单方法是使用 RNN 中的酉矩阵(unitary matrices)。梯度消失与梯度爆炸问题归因于隐藏到隐藏权重矩阵的特征值之一的偏离。因此,为了防止这些特征值偏离,可用酉矩阵取代网络中的一般矩阵。


J. 门控正交循环单元(Gated Orthogonal Recurrent Unit)


门控正交循环单元使用正交矩阵取代隐藏状态循环矩阵(loop matrix),并引入了对 ReLU 激活函数的增强,使得它能够处理复数值输入 [77]。这种单元能够使用酉矩阵捕捉数据的长期依赖关系,同时还能利用 GRU 架构中的遗忘机制。


k. 层级子采样循环神经网络


层级子采样循环神经网络(HSRNN) 旨在通过使用固定的窗口大小进行每个层级的子采样,从而更好地学习长序列 [78]。训练这种网络遵循常规 RNN 训练的流程,然后根据每个层级的窗口大小进行略微修改。


以上是循环神经网络的 11 中架构,这一部分其实有详细的解释,但我们并没有深入讨论。该论文后面还讨论了 RNN 中的正则化技术,包括 L1 和 L2 正则化、Dropout、激活值稳定归一化和其它正则化方法。我们只是简要介绍了该论文的基本结构与概念,很多详细的推导与实现都需要读者深入阅读原论文。尽管如此,但本文从 RNN 的基础到循环架构还是全面概述了近年来 RNN 的研究与进步。

]]> 原文: http://ift.tt/2lW3O6g
RSS Feed

机器知心

IFTTT

MIT与Facebook提出SLAC:用于动作分类和定位的稀疏标记数据集

近日,MIT 与 Facebook 共同提出了用于动作分类和定位的大规模视频数据集的标注方法,新的框架平均只需 8.8 秒就能标注一个剪辑,相比于传统的标注过程节省了超过 95% 的标注时间,继而证明了该数据集可以有效预训练动作识别模型,经过微调后能显著提高在较小规模数据集上的最终评估度量。
  • 数据集链接:http://ift.tt/2lmCNJd

图像分类和目标检测领域近年来取得了重大的平行进展。可以认为,这些进展归功于数据集的质量提高和数量增长,进而逐步成功地应用到了更复杂的学习模型中。在图像分类中,我们有从 Caltech101(2004,只有 9146 个样本)到 ImageNet(2011,包含 120 万个样本)这样的数据集。在目标检测中,尽管收集边界框信息所需的额外人类标注成本提高了,但也出现了训练集规模逐渐扩展的相似趋势。Pascal VOC(2007)只包含 1578 个样本,而最近提出的 COCO 数据集包含超过 20 万张图像和 50 万个目标实例标注。


在视频领域,动作分类和动作定位的数据集的规模差距有逐渐扩大的趋势。几年前提出的动作分类数据集包含几千个样本(HMDB51 有 6849 部视频,UCF101 有 13000 部视频,Hollywood2 有 3669 部视频),而最近的基准将数据集规模提高了两个量级(Sports1M 包含超过 100 万部视频,Kinetics 包含 30 万 6 千部视频)。但是动作定位的数据集并没有同等的增长速度。THUMOS 在 2014 年提出,包含 2700 部修整过的(trimmed)视频和 1000 部未修整的视频,以及定位标注。而如今最大规模的动作定位数据集相比 THUMOS 仅扩大了一点。例如,ActivityNet 包含 2 万部视频和 3 万个标注,AVA 包含 5 万 8 千个剪辑,Charade 包含 6 万 7 千个视频片段。我们在表 1 中给出了不同视频数据集的细节对比。



表 1:SLAC 和其它视频数据集的对比。注意,Sports1M 的标注通过分析和视频相关的文本元数据自动地生成,因此是不准确的。


为什么动作定位数据集的规模会比目标检测数据集小得多?为什么动作定位数据集的规模仍然比动作分类数据集小一个量级?在本文中,作者提出了两个猜想。首先,在视频上构建时间标注是很费时的。根据我们在专业标注员上做的实验,在视频中手工标注动作的起始和结束需要花费视频长度的 4 倍时间。为了给出准确的时间标注,标注员不仅需要观看整个视频序列,还需要来回重播视频的几个部分以寻找确定的边界。其次,动作标注的时间边界通常是模棱两可的。虽然目标边界由其物理延展所定义,但由于人类运动的平滑连续性以及动作构成定义的缺乏,动作的时间变化边界通常是模糊的。


在本文中,作者提出将时间标注任务改成更高效和更低模糊性的形式。即从每个视频中采样少量的短时剪辑提供给标注员。他们使用了一种主动学习(active learning)算法,以选择一个简单剪辑和几个硬剪辑用于标注。然后标注员需要确定这些剪辑中是否包含假定的动作。实验表明提供二值的「是/否」回答对于标注员来说更快更简单。该方法相比传统的观看整个视频并手工标注动作边界的方法节省了超过 95% 的时间。极少的人类干预允许他们构建包含高质量连续标注的大规模数据集。虽然他们的方法仅仅提高了标注剪辑的稀疏集合的质量,作者表明由这样的标注监督的模型在动作分类和动作定位任务中都获得了优越的泛化性能。


对于动作分类,可以利用该数据集的大规模特性预训练视频模型。作者表明通过在公认的动作分类基准数据集(UCF101、HMDB51 和 Kinetics)上微调这些预训练模型,得到的结果显著优于从零开始训练。在 Kinetics、UCF101 和 HMDB51 基准数据集上,他们分别将基于 ResNet 的 3D 卷积网络基线结果提高了 2.0%、20.1% 和 35.4%。作者还证明在 SLAC 上预训练相比在 Sports1M 或 Kinetics 上预训练更加有效。Sports-1M 的标注由一个标签预测算法生成,不可避免会引入显著的噪声。此外,Sports1M 的视频长度平均超过 5 分钟,而标签预测的动作可能仅在整个视频的很小一部分时间中发生。这为学习良好的视频表征以进行动作分类带来了大量的困难。和 Kinetics 相比,SLAC 包含了近 6 倍的剪辑标注(175 万 vs 30 万 5 千),这可能是在该基准数据集上训练的深度学习模型拥有优越泛化性能的原因。


最后,作者表明 SLAC 中的稀疏剪辑标注也可以用于预训练动作定位模型,并可以在每一帧给出密集型的预测。在 THUMOS 挑战赛和 ActivityNet-v1.3 数据集上,他们分别将基线模型的 mAP 值提升了 8.6% 和 2.5%。



图 1:获得 SLAC 数据的收集过程。



表 7:在 SLAC 上预训练的 Res3D-34 模型与在 UCF101、HMDB51 和 Kinetics 上训练的当前最佳模型的对比。



表 8:在不同数据集上预训练的模型以及当前最佳的模型,在 THUMOS14 测试集上的动作定位性能对比。


论文:SLAC: A Sparsely Labeled Dataset for Action Classification and Localization




论文链接:http://ift.tt/2C9lx5j


摘要:本文提出了一种从不受限的、真实的网络数据中创建用于动作分类和定位的大规模视频数据集的过程。我们创建了一个新的视频基准数据集 SLAC(Sparsely Labeled ACtions),该基准数据集由超过 52 万个未修整的视频和包含 200 种动作的 175 万个剪辑标注构成,进而证明了该过程的可扩展性。使用我们提出的框架平均只需要 8.8 秒就可以标注一个剪辑。这相比于传统的手工修整和定位动作的过程节省了超过 95% 的标注时间。我们的方法通过自动识别硬剪辑(即包含一致的动作,但不同的动作分类器会得到不同的预测结果)可以显著地减少人类标注数。人类标注者可以在几秒内辨别出这样的剪辑是否真正包含假定的动作,从而可以用很小的代价为信息丰富的样本生成标签。本文证明了我们的大规模数据集可以有效地预训练动作识别模型,经过微调后可以显著提高在较小规模基准数据集上的最终评估度量。在 Kinetics、UCF-101 和 HMDB-51 上使用 SLAC 数据集预训练的模型可以超越从零开始训练的基线模型,在使用 RGB 图像作为输入时,这三个预训练模型的 top-1 准确率分别提高了 2.0%、20.1% 和 35.4%。此外,我们还提出了一种简单的过程,它通过利用 SLAC 中的稀疏标签预训练动作定位模型。在 THUMOS14 和 ActivityNet-v1.3 基准上,我们的定位模型分别提高了 8.6% 和 2.5% 的基线模型 mAP 值。


]]> 原文: http://ift.tt/2CXEiWE
RSS Feed

机器知心

IFTTT

视网膜眼底图像预测心脏病风险:Nature综述深度学习在生物医疗中的新应用

生物医疗是机器学习技术应用对接的重要领域之一。近日,Nature 报道了谷歌运用深度学习技术(主要是卷积神经网络)在该领域取得的新突破。谷歌通过分析眼球的视网膜图像,可以预测一个人的血压、年龄和吸烟状况,而且初步研究表明,这项技术在防范心脏病发作上很有成效。深度学习技术正改变着生物医疗学家处理分析图像的方式,甚至有助于发现从未触及的现象,有望开辟一条新的研究道路。


眼睛通常被认为是心灵的窗口——但是谷歌研究者却将其看作人体健康的指示器,他们正借助深度学习技术分析眼球的视网膜图像来预测一个人的血压、年龄和吸烟状况。谷歌的计算机收集视网膜血管信息,并且一项初步研究表明机器可以使用这些信息预测一个人是否有心脏病发作的风险。


这项研究依赖于一种称为卷积神经网络的深度学习算法,它正在改变生物学家分析图像的方式。科学家正使用该方法寻找基因组突变,并预测单细胞布局中的变异。谷歌的这一方法在上年 8 月的预印版中已有所描述(R. Poplin et al. http://ift.tt/2CUDTnK


谷歌研究院的工程学主管 Philip Nelson 说:「从前把机器学习技术应用到生物学领域并不现实,现在可以了;更令人兴奋的是,机器还可以看到人之前无法发现的东西。」


卷积神经网络允许计算机高效而全息地处理图像,而无需分割它。借助于算力与存储的巨大提升,该方法最初在 2012 年左右初显成效;比如,Facebook 利用这类深度学习技术识别图像中的人脸。但是科学家却努力把神经网络应用到生物学,部分原因是由于领域之间的文化区别。谷歌母公司 Alphabet 旗下的生物科技公司 Calico 的首席计算官 Daphne Koller 说:「一群聪明的生物学家和一群同样聪明的计算机科学家出现在一个房间,他们会以两种截然不同的语言和思维方式彼此交流。」


科学家同样也不得不识别何种研究可被执行,研究使用的神经网络须经过大型数据集的训练方可做出预测。当谷歌想要使用深度学习发现基因组突变时,科学家不得不把 DNA 字母链转化为计算机可识别的图像,接着他们在 DNA 片段上训练神经网络,这些片段已与参考基因组对齐,并且其突变已知。最终的结果是 DeepVariant,该工具发行于上年 12 月,可发现 DNA 序列上的小变异。至少在测试中,DeepVariant 的表现与传统工具一样好。


在位于西雅图的艾伦研究所中,细胞生物学家正在使用卷积神经网络将光学显微镜捕获的细胞平坦灰色图像转换成 3D 图像,其中一些细胞的细胞器被标记为彩色。这种方法免去了细胞染色的需要——这一过程需要很多时间和复杂的实验室设备,还可能会损坏细胞。上个月,该研究小组提交的论文中详述了仅使用少量数据(如细胞轮廓),来预测更多细胞部分的形态和位置的技术细节(G. R. Johnson et al.Preprint,bioRxiv http://doi.org/chwv; 2017)


「现在我们看到的是机器学习可以使用图像来完成生物学任务,」Broad Institute of MIT and Harvard 图像平台负责人 Anne Carpenter 说道。在 2015 年,她的跨学科团队开始使用卷积神经网络来处理细胞图像;现在,Carpenter 说道,神经网络正在处理研究中心内大约 15% 的图像数据。她认为这种方法将成为该中心在未来几年内的主要数据处理方式。


其他人则对使用卷积神经网络探索微妙的生物学现象,进而提出此前无法想象的问题而感到兴奋。「科学界最有趣的短语不是『找到了!』而是『这很奇怪——发生了什么?』」Nelson 说道。


「这样的偶然发现可以推动疾病研究,」艾伦研究所的执行董事 Rick Horowitz 说道。「如果深度学习可以找出单个细胞中微妙的癌化征兆,它就可以帮助我们改进肿瘤分类,这又可能带来癌细胞传播的新理论。」


生物学界的其他机器学习拥趸已经将目光投向了新的前沿领域,现在,卷积神经网络正在用于图像处理。「图像非常重要,化学和分子数据也同样重要,」德国环境健康研究中心计算生物学家 Alex Wolf 说道。Wolf 希望神经网络最终能够分析基因表达。「我认为在未来几年里这类技术会出现很大的突破,」他说道,「从而让生物学家能够更广泛地使用神经网络技术。」


论文:Predicting Cardiovascular Risk Factors from Retinal Fundus Photographs using Deep Learning




论文链接:http://ift.tt/2EMFiNJ


摘要:传统上,医学发现是通过观察关联性,随后设计试验验证假设得出的。但是,在真实数据中特征、纹理、颜色、数值、形态等因素在图像中观察和量化出关联非常困难。在本文中,我们使用深度学习,一种可以自行学会特征的机器学习技术,来探索视网膜眼底图像中的新知识。通过来自 284,335 名患者的数据,我们训练出了一个模型,同时又经过了来自 999 名患者,12,026 份独立数据验证集的验证,我们的算法可以预测出此前被认为在视网膜眼底图像里无法预测的心血管风险指标,如年龄(3.26 岁以内)、性别(0.97AUC)、吸烟状况(0.71AUC)、HbA1c(1.39% 以内)、收缩压(11.23mmHg 以内),以及主要不良心脏事件(0.70AUC)。我们进一步证明,该模型可用于生成解剖学上多种类型的分析预测,如视神经盘和血管,这为未来的研究打开了新路。


原文链接:http://ift.tt/2EPHjbO

]]> 原文: http://ift.tt/2CXEghu
RSS Feed

机器知心

IFTTT

图灵奖得主Judea Pearl:机器学习的理论局限性与因果推理的七大特性

近日,有越来越多的学者正在探讨机器学习(和深度学习)的局限性,并试图为人工智能的未来探路,纽约大学教授 Gary Marcus 就对深度学习展开了系统性的批判。此前,图灵奖获得者,UCLA 教授 Judea Pearl 题为《Theoretical Impediments to Machine Learning with Seven Sparks from the Causal Revolution》的论文中,作者就已探讨了当前机器学习存在的理论局限性,并给出了面向解决这些问题,来自因果推理的七个启发。Pearl 教授在 NIPS 2017 系列活动中对本文进行了讨论,随后,他也对一些人们关心的问题进行了解答。




论文地址:http://ift.tt/2ALIdVv


当前的机器学习几乎完全是统计学或黑箱的形式,从而为其性能带来了严重的理论局限性。这样的系统不能推断干预和反思,因此不能作为强人工智能的基础。为了达到人类级别的智能,学习机器需要现实模型(类似于因果推理的模型)的引导。为了展示此类模型的关键性,我将总结展示 7 种当前机器学习系统无法完成的任务,并使用因果推理的工具完成它们。



图 1:因果关系的类型


因果推理模型的 7 种特性


考虑以下 5 个问题:


  • 给定的疗法在治疗某种疾病上的有效性?
  • 是新的税收优惠导致了销量上升吗?
  • 每年的医疗费用上升是由于肥胖症人数的增多吗?
  • 招聘记录可以证明雇主的性别歧视罪吗?
  • 我应该放弃我的工作吗?


这些问题的一般特征是它们关心的都是原因和效应的关系,可以通过诸如「治疗」、「导致」、「由于」、「证明」和「我应该」等词识别出这类关系。这些词在日常语言中很常见,并且我们的社会一直都需要这些问题的答案。然而,直到最近也没有足够好的科学方法对这些问题进行表达,更不用说回答这些问题了。和几何学、机械学、光学或概率论的规律不同,原因和效应的规律曾被认为不适合应用数学方法进行分析。


这种误解有多严重呢?实际上仅几十年前科学家还不能为明显的事实「mud does not cause rain」写下一个数学方程。即使是今天,也只有顶尖的科学社区能写出这样的方程并形式地区分「mud causes rain」和「rain causes mud」。


过去三十年事情已发生巨大变化。一种强大而透明的数学语言已被开发用于处理因果关系,伴随着一套把因果分析转化为数学博弈的工具。这些工具允许我们表达因果问题,用图和代数形式正式编纂我们现有的知识,然后利用我们的数据来估计答案。进而,这警告我们当现有知识或可获得的数据不足以回答我们的问题时,暗示额外的知识或数据源以使问题变的可回答。


我把这种转化称为「因果革命」(Pearl and Mackenzie, 2018, forthcoming),而导致因果革命的数理框架我称之为「结构性因果模型」(SCM)。


SCM 由三部分构成:


  1. 图模型
  2. 结构化方程
  3. 反事实和介入式逻辑


图模型作为表征知识的语言,反事实逻辑帮助表达问题,结构化方程以清晰的语义将前两者关联起来。


接下来介绍 SCM 框架的 7 项最重要的特性,并讨论每项特性对自动化推理做出的独特贡献。


1. 编码因果假设—透明性和可试性


图模型可以用紧凑的格式编码因果假设,同时保留透明性和可试性。其透明性使我们可以了解编码的假设是否可信(科学意义上),以及是否有必要添加其它假设。可试性使我们(作为人类或机器)决定编码的假设是否与可用的数据相容,如果不相容,分辨出需要修改的假设。利用 d-分离(d-separate)的图形标准有助于以上过程的执行,d-分离构成了原因和概率之间的关联。通过 d-分离可以知道,对模型中任意给定的路径模式,哪些依赖关系的模式才是数据中应该存在的(Pearl,1988)。


2. do-calculus 和混杂控制


混杂是从数据中提取因果推理的主要障碍,通过利用一种称为「back-door」的图形标准可以完全地「解混杂」。特别地,为混杂控制选择一个合适的协变量集合的任务已被简化为一种简单的「roadblocks」问题,并可用简单的算法求解。(Pearl,1993)

为了应对「back-door」标准不适用的情况,人们开发了一种符号引擎,称为 do-calculus,只要条件适宜,它可以预测策略干预的效应。每当预测不能由具体的假设确定的时候,会以失败退出(Pearl, 1995; Tian and Pearl, 2002; Shpitser and Pearl, 2008)。


3. 反事实算法


反事实分析处理的是特定个体的行为,以确定清晰的特征集合。例如,假定 Joe 的薪水为 Y=y,他上过 X=x 年的大学,那么 Joe 接受多一年教育的话,他的薪水将会是多少?

在图形表示中使用反事实推理是将因果推理应用于编码科学知识的非常有代表性的研究。每一个结构化方程都决定了每一个反事实语句的真值。因此,我们可以解析地确定关于语句真实性的概率是不是可以从实验或观察研究(或实验加观察)中进行估计(Balke and Pearl, 1994; Pearl, 2000, Chapter 7)。


人们在因果论述中特别感兴趣的是关注「效应的原因」的反事实问题(和「原因的效应」相对)。(Pearl,2015)


4. 调解分析和直接、间接效应的评估


调解分析关心的是将变化从原因传递到效应的机制。对中间机制的检测是生成解释的基础,且必须应用反事实逻辑帮助进行检测。反事实的图形表征使我们能定义直接和间接效应,并确定这些效应可从数据或实验中评估的条件(Robins and Greenland, 1992; Pearl, 2001; VanderWeele, 2015)


5. 外部效度和样本选择偏差


每项实验研究的有效性都需要考虑实验和现实设置的差异。不能期待在某个环境中训练的模型可以在环境改变的时候保持高性能,除非变化是局域的、可识别的。上面讨论的 do-calculus 提供了完整的方法论用于克服这种偏差来源。它可以用于重新调整学习策略、规避环境变化,以及控制由非代表性样本带来的偏差(Bareinboim and Pearl, 2016)。


6. 数据丢失


数据丢失的问题困扰着实验科学的所有领域。回答者不会在调查问卷上填写所有的条目,传感器无法捕捉环境中的所有变化,以及病人经常不知为何从临床研究中突然退出。对于这个问题,大量的文献致力于统计分析的黑箱模型范式。使用缺失过程的因果模型,我们可以形式化从不完整数据中恢复因果和概率的关系的条件,并且只要条件被满足,就可以生成对所需关系的一致性估计(Mohan and Pearl, 2017)。


7. 挖掘因果关系


上述的 d-分离标准使我们能检测和列举给定因果模型的可测试推断。这为利用不精确的假设、和数据相容的模型集合进行推理提供了可能,并可以对模型集合进行紧凑的表征。人们已在特定的情景中做过系统化的研究,可以显著地精简紧凑模型的集合,从而可以直接从该集合中评估因果问询。


NIPS 2017 研讨会 Q&A


我在一个关于机器学习与因果性的研讨会(长滩 NIPS 2017 会议之后)上发表了讲话。随后我就现场若干个问题作了回应。我希望从中你可以发现与博客主题相关的问题和回答。

一些人也想拷贝我的 PPT,下面的链接即是,并附上论文:


  • http://ift.tt/2ALIdVv
  • NIPS 17 – What If? Workshop Slides (PDF)(http://ift.tt/2CIrKFB
  • NIPS 17 – What If? Workshop Slides (PPT [zipped])(http://ift.tt/2CIrKFB


问题 1:「因果革命」是什么意思?


回答:「革命」是诗意用法,以总结 Gary King 的奇迹般的发现:「在过去几十年里,对于因果推断的了解比以前所有历史记载的总和还要多」(参见 Morgan 和 Winship 合著的书的封面,2015)。三十年之前,我们还无法为「Mud does not

cause Rain」编写一个公式;现在,我们可以公式化和评估每一个因果或反事实陈述。


问题 2:由图模型产生的评估与由潜在结果的方法产生的评估相同吗?


回答:是的,假设两种方法开始于相同的假设。图方法(graphical approach)中的假设在图中被展示,而潜在结果方法(potential outcome approach)中的假设则通过使用反事实词汇被审查者单独表达。


问题 3:把潜在的结果归因于表格个体单元的方法似乎完全不同于图方法中所使用的方法。它们的区别是什么?


回答:只在有可条件忽略的特定假设成立的情况下,归因才有效。表格本身并未向我们展示假设是什么,其意义是什么?为了搞明白其意义,我们需要一个图,因为没有人可在头脑中处理这些假设。流程上的明显差异反映了对假设可见的坚持(在图框架中),而不是使其隐藏。


问题 4:有人说经济学家并不使用图,因为其问题不同,并且也没能力建模整个经济。你同意这种解释吗?


回答:不同意!从数学上讲,经济问题与流行病学家(或其他科学家)面临的问题并无不同,对于后者来讲,图模型已经成为了第二语言。此外,流行病学家从未抱怨图迫使其建模整个人体解剖结构。(一些)经济学家中的图规避(graph-avoidance)是一种文化现象,让人联想到 17 世纪意大利教会天文学家避开望远镜。底线:流行病学家可以判断他们的假设的合理性——规避掉图的经济学家做不到(我提供给他们很多公开证明的机会,并且我不责怪他们保持沉默;没有外援,这个问题无法被处理)。


问题 5:深度学习不仅仅是盛赞曲线拟合?毕竟,曲线拟合的目标是最大化拟合,同时深度学习中很多努力也在最小化过拟合。


回答:在你的学习策略中不管你使用何种技巧来最小化过拟合或其他问题,你依然在优化已观察数据的一些属性,同时不涉及数据之外的世界。这使你立即回到因果关系阶梯的第一阶段,其中包含了第一阶段要求的所有限制。


原文链接:http://ift.tt/2D2cH6c

]]> 原文: http://ift.tt/2qsJNtI
RSS Feed

机器知心

IFTTT

简述迁移学习在深度学习中的应用

本文介绍了迁移学习的基本概念,以及该方法在深度学习中的应用,引导构建预测模型的时候使用迁移学习的基本策略。


迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。


深度学习中在计算机视觉任务和自然语言处理任务中将预训练的模型作为新模型的起点是一种常用的方法,通常这些预训练的模型在开发神经网络的时候已经消耗了巨大的时间资源和计算资源,迁移学习可以将已习得的强大技能迁移到相关的的问题上。


读完本文,你将学会如何使用迁移学习来加速训练过程,提升深度模型的性能。


读完本文之后,你会了解以下内容:


  • 什么是迁移学习?如何使用它?
  • 迁移学习在深度学习中的简单例子。
  • 什么时候可以在你自己的预测模型问题中使用迁移学习。


我们开始吧




什么是迁移学习?


迁移学习是一种机器学习的方法,指的是一个预训练的模型被重新用在另一个任务中。


迁移学习和域适应指的是在一种环境中学到的知识被用在另一个领域中来提高它的泛化性能。——《深度学习》,第 526 页


迁移学习与多任务学习以及概念飘移这些问题相关,它不是一个专门的机器学习领域。


然而,迁移学习在某些深度学习问题中是非常受欢迎的,例如在具有大量训练深度模型所需的资源或者具有大量的用来预训练模型的数据集的情况。仅在第一个任务中的深度模型特征是泛化特征的时候,迁移学习才会起作用。


在迁移学习中,我们首先在一个基础数据集和基础任务上训练一个基础网络,然后我们再微调一下学到的特征,或者说将它们迁移到第二个目标网络中,用目标数据集和目标任务训练网络。如果特征是泛化的,那么这个过程会奏效,也就是说,这些特征对基础任务和目标任务都是适用的,而不是特定的适用于某个基础任务。——论文《How transferable are features in deep neural networks?》(http://ift.tt/2EYlwz3


深度学习中的这种迁移被称作归纳迁移。就是通过使用一个适用于不同但是相关的任务的模型,以一种有利的方式缩小可能模型的搜索范围。



归纳学习的解释


如何使用迁移学习


你可以在自己的预测模型问题上使用迁移学习。


以下是两个常用的方法:

  1. 开发模型的方法
  2. 预训练模型的方法


开发模型的方法


  1. 选择源任务。你必须选择一个具有丰富数据的相关的预测建模问题,原任务和目标任务的输入数据、输出数据以及从输入数据和输出数据之间的映射中学到的概念之间有某种关系,
  2. 开发源模型。然后,你必须为第一个任务开发一个精巧的模型。这个模型一定要比普通的模型更好,以保证一些特征学习可以被执行。
  3. 重用模型。然后,适用于源任务的模型可以被作为目标任务的学习起点。这可能将会涉及到全部或者部分使用第一个模型,这依赖于所用的建模技术。
  4. 调整模型。模型可以在目标数据集中的输入-输出对上选择性地进行微调,以让它适应目标任务。


预训练模型方法


  1. 选择源模型。一个预训练的源模型是从可用模型中挑选出来的。很多研究机构都发布了基于超大数据集的模型,这些都可以作为源模型的备选者。
  2. 重用模型。选择的预训练模型可以作为用于第二个任务的模型的学习起点。这可能涉及到全部或者部分使用与训练模型,取决于所用的模型训练技术。
  3. 调整模型。模型可以在目标数据集中的输入-输出对上选择性地进行微调,以让它适应目标任务。


第二种类型的迁移学习在深度学习领域比较常用。


深度学习中使用迁移学习的例子


下面用两个常见的例子具体介绍一下深度学习模型中的迁移学习。


使用图像数据进行迁移学习


在使用图像作为输入的预测建模问题中应用迁移学习是很常见的,其中使用图像或视频作为输入。


对于这种类型的问题而言,使用为大规模的挑战性图像数据集预训练的模型是很常见的做法,例如 ImageNet(1000 类图像分类挑战赛的数据集)。


为这个竞赛开发模型的研究组织通常会将最终模型发布出来,并且具备重新使用的许可。这些模型的训练一般会耗费几天到几星期不等的时间,这取决于所用的硬件环境。


这些模型可以直接下载到,它们将图像作为输入。


以下是这种类型的模型的三个例子:


  • 牛津 VGG 模型(http://ift.tt/2EXQWVX
  • 谷歌 Inception 模型(http://ift.tt/2E8F56e
  • 微软 ResNet 模型(http://ift.tt/2EYlWWb


可以在 Caffe Model Zoo(http://ift.tt/2E9GXfb


这个方法是有效的,因为大量的图片在这个模型上进行训练,需要模型能够预测出相对比较多的图片类型,反过来,这需要模型能够有效地学习从图片中提取特征,以较好地解决这个问题。

在斯坦福大学的课程《Convolutional Neural Networks for Visual Recognition》(视觉识别中的卷积神经网络)中,作者特别提醒,要仔细选择将预训练模型在多大程度上利用到新模型中。


卷积神经网络的前面几层提取到的特征更泛化,后面层提取到的特征与原始数据集更相关。——迁移学习,CS231 卷积神经网络视觉识别课程 (http://ift.tt/1Rim0y7)


语言数据中的迁移学习


在以文本作为输入-输出的自然语言处理任务中,使用迁移学习是很常见的。


对于这类问题,首先会使用词向量(Word embedding)将单词映射到连续的高维空间,在这个高维空间中,意思相近的不同单词具有相似的向量表征。


目前已经有学习这些分散词表征的高效算法,并且研究组织经常在大规模文本语料库上基于许可 license 发布预训练模型。


这类例子包括:


  • 谷歌的 word2vec 模型(http://ift.tt/2E9H1vr
  • 斯坦福的 GloVe 模型(http://ift.tt/2xEwhBs


这些分立词表征的模型可以在上述地址下载,并且结合使用在将单词表征作为输入或者生成单词作为输出的深度语言学习模型中。


Yoav Goldberg 在他的书中提醒道:


..... 你可以下载到这些基于特大数量的文本训练得到的预训练词向量...... 但是,训练方法和本质语料库的不同对结果表征有着严重的影响,并且可以获取的预训练表征可能不是你的实际案例中的最佳选择。——《Deep Learning for Natural Language Processing》(自然语言处理的深度学习方法),2017,第 135 页


什么时候使用迁移学习?


迁移学习是一种优化,是一种节省时间或者得到更好性能的捷径。


通常而言,在模型经过开发和测试之前,并不能明显地发现使用迁移学习带来的性能提升。


Lisa Torrey 和 Jude Shavlik 在他们关于迁移学习的章节中描述了使用迁移学习的时候可能带来的三种益处:


  1. 更高的起点。在微调之前,源模型的初始性能要比不使用迁移学习来的高。
  2. 更高的斜率。在训练的过程中源模型提升的速率要比不使用迁移学习来得快。
  3. 更高的渐进。训练得到的模型的收敛性能要比不使用迁移学习更好。


迁移学习能够改善学习的三种方式


理想情况下,在一个成功的迁移学习应用中,你会得到上述这三种益处。


如果你能够发现一个与你的任务有相关性的任务,它具备丰富的数据,并且你也有资源来为它开发模型,那么,在你的任务中重用这个模型确实是一个好方法,或者(更好的情况),有一个可用的预训练模型,你可以将它作为你自己模型的训练初始点。


在一些问题上,你或许没有那么多的数据,这时候迁移学习可以让你开发出相对不使用迁移学习而言具有更高性能的模型。


对源数据和源模型的选择是一个开放问题,可能需要领域专家或者实际开发经验。


延伸阅读


如果你想进一步了解相关内容,这一部分给出了更多关于这个主题的学习资源。


书籍


  • 深度学习,2016(http://amzn.to/2fwdoKR)
  • 自然语言处理的神经网络方法,2017(http://amzn.to/2fwTPCn)


论文


  •  迁移学习综述,2010(http://ift.tt/2EYlXtd
  • 机器学习应用研究手册,第 11 章:迁移学习(http://amzn.to/2fgeVro)
  • 深度神经网络中的特征具有怎么样的可迁移性?(http://ift.tt/2EYlwz3


预训练模型


  • 牛津 VGG 模型(http://ift.tt/2EXQWVX
  • 谷歌 inception 模型(http://ift.tt/2E8F56e
  • 微软 ResNet 模型(http://ift.tt/2EYlWWb
  • 谷歌 Word2vec 模型(http://ift.tt/2E9H1vr
  • 斯坦福 GloVe 模型(http://ift.tt/2xEwhBs
  • Caffe 模型库 Model Zoo(http://ift.tt/2E9HzRM


文章


  • 迁移学习维基百科(http://ift.tt/2EY8kdd
  • 迁移学习——机器学习的下一个前沿,2017(http://ift.tt/2E9H7TP
  • 迁移学习(CS231,卷积神经网络视觉识别)(http://ift.tt/2EYio6c
  • Quora 话题:迁移学习是如何起作用的?(http://ift.tt/2E9H9Lr;
]]> 原文: http://ift.tt/2EYlyqF
RSS Feed

机器知心

IFTTT

LangChain 彻底重写:从开源副业到独角兽,一次“核心迁移”干到 12.5 亿估值 -InfoQ 每周精要No.899期

「每周精要」 NO. 899 2025/10/25 头条 HEADLINE LangChain 彻底重写:从开源副业到独角兽,一次"核心迁移"干到 12.5 亿估值 精选 SELECTED 1000 行代码手搓 OpenAI gpt-oss 推理引...