Jae Duk Seo作者丁楠雅校对Nicola翻译

如何利用大规模无监督数据建立高水平特征?

本文带你一窥Twitter整个产品链的构成,了解数据科学是怎样在各类型公司中发挥作用的。

GIF来自:https://giphy.com/gifs/features-7BldZFcv2pof6

如何构建更厉害的特征检测器?我们可以通过无监督学习来做到这一点吗?

请注意,本文是一篇我自己留档用的回顾总结材料。

Paper来自此网站:

https://arxiv.org/pdf/1112.6209.pdf

摘要

这篇文章的作者们喜欢利用未标记数据制作特定的分类特征识别器。(例如,使用未标记的人脸图像制作人脸识别器。)为实现这一目标,作者在大型数据集上制作了一个9层的自动稀疏编码器。与普遍的认知相反,这可以在没有任何标签数据的情况下构建面部检测器,而且优于ImageNet数据的最新性能。 (在2012年)。

介绍

这篇文章的目的是只依靠未标记图像构建一个特定的分类特征识别器,同时这也是神经科学的构想:“人类大脑中存在高度特定类的神经元”,通常被非正式地称为“母神经元”。在传统的计算机视觉中,大多数研究人员使用标记数据来获得这些识别器,然而大量数据时就比较困难。这个实验的成功说明,可以从未标记数据中学习高级特征和母神经元。大多数这些方法(如自动稀疏编码器)仅仅可以用于低级特征,如边缘或斑点(edges or blobs)。

作者假设深度学习花费如此多时间的原因是由于缺少高级特征,例如,图像被重新调整得更小,这样的降级会破坏高级特征的学习。作者没有缩小图像,也没有使用大量计算能力。经证明,有可能从未标记的数据中学习更高级别的特性。最后,使用学习过滤器,他们能够超越ImageNet数据集的最新技术性能。(2012年)。

数据集结构/算法

如上所述,来自1000万个Youtube视频随机选择的片段,他们通过使用OpenCV脸部识别得出结论,在1000万个采样片段中,面部出现的概率不到3%。

这里使用的算法的灵感来自不同类型的无监督学习算法的成功。(RBM,稀疏自动编码器等......)。作者的目的是学习更高水平的特征,而不仅仅是低水平。

如上所述,作者使用的架构可以被认为是深度自动的稀疏编码器,带有一些转动(twist)同时它们也是局部感受器,池和局部响应归一化(使用了L2池)。堆叠(stacking)一系列统一模块,大脑所采用的架构是在选择性和允差层(tolerance layers)之间转换。有一件需要注意的重要的事是,虽然网络使用局部感受器,但是它们并不是卷积的(参数在图像中的不同位置不可共享),这在生物学上更合理。

学习和优化

在学习期间第二子层会被固定为均匀的权重,所有编码器和解码器中的其他权重通过上面的成本函数来处理。优化问题也称为重建地形独立成分分析(Topographic ICA),基本上第一项确保编码中关于数据的重要信息,第二项鼓励将有相似特征的特性组合在一起以实现方差。

这篇文章的作者使用了异步随机梯度下降(ASGD),并使用1000簇机器对网络进行了为期三天的处理。

面部实验

这个测试数据由37,000个来自Labeled FacesIn the Wild数据集和ImageNet数据集的图像组成。经过训练之后,作者使用测试集来测量每个神经元检测面部的表现。令人惊讶的是,最好的神经元能够以81.7%的准确度检测到面部。对于没有局对比度归一化的层,精度会降低至78.5%。

他们将激活值转化为直方图得到上面的图表,可以明显看出,即使没有标记数据,也是有可能训练人脸检测器的。

作者通过使用两种技术使神经元的刺激最大化。(使测试集里响应最积极的刺激物可视化,最大化数值以找到最佳刺激物)。这样可以验证神经元是否确实在寻找一张脸。并且通过额外的实验,结果显示已知的权重会对应不同的方差,例如,垂直方向或左右方向旋转和缩放。

猫和人体探测器

作者还想知道网络是否能够学习更高级别的特性例如猫和人体等。如上所述,网络中的一些神经元能够检测到更高级别特征的形状例如猫或人体。在他们自己的数据集上测试的结果显示在猫和人体上分别达到74.8%和76.7%。

通过ImageNet进行图像识别

在经过训练后的权重上添加一对所有逻辑分类器后,他们在ImageNet数据集上重新训练网络(此方法也称为无监督预训练),能够比当时的基线(2012年)表现得更好。在具有22,000类别的ImageNet上,它超越了其他最高结果70%。同时所有的表现都可以在上面的表格看到。

结论

总结来看,使用大量数据和计算机力量,有可能实现仅使用未标签数据识别脸部和身体高级性能。另外,这种方法会比2012年ImageNet数据集的基准线表现要优越。

尾声

这是一个非常酷的实验,但是所需的数据量特别大(以及计算能力),也许这就是它没有实现的原因。

参考

1,Le, Q., Ranzato, M., Monga, R., Devin, M., Chen, K., & Corrado, G. et al.(2011). Building high-level features using large scale unsupervised learning.Arxiv.org. Retrieved 15 August 2018, from https://arxiv.org/abs/1112.6209

原文标题:

 [ Google / ICML /Paper Summary ]Building High-level Features Using Large Scale Unsupervised Learning

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

理论ImageNet图像识别OpenCV神经科学深度学习人脸识别无监督学习
4
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

神经科学技术

神经科学,又称神经生物学,是专门研究神经系统的结构、功能、发育、演化、遗传学、生物化学、生理学、药理学及病理学的一门科学。对行为及学习的研究都是神经科学的分支。 对人脑研究是个跨领域的范畴,当中涉及分子层面、细胞层面、神经小组、大型神经系统,如视觉神经系统、脑干、脑皮层。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

独立成分分析技术

在统计学中,独立成分分析或独立分量分析(Independent components analysis,缩写:ICA) 是一种利用统计原理进行计算的方法。它是一个线性变换。这个变换把数据或信号分离成统计独立的非高斯的信号源的线性组合。独立成分分析是盲信号分离(Blind source separation)的一种特例。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

OpenCV技术

OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

推荐文章
暂无评论
暂无评论~