《Building High-level Features Using Large Scale Unsupervised Learning》论文学习
文章目录
摘要
我们考虑仅从未标记的数据构建高级的、特定于类的特征检测器的问题。例如,是否有可能只使用未标记的图像来学习面部检测器?为了回答这个问题,我们在一个大的图像数据集(模型有10亿个连接,数据集有1000万个从互联网下载的200x200像素的图像)上训练了一个9层的局部连接稀疏自动编码器与池化和局部对比度归一化。我们在一个拥有1000台机器(16000核)的集群上使用模型并行性和异步SGD对这个网络进行了三天的训练。与人们普遍持有的直觉相反,我们的实验结果显示,无需标记图像是否包含人脸,就可以训练人脸检测器。控制实验表明,该特征检测器不仅对平移具有鲁棒性,而且对缩放和平面外旋转也具有鲁棒性。我们还发现,这个网络对其他高级概念,如猫的脸和人的身体,也很敏感。从这些学习到的特征开始,我们训练我们的网络在从ImageNet识别20000个对象类别时获得了 15.8% 的准确率,相对于之前的技术水平有了 70% 的飞跃。
1 介绍
这项工作的重点是从未标记的图像构建高级的、特定于类的特征检测器。例如,我们想知道是否有可能只从未标记的图像构建一个面部检测器。这种方法是受到神经科学猜想的启发,即人类大脑中存在高度分类特异性的神经元,通常被非正式地称为“祖母神经元”。大脑中神经元的类别特异性是一个活跃的研究领域,但目前的实验证据表明,颞叶皮层中的一些神经元可能对面孔或手(《Stimulus-selective properties of inferior temporal neurons in the macaque》)等物体类别,甚至可能对特定的人(《Invariant visual representation by single neurons in the human brain》),具有高度选择性。
当代计算机视觉方法通常强调标记数据的作用,以获得这些类特定的特征检测器。例如,要构建一个人脸检测器,需要大量标记为包含人脸的图像,通常在人脸周围有一个边界框。对大型标记集的需求对标记数据稀少的问题提出了重大挑战。尽管使用廉价的未标记数据的方法通常是首选,但它们在构建高级特性方面并没有显示出良好的效果。
这项工作研究了仅从未标记的数据构建高级特征的可行性。对这个问题的肯定回答将产生两个重要的结果。实际上,这提供了一种从未标记数据开发特性的廉价方法。但也许更重要的是,它回答了一个有趣的问题,即“祖母神经元”的特异性是否可能从未标记的数据中习得。非正式地说,这意味着婴儿学习将面孔分成一组是因为他看到过很多面孔,而不是因为受到监督或奖励的引导,至少在原理上是可能的。
无监督特征学习和深度学习已经成为从未标记数据构建特征的机器学习方法。使用自然环境下的未标记数据来学习特征是自学学习框架背后的关键思想(《Self-taught learning: Transfer learning from unlabelled data》)。成功的特征学习算法及其应用可以在最近的文献中找到,使用各种方法,如RBMs (《A fast learning algorithm for deep belief nets》),自动编码器(《Reducing the dimensionality of data with neural networks》,《Greedy layerwise training of deep networks》)、稀疏编码(《Efficient sparse coding algorithms》)和K-means(《An analysis of singlelayer networks in unsupervised feature learning》)。到目前为止,大多数算法只成功地学习了低层次的特征,如“边缘”或“斑点”检测器。超越这些简单的特征并捕获复杂的不变性是本工作的主题。
最近的研究发现,训练深度学习算法以产生最先进的结果是相当耗时的(《Deep big simple neural nets excel on handwritten digit recognition》)。我们推测,长时间的训练是缺乏文献中报道的高级特征的部分原因。例如,研究人员通常会减少数据集和模型的大小,以便在实际时间内训练网络,而这些减少破坏了高级特征的学习。
我们通过扩大训练深度网络的核心组件来解决这个问题:数据集、模型和计算资源。首先,我们使用从随机YouTube视频中抽取随机帧生成的大数据集我们的输入数据是200x200张图像,比深度学习和无监督特征学习中使用的典型32x32张图像要大得多(《Learning multiple layers of features from tiny images》,《Deep big simple neural nets excel on handwritten digit recognition》,《An analysis of singlelayer networks in unsupervised feature learning》)。我们的模型是一个具有池化和局部对比度归一化的深度自动编码器,使用大型计算机集群将其缩放到这些大图像。为了支持这个集群上的并行性,我们使用了局部接受域的思想,例如(《Large-scale deep unsupervised learning using graphics processors》,《Tiled convolutional neural networks》,《On optimization methods for deep learning》)。这种思想降低了机器之间的通信成本,从而允许模型并行(参数分布在机器之间)。采用异步SGD来支持数据并行。模型在一个拥有1000台机器(16000核)的集群上以分布式方式训练了三天。
使用分类和可视化的实验结果证实,从未标记的数据构建高级特征确实是可能的。特别是,使用由面孔和干扰物组成的hold-out测试集,我们发现了一个对面孔具有高度选择性的特征。数值优化可视化结果验证了这一结果。控制实验表明,学习后的检测器不仅对平移鲁棒,而且对平面外旋转和缩放也鲁棒。
类似的实验表明,该网络还学习了猫的脸和人体的概念。
习得的表征也具有辨别性。利用学习到的特征,我们在ImageNet上获得了目标识别的显著飞跃。例如,在ImageNet上有20000个类别,我们的准确率达到了 15.8% ,比目前的水平提高了 70% 。
2 训练集构造
我们的训练数据集是由1000万YouTube视频的采样帧构建的。为了避免重复,每个视频只向数据集贡献一个图像。每个示例都是一个200x200像素的彩色图像。
训练图像的子集如附录A所示。为了检查数据集中的人脸比例,我们在数据集上的60×60随机采样的patch上运行OpenCV人脸检测器。本实验表明,OpenCV人脸检测器检测到的作为人脸的patch在10万个采样patch中所占的比例不到 3% 。
3 算法
在本节中,我们将描述从未标记训练集中学习特征的算法。
3.1 先前的工作
我们的工作受到了最近在无监督特征学习和深度学习中成功算法的启发(《Reducing the dimensionality of data with neural networks》,《Scaling learning algorithms towards AI》,《Unsupervised learning of invariant feature hierarchies with applications to object recognition》,《Efficient sparse coding algorithms》)。它深受Olshausen等人关于稀疏编码的研究,稀疏编码可以对未标记的自然图像进行训练,产生类似于V1简单细胞的接受域(《Receptive fields of single neurons in the the cat s visual cortex》)。
早期方法的一个缺点是稀疏编码(《Emergence of simple-cell receptive field properties by learning a sparse code for natural images》)的问题在于,他们的架构是浅薄的,通常捕获低级概念(例如边缘Gabor过滤器)和简单的不变性。解决这个问题是最近深度学习研究的一个重点(《A fast learning algorithm for deep belief nets》,《Greedy layerwise training of deep networks》,《Scaling learning algorithms towards AI》,《Sparse deep belief net model for visual area V2》,《Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations》),它构建了特征表示的层次结构。特别地,Lee等人(《Sparse deep belief net model for visual area V2》)表明堆叠稀疏RBMs可以模拟大脑皮层V2区域的某些简单功能。他们还证明了卷积DBNs (《Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations》),在对齐的人脸图像上训练,可以学习人脸检测器。这个结果很有趣,但不幸的是,在数据集构建过程中需要一定程度的监督:他们的训练图像(即Caltech101图像)是对齐的,同质的,并且属于一个选定的类别。
3.2 架构
我们的算法是建立在这些思想之上的,可以看作是一个稀疏深度自动编码器,具有三个重要的成分:局部接受域、池化和局部对比度归一化。首先,为了将自动编码器放大到大图像,我们使用了一个简单的想法,即局部接受域(《Gradient based learning applied to document recognition》,《Large-scale deep unsupervised learning using graphics processors》,《Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations》,《Tiled convolutional neural networks》)。这个受生物学启发的想法提出,自动编码器的每个特征只能连接到较低层的一个小区域。接下来,为了实现对局部变形的不变性,我们使用了局部L2池(《Natural Image Statistics》,《Tiled convolutional neural networks》)和局部对比度归一化(《What is the best multi-stage architecture for object recognition》)。特别是L2池化,允许不变特征的学习(《Natural Image Statistics》,《Tiled convolutional neural networks》)。

我们的深度自动编码器是通过复制三次由局部滤波、局部池化和局部对比度归一化组成的同一阶段来构造的。一个阶段的输出是下一个阶段的输入,整个模型可以解释为一个九层网络(见图1)。
第一和第二子层通常分别称为过滤(或简单)和池(或复杂)。第三个子层执行局部减法和分裂规范化,它受到生物和计算模型的启发(《Why is real-world visual object recognition hard?》,《Nonlinear image representation using divisive normalization》,《What is the best multi-stage architecture for object recognition?》)。
如上所述,我们方法的核心是利用神经元之间的局部连接。在我们的实验中,第一子层有18x18像素的接受域,第二子层和第二子层池超过5x5重叠的特征邻域(即池大小)。第一子层的神经元连接到所有输入通道(或映射)的像素,而第二子层的神经元只连接到一个通道(或映射)的像素第一个子层输出线性滤波器响应,池化层输出其输入平方和的平方根,因此,它被称为L2池化。
我们堆叠一系列统一模块,在选择性和容忍层之间切换的风格,让人想起了Neocognition和HMAX (《Neocognitron: A new algorithm for pattern recognition tolerant of deformations and shifts in position》,《Gradient based learning applied to document recognition》,《Hierarchical models of object recognition in cortex》)。它也被认为是大脑使用的一种架构(《How does the brain solve visual object recognition》)。
虽然我们使用了局部接受域,但它们不是卷积的:参数在图像的不同位置不共享。这是我们的方法与以前工作的明显不同(《Gradient based learning applied to d
大规模无监督学习构建高级特征

最低0.47元/天 解锁文章
1683

被折叠的 条评论
为什么被折叠?



