您的位置:首页 > 产品设计 > UI/UE

谷歌论文阅读:Building High-level Features Using Large Scale Unsupervised Learning

2017-06-12 10:24 525 查看
谷歌初次提出使用无监督学习进行特征学习,本人阅读论文后,将论文内容和理解发表如下,希望大家提出宝贵建议。

一、文章主要内容

(一)文章简介

本文主要研究内容是:使用大规模无监督的深度机器学习网络进行高级特征学习,目的是通过从无标签的大量图片数据中提取高级特征,从而进行图片的识别和分类。以往获得这些具有类特征的特征提取器往往强调标签图片数据的重要性,通过对大量标签图片数据进行训练学习,才能够获得图片中的高级特征。例如,如果要构建一种人脸部的特征提取器,需要大量的已经被人工标记出的是人脸部的图片,并且这些图片通常以人脸为边界,这就使图片数据的获取成为一个相当大的挑战。为解决上述问题,本文提出了一种新的无监督深度学习方法,即从无标签的图片数据中学习高级特征,这种方法得到的结果具有两个重要意义,首先,提出了一种从无标签的数据中提取特征的廉价方法;更为重要的是,解决了神经网络可以不能从无标签的数据中学习特征的问题。

无监督特征学习和深度学习已经成为从无标签的数据中构建特征的一种方法。本文从无标签的数据中进行特征学习就是一种无特征学习。本文从前人的方法中发现得到最好的结果需要很长时间对网络进行训练,如果减少训练时间,那么就会破坏高级特征。从而,本文自然的想到对训练网络,数据集,模型和计算资源进行扩展。首先,本文从YouTube上视频进行随机采样,获得大量的数据图片,本文构造的网络输入数据是200×200像素点的图片,远远大于前人(Krizhevsky, 2009; Ciresan等人,2010;Le等人,2010;Coates等人2011)工作中32×32像素点的图片。同时,在模型上,带有池化层与局部对比度归一化层的深度编码算法的大型计算机集群(由1000台计算机组成,每台计算机带有16个CPU,总16000的CPU核心)来处理庞大的图片数据,为支持并行计算,采用了由前人(Raina等人,2009;Le等人,2010;2011b)提出的局部感受野的概念,以减少不同计算机之间的通信开销以及实现计算机集群之间不同计算机的并行处理。本文使用异步SGD算法,使用该计算机集群对该网络进行了为期三天的训练,实验结果表明确实可以从不含标签的数据中进行特征学习。同时,本文进行对照实验,进一步说明特征学习识别器可以支持图片的平移,图片的缩放和平面外的旋转。

(二)训练集组成

本文所采用的图片数据来自YouTube网站中1000万个视频中的采样图片,每张图片大小为200×200像素点。同时使用OpenCV脸部识别器对采样的图片进行脸部的识别比例的分析,结果表明100000张图片中,低于3%的图片含有人脸。

(三)算法

主要分为三个部分。

第一部分,前人的工作。本文受到之前很多在无监督学习和深度学习成功的算法,并且本文受到稀疏编码很大的启发。前人方法有诸多缺点,比如,1996年的Olshausen & Field中提到的稀疏编码方法,该方法的体系结构过于简单并且只使用简单的低级的一些概念和简单的不变式。针对这个问题,在深度学习领域今年多人构建了特征表示的阶级方法,2008年Lee提出稀疏栈的RBM可以模仿相应简单的大脑皮质的V2区域的简单功能,这就证明卷积DBN(使用人脸对齐图像),该网络在训练是需要一定的监督,并且训练的图片必须是线性,同类,并且要来自同一种类中。

第二部分,本方法的体系结构。本文受到以上成功方法的启发,并且将三种重要的概念添加到深度稀疏编码算法,局部感受野,池化层和局部对比度归一化层。本文所提出的深度稀疏编码算法有三个阶段构成,每一阶段都是由局部卷积,池化层和局部对比度归一化层构成,上一阶段的输出为下一阶段的输入,构成一个9层的神经网络。第一子层是卷积层(简单),第二层是池化层(复杂),第三层是受生物模型和计算模型(2008年Pinto等人提出)启发的局部对比度归一化层。本文方法的中心思想是各个神经元之间局部链接的利用。在实验中,第一子层是18×18像素点的可接受域,第二子层是5×5的特征重叠邻域。第一子层的神经元链接所有输入通道的像素点,尽管在第二子层的神经元仅有一个输入通道。第二子层输出输入数据的平方和的方根,因此,第二层成为L2池化层。

本文所使用的方法虽然应用到了局部感受野,但是构成的网络不是卷积网络,在输入的图片中不同位置的参数是不共享的。这与之前的工作有着明显的不同。

第三部分,特征学习和参数优化。

在特征学习中,第二子层的参数H是固定的,第一子层的编码权重W1和解码权重W2根据以下公式进行调整:

其中, 是稀疏和重建的参数,m、k分别是用例的数量和池化单元的数量, 是第j个池化单元的权重向量,在本实验中, =0.1。

       在本文所提出的模型中,所有网络中的参数都是共同训练。为获得理想的模型,本文实现了模型级别的并发操作,即将局部权重W1,W2和H分发给不同的计算机,例如,本实验使用169台计算机,每台计算机16个CPU核心。一组聚集的计算机构成实验模型的一个简单的副本。并且,实现了一款DistBelief的软件框架用来管理简单副本之间必要的通信活动,以确保用户可以方便快捷的上载或下载所需要的函数功能,而不用担心软件底层的跨计算机的数据通信。同时,本文实现了同步SGD算法,将训练分为5个部分,在每一部分上均运行模型的副本,利用中央参数服务器确保在每一个部分中参数都是最新的。以最简单的实现方法为例,在执行每一个mini-batch之前,模型副本向中央参数服务器发送请求以获取最新的参数,然后计算每一个mini-batch的参数梯度下降值,再将该值发送回中央参数服务器,更新服务器中的值。在实际的实验中,本文每P步和每G步(p≠G)向服务器发送请求和参数,以达到减少通信开销的目的。

       同时,异步SGD算法比同步SGD算法在失败效率上和迟钝上更健壮。异步SGD算法在整体的训练进程上比同步SGD算法更高效,不会出现同步延迟。

(四)人脸识别的实验结果

本节主要介绍在识别人脸上的特征表示的分析结果和对照实验结果。

测试集使用来自Wild数据集和ImageNet数据集的37000张图片,其中Wild有13026张图片,其余为ImageNet。

实验结果表明,网络中识别人脸准确度最高的神经元的准确率可以达到87.1%,13026张图片中,考虑所有负面影响准确率为64.8%。一层网络中识别人脸准确度最高的神经元的准确率达到71%,对比目前最好的线性卷积算法,选取100000张带有标签的图片,准确率才达到74%。在实验中,移除局部对比归一化层之后,识别人脸准确度最高的神经元的准确率下降到78.5%。

本实验为评价该网络特征识别的健壮性,采用目标转化的方法,例如,图像平移,缩放,平面外旋转等。本实验就上述每一种转化的方法使用十张图片作为测试集来验证该网络特征识别的健壮性,结果表明,网络中的神经元对复杂的变化足够健壮。

(五)猫和人身体的特征识别

本网络可以对人脸进行特征识别,本文也验证了该网络可以识别其他高级的特征,例如,猫的脸和人的身体。为回答上述问题,本文采用两个数据集,一种是随机背景的人身体图片,一种是随机背景的猫脸图片。

猫脸图片中10000张为正面,18409张是背面。人身体图片中13026张图片是正面,23974张是背面图。根据所得图片,本文进行了与人脸识别相同的实验,结果表面,该网络不但可以学习人脸的特征,也可以学习到猫脸和人身体的特征。识别的准确分别达到了74.8%和76.7%,高于线性卷积相比的67.2%和68.1%。

(六)ImageNet图片的目标识别

本文将上述的特征学习方法对ImageNet图片的进行识别,该网络已经YouTube和ImageNet网站图片进行训练。实验结果表明,本文中实现的目标特征学习的方法明显优于目前最好的人工设计的特征。本文所使用的方法对ImageNet网站中10000种类别进行学习,所得到结果比目前最有的结果有15%准确率的提升,对22000种类别进行学习,得到70%准确率的提升(随机推测算法的准确率低于0.005%)。

(七)结论

本文采用无标签数据模拟了高级类相关的神经元。从进来的机器学习算法种使用无标签数据实现神经元的模拟,采用异步SGD算法和模型并行实现在大型的计算机集群上实现该网络。实验表明训练神经元使用完全无标签的数据选择性学习高级特征是可能实现的,在试验中,本文对人脸,人类身体,猫脸进行了训练测试。通过获得的高级特征,在ImageNet网站上,10000种类别识别准确率提升15.8%,22000种类别识别准确率提升70%。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  谷歌 机器学习 图片
相关文章推荐